+++ /dev/null
-/**\r
-**/\r
-/**\r
-\r
-Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved\r
-\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-\r
-\r
- @file\r
- ActiveBios.h\r
-\r
- @brief\r
- This protocol is used to report and control what BIOS is mapped to the\r
- BIOS address space anchored at 4GB boundary.\r
-\r
- This protocol is EFI compatible.\r
-\r
- E.G. For current generation ICH, the 4GB-16MB to 4GB range can be mapped\r
- to PCI, SPI, or FWH.\r
-\r
-**/\r
-#ifndef _EFI_ACTIVE_BIOS_PROTOCOL_H_\r
-#define _EFI_ACTIVE_BIOS_PROTOCOL_H_\r
-\r
-\r
-\r
-\r
-//\r
-#define EFI_ACTIVE_BIOS_PROTOCOL_GUID \\r
- { \\r
- 0xebbe2d1b, 0x1647, 0x4bda, 0xab, 0x9a, 0x78, 0x63, 0xe3, 0x96, 0xd4, 0x1a \\r
- }\r
-extern EFI_GUID gEfiActiveBiosProtocolGuid;\r
-\r
-///\r
-/// Forward reference for ANSI C compatibility\r
-///\r
-typedef struct _EFI_ACTIVE_BIOS_PROTOCOL EFI_ACTIVE_BIOS_PROTOCOL;\r
-\r
-///\r
-/// Protocol definitions\r
-///\r
-typedef enum {\r
- ActiveBiosStateSpi,\r
- ActiveBiosStatePci, /// Obsolete since VLV\r
- ActiveBiosStateLpc,\r
- ActiveBiosStateMax\r
-} EFI_ACTIVE_BIOS_STATE;\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_ACTIVE_BIOS_SET_ACTIVE_BIOS_STATE) (\r
- IN EFI_ACTIVE_BIOS_PROTOCOL * This,\r
- IN EFI_ACTIVE_BIOS_STATE DesiredState,\r
- IN UINTN Key\r
- )\r
-/**\r
-\r
- @brief\r
- Change the current active BIOS settings to the requested state.\r
- The caller is responsible for requesting a supported state from\r
- the EFI_ACTIVE_BIOS_STATE selections.\r
- This will fail if someone has locked the interface and the correct key is\r
- not provided.\r
-\r
- @param[in] This Pointer to the EFI_ACTIVE_BIOS_PROTOCOL instance.\r
- @param[in] DesiredState The requested state to configure the system for.\r
- @param[in] Key If the interface is locked, Key must be the Key\r
- returned from the LockState function call.\r
-\r
- @retval EFI_SUCCESS The function completed successfully\r
- @retval EFI_ACCESS_DENIED The interface is currently locked.\r
-\r
-**/\r
-;\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_ACTIVE_BIOS_LOCK_ACTIVE_BIOS_STATE) (\r
- IN EFI_ACTIVE_BIOS_PROTOCOL * This,\r
- IN BOOLEAN Lock,\r
- IN OUT UINTN *Key\r
- );\r
-\r
-/**\r
-\r
- @brief\r
- Lock the current active BIOS state from further changes. This allows a\r
- caller to implement a critical section. This is optionally supported\r
- functionality. Size conscious implementations may choose to require\r
- callers cooperate without support from this protocol.\r
-\r
- @param[in] This Pointer to the EFI_ACTIVE_BIOS_PROTOCOL instance.\r
- @param[in] Lock TRUE to lock the current state, FALSE to unlock.\r
- @param[in] Key If Lock is TRUE, then a key will be returned. If\r
- Lock is FALSE, the key returned from the prior call\r
- to lock the protocol must be provided to unlock the\r
- protocol. The value of Key is undefined except that\r
- it cannot be 0.\r
-\r
- @retval EFI_SUCCESS Command succeed.\r
- @exception EFI_UNSUPPORTED The function is not supported.\r
- @retval EFI_ACCESS_DENIED The interface is currently locked.\r
- @retval EFI_DEVICE_ERROR Device error, command aborts abnormally.\r
-\r
-**/\r
-\r
-///\r
-/// Protocol definition\r
-///\r
-/// Note that some functions are optional. This means that they may be NULL.\r
-/// Caller is required to verify that an optional function is defined by checking\r
-/// that the value is not NULL.\r
-///\r
-struct _EFI_ACTIVE_BIOS_PROTOCOL {\r
- EFI_ACTIVE_BIOS_STATE State;\r
- EFI_ACTIVE_BIOS_SET_ACTIVE_BIOS_STATE SetState;\r
- EFI_ACTIVE_BIOS_LOCK_ACTIVE_BIOS_STATE LockState;\r
-};\r
-\r
-#endif\r