Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
https://svn.code.sf.net/p/edk2/code/trunk/edk2/, which are for MinnowBoard MAX open source project. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: David Wei <david.wei@intel.com> Reviewed-by: Mike Wu <mike.wu@intel.com> Reviewed-by: Hot Tian <hot.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16599 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -0,0 +1,131 @@
|
||||
/**
|
||||
This protocol is used to report and control what BIOS is mapped to the
|
||||
BIOS address space anchored at 4GB boundary.
|
||||
|
||||
This protocol is EFI compatible.
|
||||
|
||||
E.G. For current generation ICH, the 4GB-16MB to 4GB range can be mapped
|
||||
to PCI, SPI, or FWH.
|
||||
|
||||
Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
|
||||
#ifndef _EFI_ACTIVE_BIOS_PROTOCOL_H_
|
||||
#define _EFI_ACTIVE_BIOS_PROTOCOL_H_
|
||||
|
||||
//
|
||||
// Define the protocol GUID
|
||||
//
|
||||
#define EFI_ACTIVE_BIOS_PROTOCOL_GUID \
|
||||
{ 0xebbe2d1b, 0x1647, 0x4bda, {0xab, 0x9a, 0x78, 0x63, 0xe3, 0x96, 0xd4, 0x1a} }
|
||||
|
||||
typedef struct _EFI_ACTIVE_BIOS_PROTOCOL EFI_ACTIVE_BIOS_PROTOCOL;
|
||||
|
||||
//
|
||||
// Protocol definitions
|
||||
//
|
||||
typedef enum {
|
||||
ActiveBiosStateSpi,
|
||||
ActiveBiosStatePci,
|
||||
ActiveBiosStateLpc,
|
||||
ActiveBiosStateMax
|
||||
} EFI_ACTIVE_BIOS_STATE;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ACTIVE_BIOS_SET_ACTIVE_BIOS_STATE) (
|
||||
IN EFI_ACTIVE_BIOS_PROTOCOL *This,
|
||||
IN EFI_ACTIVE_BIOS_STATE DesiredState,
|
||||
IN UINTN Key
|
||||
);
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Change the current active BIOS settings to the requested state.
|
||||
The caller is responsible for requesting a supported state from
|
||||
the EFI_ACTIVE_BIOS_STATE selections.
|
||||
|
||||
This will fail if someone has locked the interface and the correct key is
|
||||
not provided.
|
||||
|
||||
Arguments:
|
||||
|
||||
This Pointer to the EFI_ACTIVE_BIOS_PROTOCOL instance.
|
||||
DesiredState The requested state to configure the system for.
|
||||
Key If the interface is locked, Key must be the Key
|
||||
returned from the LockState function call.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS Command succeed.
|
||||
EFI_ACCESS_DENIED The interface is currently locked.
|
||||
EFI_DEVICE_ERROR Device error, command aborts abnormally.
|
||||
|
||||
--*/
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_ACTIVE_BIOS_LOCK_ACTIVE_BIOS_STATE) (
|
||||
IN EFI_ACTIVE_BIOS_PROTOCOL *This,
|
||||
IN BOOLEAN Lock,
|
||||
IN OUT UINTN *Key
|
||||
);
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Lock the current active BIOS state from further changes. This allows a
|
||||
caller to implement a critical section. This is optionally supported
|
||||
functionality. Size conscious implementations may choose to require
|
||||
callers cooperate without support from this protocol.
|
||||
|
||||
Arguments:
|
||||
|
||||
This Pointer to the EFI_ACTIVE_BIOS_PROTOCOL instance.
|
||||
Lock TRUE to lock the current state, FALSE to unlock.
|
||||
Key If Lock is TRUE, then a key will be returned. If
|
||||
Lock is FALSE, the key returned from the prior call
|
||||
to lock the protocol must be provided to unlock the
|
||||
protocol. The value of Key is undefined except that it
|
||||
will never be 0.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS Command succeed.
|
||||
EFI_UNSUPPORTED The function is not supported.
|
||||
EFI_ACCESS_DENIED The interface is currently locked.
|
||||
EFI_DEVICE_ERROR Device error, command aborts abnormally.
|
||||
|
||||
--*/
|
||||
|
||||
//
|
||||
// Protocol definition
|
||||
//
|
||||
// Note that some functions are optional. This means that they may be NULL.
|
||||
// Caller is required to verify that an optional function is defined by checking
|
||||
// that the value is not NULL.
|
||||
//
|
||||
struct _EFI_ACTIVE_BIOS_PROTOCOL {
|
||||
EFI_ACTIVE_BIOS_STATE State;
|
||||
EFI_ACTIVE_BIOS_SET_ACTIVE_BIOS_STATE SetState;
|
||||
EFI_ACTIVE_BIOS_LOCK_ACTIVE_BIOS_STATE LockState;
|
||||
};
|
||||
|
||||
//
|
||||
// Extern the GUID for protocol users.
|
||||
//
|
||||
extern EFI_GUID gEfiActiveBiosProtocolGuid;
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user