mirror of
https://github.com/xcat2/xNBA.git
synced 2025-02-19 20:14:34 +00:00
[efi] Update to current EDK2 headers
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
34576e5ff4
commit
bc41c6ef02
@ -6,7 +6,7 @@
|
||||
environment. There are a set of base libraries in the Mde Package that can
|
||||
be used to implement base modules.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@ -395,6 +395,7 @@ struct _LIST_ENTRY {
|
||||
// VA_END (VA_LIST Marker) - Clear Marker
|
||||
// VA_ARG (VA_LIST Marker, var arg size) - Use Marker to get an argument from
|
||||
// the ... list. You must know the size and pass it in this macro.
|
||||
// VA_COPY (VA_LIST Dest, VA_LIST Start) - Initialize Dest as a copy of Start.
|
||||
//
|
||||
// example:
|
||||
//
|
||||
@ -456,6 +457,13 @@ struct _LIST_ENTRY {
|
||||
|
||||
#define VA_END(Marker) ((void)0)
|
||||
|
||||
// For some ARM RVCT compilers, __va_copy is not defined
|
||||
#ifndef __va_copy
|
||||
#define __va_copy(dest, src) ((void)((dest) = (src)))
|
||||
#endif
|
||||
|
||||
#define VA_COPY(Dest, Start) __va_copy (Dest, Start)
|
||||
|
||||
#elif defined(__GNUC__) && !defined(NO_BUILTIN_VA_FUNCS)
|
||||
//
|
||||
// Use GCC built-in macros for variable argument lists.
|
||||
@ -473,6 +481,8 @@ typedef __builtin_va_list VA_LIST;
|
||||
|
||||
#define VA_END(Marker) __builtin_va_end (Marker)
|
||||
|
||||
#define VA_COPY(Dest, Start) __builtin_va_copy (Dest, Start)
|
||||
|
||||
#else
|
||||
///
|
||||
/// Variable used to traverse the list of arguments. This type can vary by
|
||||
@ -528,6 +538,19 @@ typedef CHAR8 *VA_LIST;
|
||||
**/
|
||||
#define VA_END(Marker) (Marker = (VA_LIST) 0)
|
||||
|
||||
/**
|
||||
Initializes a VA_LIST as a copy of an existing VA_LIST.
|
||||
|
||||
This macro initializes Dest as a copy of Start, as if the VA_START macro had been applied to Dest
|
||||
followed by the same sequence of uses of the VA_ARG macro as had previously been used to reach
|
||||
the present state of Start.
|
||||
|
||||
@param Dest VA_LIST used to traverse the list of arguments.
|
||||
@param Start VA_LIST used to traverse the list of arguments.
|
||||
|
||||
**/
|
||||
#define VA_COPY(Dest, Start) ((void)((Dest) = (Start)))
|
||||
|
||||
#endif
|
||||
|
||||
///
|
||||
@ -678,10 +701,22 @@ typedef UINTN *BASE_LIST;
|
||||
@return Minimum of two operands.
|
||||
|
||||
**/
|
||||
|
||||
#define MIN(a, b) \
|
||||
(((a) < (b)) ? (a) : (b))
|
||||
|
||||
/**
|
||||
Return the absolute value of a signed operand.
|
||||
|
||||
This macro returns the absolute value of the signed operand specified by a.
|
||||
|
||||
@param a The signed operand.
|
||||
|
||||
@return The absolute value of the signed operand.
|
||||
|
||||
**/
|
||||
#define ABS(a) \
|
||||
(((a) < 0) ? (-(a)) : (a))
|
||||
|
||||
//
|
||||
// Status codes common to all execution phases
|
||||
//
|
||||
@ -884,6 +919,12 @@ typedef UINTN RETURN_STATUS;
|
||||
///
|
||||
#define RETURN_INVALID_LANGUAGE ENCODE_ERROR (32)
|
||||
|
||||
///
|
||||
/// The security status of the data is unknown or compromised
|
||||
/// and the data must be updated or replaced to restore a valid
|
||||
/// security status.
|
||||
///
|
||||
#define RETURN_COMPROMISED_DATA ENCODE_ERROR (33)
|
||||
|
||||
///
|
||||
/// The string contained one or more characters that
|
||||
@ -908,6 +949,12 @@ typedef UINTN RETURN_STATUS;
|
||||
///
|
||||
#define RETURN_WARN_BUFFER_TOO_SMALL ENCODE_WARNING (4)
|
||||
|
||||
///
|
||||
/// The data has not been updated within the timeframe set by
|
||||
/// local policy for this type of data.
|
||||
///
|
||||
#define RETURN_WARN_STALE_DATA ENCODE_WARNING (5)
|
||||
|
||||
/**
|
||||
Returns a 16-bit signature built from 2 ASCII characters.
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Processor or Compiler specific defines and types for IA-32 architecture.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, 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
|
||||
@ -149,7 +149,7 @@ FILE_LICENCE ( BSD3 );
|
||||
///
|
||||
/// 1-byte signed value.
|
||||
///
|
||||
typedef char INT8;
|
||||
typedef signed char INT8;
|
||||
#else
|
||||
///
|
||||
/// 8-byte unsigned value.
|
||||
@ -196,7 +196,7 @@ FILE_LICENCE ( BSD3 );
|
||||
///
|
||||
/// 1-byte signed value
|
||||
///
|
||||
typedef char INT8;
|
||||
typedef signed char INT8;
|
||||
#endif
|
||||
|
||||
///
|
||||
@ -247,13 +247,17 @@ typedef INT32 INTN;
|
||||
/// Microsoft* compiler specific method for EFIAPI calling convention.
|
||||
///
|
||||
#define EFIAPI __cdecl
|
||||
#elif defined(__GNUC__)
|
||||
///
|
||||
/// GCC specific method for EFIAPI calling convention.
|
||||
///
|
||||
#define EFIAPI __attribute__((cdecl))
|
||||
#else
|
||||
#if defined(__GNUC__)
|
||||
///
|
||||
/// GCC specific method for EFIAPI calling convention.
|
||||
///
|
||||
#define EFIAPI __attribute__((cdecl))
|
||||
#endif
|
||||
///
|
||||
/// The default for a non Microsoft* or GCC compiler is to assume the EFI ABI
|
||||
/// is the standard.
|
||||
///
|
||||
#define EFIAPI
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__)
|
||||
|
7218
src/include/ipxe/efi/Library/BaseLib.h
Normal file
7218
src/include/ipxe/efi/Library/BaseLib.h
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Include file matches things in PI.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2011, 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
|
||||
@ -11,7 +11,7 @@ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
PI Version 1.0
|
||||
PI Version 1.2
|
||||
|
||||
**/
|
||||
|
||||
@ -371,7 +371,8 @@ EFI_STATUS
|
||||
BaseAddress and Length cannot be modified.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough system resources to modify the attributes of
|
||||
the memory resource range.
|
||||
|
||||
@retval EFI_NOT_AVAILABLE_YET The attributes cannot be set because CPU architectural protocol is
|
||||
not available yet.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@ -656,8 +657,10 @@ EFI_STATUS
|
||||
//
|
||||
// DXE Services Table
|
||||
//
|
||||
#define DXE_SERVICES_SIGNATURE 0x565245535f455844ULL
|
||||
#define DXE_SERVICES_REVISION ((1<<16) | (00))
|
||||
#define DXE_SERVICES_SIGNATURE 0x565245535f455844ULL
|
||||
#define DXE_SPECIFICATION_MAJOR_REVISION 1
|
||||
#define DXE_SPECIFICATION_MINOR_REVISION 20
|
||||
#define DXE_SERVICES_REVISION ((DXE_SPECIFICATION_MAJOR_REVISION<<16) | (DXE_SPECIFICATION_MINOR_REVISION))
|
||||
|
||||
typedef struct {
|
||||
///
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The firmware file related definitions in PI.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2011, 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
|
||||
@ -36,8 +36,7 @@ typedef union {
|
||||
///
|
||||
/// If the FFS_ATTRIB_CHECKSUM (see definition below) bit of the Attributes
|
||||
/// field is set to one, the IntegrityCheck.Checksum.File field is an 8-bit
|
||||
/// checksum of the entire file The State field and the file tail are assumed to be zero
|
||||
/// and the checksum is calculated such that the entire file sums to zero.
|
||||
/// checksum of the file data.
|
||||
/// If the FFS_ATTRIB_CHECKSUM bit of the Attributes field is cleared to zero,
|
||||
/// the IntegrityCheck.Checksum.File field must be initialized with a value of
|
||||
/// 0xAA. The IntegrityCheck.Checksum.File field is valid any time the
|
||||
@ -176,9 +175,18 @@ typedef struct {
|
||||
/// If FFS_ATTRIB_LARGE_FILE is set in Attributes, then ExtendedSize exists and Size must be set to zero.
|
||||
/// If FFS_ATTRIB_LARGE_FILE is not set then EFI_FFS_FILE_HEADER is used.
|
||||
///
|
||||
EFI_FFS_FILE_STATE ExtendedSize;
|
||||
UINT32 ExtendedSize;
|
||||
} EFI_FFS_FILE_HEADER2;
|
||||
|
||||
#define IS_FFS_FILE2(FfsFileHeaderPtr) \
|
||||
(((((EFI_FFS_FILE_HEADER *) (UINTN) FfsFileHeaderPtr)->Attributes) & FFS_ATTRIB_LARGE_FILE) == FFS_ATTRIB_LARGE_FILE)
|
||||
|
||||
#define FFS_FILE_SIZE(FfsFileHeaderPtr) \
|
||||
((UINT32) (*((UINT32 *) ((EFI_FFS_FILE_HEADER *) (UINTN) FfsFileHeaderPtr)->Size) & 0x00ffffff))
|
||||
|
||||
#define FFS_FILE2_SIZE(FfsFileHeaderPtr) \
|
||||
(((EFI_FFS_FILE_HEADER2 *) (UINTN) FfsFileHeaderPtr)->ExtendedSize)
|
||||
|
||||
typedef UINT8 EFI_SECTION_TYPE;
|
||||
|
||||
///
|
||||
@ -473,8 +481,14 @@ typedef struct {
|
||||
CHAR16 VersionString[1];
|
||||
} EFI_VERSION_SECTION2;
|
||||
|
||||
#define IS_SECTION2(SectionHeaderPtr) \
|
||||
((UINT32) (*((UINT32 *) ((EFI_COMMON_SECTION_HEADER *) (UINTN) SectionHeaderPtr)->Size) & 0x00ffffff) == 0x00ffffff)
|
||||
|
||||
#define SECTION_SIZE(SectionHeaderPtr) \
|
||||
((UINT32) (*((UINT32 *) ((EFI_COMMON_SECTION_HEADER *) SectionHeaderPtr)->Size) & 0x00ffffff))
|
||||
((UINT32) (*((UINT32 *) ((EFI_COMMON_SECTION_HEADER *) (UINTN) SectionHeaderPtr)->Size) & 0x00ffffff))
|
||||
|
||||
#define SECTION2_SIZE(SectionHeaderPtr) \
|
||||
(((EFI_COMMON_SECTION_HEADER2 *) (UINTN) SectionHeaderPtr)->ExtendedSize)
|
||||
|
||||
#pragma pack()
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
PI Version 1.2B
|
||||
PI Version 1.2C
|
||||
|
||||
**/
|
||||
|
||||
@ -75,7 +75,7 @@ typedef UINT32 EFI_FVB_ATTRIBUTES_2;
|
||||
#define EFI_FVB2_ALIGNMENT_64K 0x00100000
|
||||
#define EFI_FVB2_ALIGNMENT_128K 0x00110000
|
||||
#define EFI_FVB2_ALIGNMENT_256K 0x00120000
|
||||
#define EFI_FVB2_ALIGNMNET_512K 0x00130000
|
||||
#define EFI_FVB2_ALIGNMENT_512K 0x00130000
|
||||
#define EFI_FVB2_ALIGNMENT_1M 0x00140000
|
||||
#define EFI_FVB2_ALIGNMENT_2M 0x00150000
|
||||
#define EFI_FVB2_ALIGNMENT_4M 0x00160000
|
||||
@ -207,13 +207,15 @@ typedef struct {
|
||||
///
|
||||
/// An array of GUIDs, each GUID representing an OEM file type.
|
||||
///
|
||||
EFI_GUID Types[1];
|
||||
/// EFI_GUID Types[1];
|
||||
///
|
||||
} EFI_FIRMWARE_VOLUME_EXT_ENTRY_OEM_TYPE;
|
||||
|
||||
#define EFI_FV_EXT_TYPE_GUID_TYPE 0x0002
|
||||
|
||||
///
|
||||
/// This extension header provides a mapping between a GUID and an OEM file type.
|
||||
/// This extension header EFI_FIRMWARE_VOLUME_EXT_ENTRY_GUID_TYPE provides a vendor specific
|
||||
/// GUID FormatType type which includes a length and a successive series of data bytes.
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
@ -227,7 +229,8 @@ typedef struct {
|
||||
///
|
||||
/// An arry of bytes of length Length.
|
||||
///
|
||||
UINT8 Data[1];
|
||||
/// UINT8 Data[1];
|
||||
///
|
||||
} EFI_FIRMWARE_VOLUME_EXT_ENTRY_GUID_TYPE;
|
||||
|
||||
#endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
HOB related definitions in PI.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2011, 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
|
||||
@ -251,21 +251,21 @@ typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;
|
||||
//
|
||||
// These types can be ORed together as needed.
|
||||
//
|
||||
// The first three enumerations describe settings
|
||||
// The following attributes are used to describe settings
|
||||
//
|
||||
#define EFI_RESOURCE_ATTRIBUTE_PRESENT 0x00000001
|
||||
#define EFI_RESOURCE_ATTRIBUTE_INITIALIZED 0x00000002
|
||||
#define EFI_RESOURCE_ATTRIBUTE_TESTED 0x00000004
|
||||
#define EFI_RESOURCE_ATTRIBUTE_PRESENT 0x00000001
|
||||
#define EFI_RESOURCE_ATTRIBUTE_INITIALIZED 0x00000002
|
||||
#define EFI_RESOURCE_ATTRIBUTE_TESTED 0x00000004
|
||||
#define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTED 0x00000080
|
||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTED 0x00000100
|
||||
#define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTED 0x00000200
|
||||
//
|
||||
// The rest of the settings describe capabilities
|
||||
// The rest of the attributes are used to describe capabilities
|
||||
//
|
||||
#define EFI_RESOURCE_ATTRIBUTE_SINGLE_BIT_ECC 0x00000008
|
||||
#define EFI_RESOURCE_ATTRIBUTE_MULTIPLE_BIT_ECC 0x00000010
|
||||
#define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_1 0x00000020
|
||||
#define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_2 0x00000040
|
||||
#define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTED 0x00000080
|
||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTED 0x00000100
|
||||
#define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTED 0x00000200
|
||||
#define EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE 0x00000400
|
||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE 0x00000800
|
||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE 0x00001000
|
||||
@ -274,6 +274,9 @@ typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;
|
||||
#define EFI_RESOURCE_ATTRIBUTE_32_BIT_IO 0x00008000
|
||||
#define EFI_RESOURCE_ATTRIBUTE_64_BIT_IO 0x00010000
|
||||
#define EFI_RESOURCE_ATTRIBUTE_UNCACHED_EXPORTED 0x00020000
|
||||
#define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTABLE 0x00100000
|
||||
#define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTABLE 0x00200000
|
||||
#define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTABLE 0x00400000
|
||||
|
||||
///
|
||||
/// Describes the resource properties of all fixed,
|
||||
|
@ -22,7 +22,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
FILE_LICENCE ( BSD3 );
|
||||
|
||||
//
|
||||
// Required for IA32 and IPF defines for CPU exception types
|
||||
// Required for IA32, X64, IPF, ARM and EBC defines for CPU exception types
|
||||
//
|
||||
#include <ipxe/efi/Protocol/DebugSupport.h>
|
||||
|
||||
@ -713,6 +713,9 @@ typedef struct {
|
||||
#define EFI_SOFTWARE_EFI_BOOT_SERVICE (EFI_SOFTWARE | 0x00100000)
|
||||
#define EFI_SOFTWARE_EFI_RUNTIME_SERVICE (EFI_SOFTWARE | 0x00110000)
|
||||
#define EFI_SOFTWARE_EFI_DXE_SERVICE (EFI_SOFTWARE | 0x00120000)
|
||||
#define EFI_SOFTWARE_X64_EXCEPTION (EFI_SOFTWARE | 0x00130000)
|
||||
#define EFI_SOFTWARE_ARM_EXCEPTION (EFI_SOFTWARE | 0x00140000)
|
||||
|
||||
///@}
|
||||
|
||||
///
|
||||
@ -753,7 +756,6 @@ typedef struct {
|
||||
|
||||
///
|
||||
/// Software Class PEI Module Subclass Progress Code definitions.
|
||||
/// Note: EFI_SW_PEI_PC_RECOVERY_BEGIN is different from PI 1.2 Specification.
|
||||
///
|
||||
///@{
|
||||
#define EFI_SW_PEI_PC_RECOVERY_BEGIN (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
@ -808,6 +810,14 @@ typedef struct {
|
||||
#define EFI_SW_RT_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
///@}
|
||||
|
||||
//
|
||||
// Software Class X64 Exception Subclass Progress Code definitions.
|
||||
//
|
||||
|
||||
//
|
||||
// Software Class ARM Exception Subclass Progress Code definitions.
|
||||
//
|
||||
|
||||
//
|
||||
// Software Class EBC Exception Subclass Progress Code definitions.
|
||||
//
|
||||
@ -987,7 +997,6 @@ typedef struct {
|
||||
|
||||
///
|
||||
/// Software Class PEI Module Subclass Error Code definitions.
|
||||
/// Note: EFI_SW_PEI_EC_INVALID_CAPSULE_DESCRIPTOR is different from PI 1.2 Specification.
|
||||
///
|
||||
///@{
|
||||
#define EFI_SW_PEI_EC_NO_RECOVERY_CAPSULE (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
@ -1123,8 +1132,65 @@ typedef struct {
|
||||
// Software Class EFI Runtime Service Subclass Error Code definitions.
|
||||
//
|
||||
|
||||
//
|
||||
// Software Class EFI DXE Service Subclass Error Code definitions.
|
||||
//
|
||||
///
|
||||
/// Software Class EFI DXE Service Subclass Error Code definitions.
|
||||
///
|
||||
///@{
|
||||
#define EFI_SW_DXE_BS_PC_BEGIN_CONNECTING_DRIVERS (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_SW_DXE_BS_PC_VERIFYING_PASSWORD (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
///@}
|
||||
|
||||
///
|
||||
/// Software Class DXE RT Driver Subclass Progress Code definitions.
|
||||
///
|
||||
///@{
|
||||
#define EFI_SW_DXE_RT_PC_S0 (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_SW_DXE_RT_PC_S1 (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_SW_DXE_RT_PC_S2 (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_SW_DXE_RT_PC_S3 (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_SW_DXE_RT_PC_S4 (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_SW_DXE_RT_PC_S5 (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
///@}
|
||||
|
||||
///
|
||||
/// Software Class X64 Exception Subclass Error Code definitions.
|
||||
/// These exceptions are derived from the debug protocol
|
||||
/// definitions in the EFI specification.
|
||||
///
|
||||
///@{
|
||||
#define EFI_SW_EC_X64_DIVIDE_ERROR EXCEPT_X64_DIVIDE_ERROR
|
||||
#define EFI_SW_EC_X64_DEBUG EXCEPT_X64_DEBUG
|
||||
#define EFI_SW_EC_X64_NMI EXCEPT_X64_NMI
|
||||
#define EFI_SW_EC_X64_BREAKPOINT EXCEPT_X64_BREAKPOINT
|
||||
#define EFI_SW_EC_X64_OVERFLOW EXCEPT_X64_OVERFLOW
|
||||
#define EFI_SW_EC_X64_BOUND EXCEPT_X64_BOUND
|
||||
#define EFI_SW_EC_X64_INVALID_OPCODE EXCEPT_X64_INVALID_OPCODE
|
||||
#define EFI_SW_EC_X64_DOUBLE_FAULT EXCEPT_X64_DOUBLE_FAULT
|
||||
#define EFI_SW_EC_X64_INVALID_TSS EXCEPT_X64_INVALID_TSS
|
||||
#define EFI_SW_EC_X64_SEG_NOT_PRESENT EXCEPT_X64_SEG_NOT_PRESENT
|
||||
#define EFI_SW_EC_X64_STACK_FAULT EXCEPT_X64_STACK_FAULT
|
||||
#define EFI_SW_EC_X64_GP_FAULT EXCEPT_X64_GP_FAULT
|
||||
#define EFI_SW_EC_X64_PAGE_FAULT EXCEPT_X64_PAGE_FAULT
|
||||
#define EFI_SW_EC_X64_FP_ERROR EXCEPT_X64_FP_ERROR
|
||||
#define EFI_SW_EC_X64_ALIGNMENT_CHECK EXCEPT_X64_ALIGNMENT_CHECK
|
||||
#define EFI_SW_EC_X64_MACHINE_CHECK EXCEPT_X64_MACHINE_CHECK
|
||||
#define EFI_SW_EC_X64_SIMD EXCEPT_X64_SIMD
|
||||
///@}
|
||||
|
||||
///
|
||||
/// Software Class ARM Exception Subclass Error Code definitions.
|
||||
/// These exceptions are derived from the debug protocol
|
||||
/// definitions in the EFI specification.
|
||||
///
|
||||
///@{
|
||||
#define EFI_SW_EC_ARM_RESET EXCEPT_ARM_RESET
|
||||
#define EFI_SW_EC_ARM_UNDEFINED_INSTRUCTION EXCEPT_ARM_UNDEFINED_INSTRUCTION
|
||||
#define EFI_SW_EC_ARM_SOFTWARE_INTERRUPT EXCEPT_ARM_SOFTWARE_INTERRUPT
|
||||
#define EFI_SW_EC_ARM_PREFETCH_ABORT EXCEPT_ARM_PREFETCH_ABORT
|
||||
#define EFI_SW_EC_ARM_DATA_ABORT EXCEPT_ARM_DATA_ABORT
|
||||
#define EFI_SW_EC_ARM_RESERVED EXCEPT_ARM_RESERVED
|
||||
#define EFI_SW_EC_ARM_IRQ EXCEPT_ARM_IRQ
|
||||
#define EFI_SW_EC_ARM_FIQ EXCEPT_ARM_FIQ
|
||||
///@}
|
||||
|
||||
#endif
|
||||
|
@ -3,7 +3,7 @@
|
||||
This protocol is used to retrieve user readable names of drivers
|
||||
and controllers managed by UEFI Drivers.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2011, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -121,8 +121,7 @@ EFI_STATUS
|
||||
driver specified by This was
|
||||
returned in DriverName.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid
|
||||
EFI_HANDLE.
|
||||
@retval EFI_INVALID_PARAMETER ControllerHandle is NULL.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it
|
||||
is not a valid EFI_HANDLE.
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
This code abstracts the DXE core from processor implementation details.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2011, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -246,6 +246,8 @@ EFI_STATUS
|
||||
@retval EFI_ACCESS_DENIED The attributes for the memory resource range specified by
|
||||
BaseAddress and Length cannot be modified.
|
||||
@retval EFI_INVALID_PARAMETER Length is zero.
|
||||
Attributes specified an illegal combination of attributes that
|
||||
cannot be set together.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough system resources to modify the attributes of
|
||||
the memory resource range.
|
||||
@retval EFI_UNSUPPORTED The processor does not support one or more bytes of the memory
|
||||
|
@ -5,7 +5,7 @@
|
||||
from a software point of view. The path must persist from boot to boot, so
|
||||
it can not contain things like PCI bus numbers that change from boot to boot.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2011, 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
|
||||
@ -348,6 +348,26 @@ typedef struct {
|
||||
UINT64 Lun;
|
||||
} FIBRECHANNEL_DEVICE_PATH;
|
||||
|
||||
///
|
||||
/// Fibre Channel Ex SubType.
|
||||
///
|
||||
#define MSG_FIBRECHANNELEX_DP 0x15
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||
///
|
||||
/// Reserved for the future.
|
||||
///
|
||||
UINT32 Reserved;
|
||||
///
|
||||
/// 8 byte array containing Fibre Channel End Device Port Name.
|
||||
///
|
||||
UINT8 WWN[8];
|
||||
///
|
||||
/// 8 byte array containing Fibre Channel Logical Unit Number.
|
||||
///
|
||||
UINT8 Lun[8];
|
||||
} FIBRECHANNELEX_DEVICE_PATH;
|
||||
|
||||
///
|
||||
/// 1394 Device Path SubType
|
||||
///
|
||||
@ -543,6 +563,14 @@ typedef struct {
|
||||
/// 0x01 - The Source IP Address is statically bound.
|
||||
///
|
||||
BOOLEAN StaticIpAddress;
|
||||
///
|
||||
/// The gateway IP address
|
||||
///
|
||||
EFI_IPv4_ADDRESS GatewayIpAddress;
|
||||
///
|
||||
/// The subnet mask
|
||||
///
|
||||
EFI_IPv4_ADDRESS SubnetMask;
|
||||
} IPv4_DEVICE_PATH;
|
||||
|
||||
///
|
||||
@ -572,10 +600,21 @@ typedef struct {
|
||||
///
|
||||
UINT16 Protocol;
|
||||
///
|
||||
/// 0x00 - The Source IP Address was assigned though DHCP.
|
||||
/// 0x01 - The Source IP Address is statically bound.
|
||||
/// 0x00 - The Local IP Address was manually configured.
|
||||
/// 0x01 - The Local IP Address is assigned through IPv6
|
||||
/// stateless auto-configuration.
|
||||
/// 0x02 - The Local IP Address is assigned through IPv6
|
||||
/// stateful configuration.
|
||||
///
|
||||
BOOLEAN StaticIpAddress;
|
||||
UINT8 IpAddressOrigin;
|
||||
///
|
||||
/// The prefix length
|
||||
///
|
||||
UINT8 PrefixLength;
|
||||
///
|
||||
/// The gateway IP address
|
||||
///
|
||||
EFI_IPv6_ADDRESS GatewayIpAddress;
|
||||
} IPv6_DEVICE_PATH;
|
||||
|
||||
///
|
||||
@ -692,9 +731,9 @@ typedef struct {
|
||||
#define UART_FLOW_CONTROL_HARDWARE 0x00000001
|
||||
#define UART_FLOW_CONTROL_XON_XOFF 0x00000010
|
||||
|
||||
#define DEVICE_PATH_MESSAGING_SAS EFI_SAS_DEVICE_PATH_GUID
|
||||
#define DEVICE_PATH_MESSAGING_SAS EFI_SAS_DEVICE_PATH_GUID
|
||||
///
|
||||
/// Serial Attached SCSI (SAS) devices.
|
||||
/// Serial Attached SCSI (SAS) Device Path.
|
||||
///
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||
@ -724,6 +763,30 @@ typedef struct {
|
||||
UINT16 RelativeTargetPort;
|
||||
} SAS_DEVICE_PATH;
|
||||
|
||||
///
|
||||
/// Serial Attached SCSI (SAS) Ex Device Path SubType
|
||||
///
|
||||
#define MSG_SASEX_DP 0x16
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||
///
|
||||
/// 8-byte array of the SAS Address for Serial Attached SCSI Target Port.
|
||||
///
|
||||
UINT8 SasAddress[8];
|
||||
///
|
||||
/// 8-byte array of the SAS Logical Unit Number.
|
||||
///
|
||||
UINT8 Lun[8];
|
||||
///
|
||||
/// More Information about the device and its interconnect.
|
||||
///
|
||||
UINT16 DeviceTopology;
|
||||
///
|
||||
/// Relative Target Port (RTP).
|
||||
///
|
||||
UINT16 RelativeTargetPort;
|
||||
} SASEX_DEVICE_PATH;
|
||||
|
||||
///
|
||||
/// iSCSI Device Path SubType
|
||||
///
|
||||
@ -897,7 +960,7 @@ typedef struct {
|
||||
} MEDIA_PROTOCOL_DEVICE_PATH;
|
||||
|
||||
///
|
||||
/// PIWG Firmware Volume Device Path SubType.
|
||||
/// PIWG Firmware File SubType.
|
||||
///
|
||||
#define MEDIA_PIWG_FW_FILE_DP 0x06
|
||||
|
||||
@ -967,7 +1030,7 @@ typedef struct {
|
||||
///
|
||||
UINT16 StatusFlag;
|
||||
///
|
||||
/// ASCIIZ string that describes the boot device to a user.
|
||||
/// Null-terminated ASCII string that describes the boot device to a user.
|
||||
///
|
||||
CHAR8 String[1];
|
||||
} BBS_BBS_DEVICE_PATH;
|
||||
@ -989,78 +1052,100 @@ typedef struct {
|
||||
/// Union of all possible Device Paths and pointers to Device Paths.
|
||||
///
|
||||
typedef union {
|
||||
EFI_DEVICE_PATH_PROTOCOL DevPath;
|
||||
PCI_DEVICE_PATH Pci;
|
||||
PCCARD_DEVICE_PATH PcCard;
|
||||
MEMMAP_DEVICE_PATH MemMap;
|
||||
VENDOR_DEVICE_PATH Vendor;
|
||||
EFI_DEVICE_PATH_PROTOCOL DevPath;
|
||||
PCI_DEVICE_PATH Pci;
|
||||
PCCARD_DEVICE_PATH PcCard;
|
||||
MEMMAP_DEVICE_PATH MemMap;
|
||||
VENDOR_DEVICE_PATH Vendor;
|
||||
|
||||
CONTROLLER_DEVICE_PATH Controller;
|
||||
ACPI_HID_DEVICE_PATH Acpi;
|
||||
CONTROLLER_DEVICE_PATH Controller;
|
||||
ACPI_HID_DEVICE_PATH Acpi;
|
||||
ACPI_EXTENDED_HID_DEVICE_PATH ExtendedAcpi;
|
||||
ACPI_ADR_DEVICE_PATH AcpiAdr;
|
||||
|
||||
ATAPI_DEVICE_PATH Atapi;
|
||||
SCSI_DEVICE_PATH Scsi;
|
||||
ISCSI_DEVICE_PATH Iscsi;
|
||||
FIBRECHANNEL_DEVICE_PATH FibreChannel;
|
||||
ATAPI_DEVICE_PATH Atapi;
|
||||
SCSI_DEVICE_PATH Scsi;
|
||||
ISCSI_DEVICE_PATH Iscsi;
|
||||
FIBRECHANNEL_DEVICE_PATH FibreChannel;
|
||||
FIBRECHANNELEX_DEVICE_PATH FibreChannelEx;
|
||||
|
||||
F1394_DEVICE_PATH F1394;
|
||||
USB_DEVICE_PATH Usb;
|
||||
SATA_DEVICE_PATH Sata;
|
||||
USB_CLASS_DEVICE_PATH UsbClass;
|
||||
I2O_DEVICE_PATH I2O;
|
||||
MAC_ADDR_DEVICE_PATH MacAddr;
|
||||
IPv4_DEVICE_PATH Ipv4;
|
||||
IPv6_DEVICE_PATH Ipv6;
|
||||
INFINIBAND_DEVICE_PATH InfiniBand;
|
||||
UART_DEVICE_PATH Uart;
|
||||
F1394_DEVICE_PATH F1394;
|
||||
USB_DEVICE_PATH Usb;
|
||||
SATA_DEVICE_PATH Sata;
|
||||
USB_CLASS_DEVICE_PATH UsbClass;
|
||||
USB_WWID_DEVICE_PATH UsbWwid;
|
||||
DEVICE_LOGICAL_UNIT_DEVICE_PATH LogicUnit;
|
||||
I2O_DEVICE_PATH I2O;
|
||||
MAC_ADDR_DEVICE_PATH MacAddr;
|
||||
IPv4_DEVICE_PATH Ipv4;
|
||||
IPv6_DEVICE_PATH Ipv6;
|
||||
VLAN_DEVICE_PATH Vlan;
|
||||
INFINIBAND_DEVICE_PATH InfiniBand;
|
||||
UART_DEVICE_PATH Uart;
|
||||
UART_FLOW_CONTROL_DEVICE_PATH UartFlowControl;
|
||||
SAS_DEVICE_PATH Sas;
|
||||
SASEX_DEVICE_PATH SasEx;
|
||||
HARDDRIVE_DEVICE_PATH HardDrive;
|
||||
CDROM_DEVICE_PATH CD;
|
||||
|
||||
HARDDRIVE_DEVICE_PATH HardDrive;
|
||||
CDROM_DEVICE_PATH CD;
|
||||
FILEPATH_DEVICE_PATH FilePath;
|
||||
MEDIA_PROTOCOL_DEVICE_PATH MediaProtocol;
|
||||
|
||||
FILEPATH_DEVICE_PATH FilePath;
|
||||
MEDIA_PROTOCOL_DEVICE_PATH MediaProtocol;
|
||||
MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH Offset;
|
||||
MEDIA_FW_VOL_DEVICE_PATH FirmwareVolume;
|
||||
MEDIA_FW_VOL_FILEPATH_DEVICE_PATH FirmwareFile;
|
||||
MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH Offset;
|
||||
|
||||
BBS_BBS_DEVICE_PATH Bbs;
|
||||
BBS_BBS_DEVICE_PATH Bbs;
|
||||
} EFI_DEV_PATH;
|
||||
|
||||
|
||||
|
||||
typedef union {
|
||||
EFI_DEVICE_PATH_PROTOCOL *DevPath;
|
||||
PCI_DEVICE_PATH *Pci;
|
||||
PCCARD_DEVICE_PATH *PcCard;
|
||||
MEMMAP_DEVICE_PATH *MemMap;
|
||||
VENDOR_DEVICE_PATH *Vendor;
|
||||
EFI_DEVICE_PATH_PROTOCOL *DevPath;
|
||||
PCI_DEVICE_PATH *Pci;
|
||||
PCCARD_DEVICE_PATH *PcCard;
|
||||
MEMMAP_DEVICE_PATH *MemMap;
|
||||
VENDOR_DEVICE_PATH *Vendor;
|
||||
|
||||
CONTROLLER_DEVICE_PATH *Controller;
|
||||
ACPI_HID_DEVICE_PATH *Acpi;
|
||||
ACPI_EXTENDED_HID_DEVICE_PATH *ExtendedAcpi;
|
||||
CONTROLLER_DEVICE_PATH *Controller;
|
||||
ACPI_HID_DEVICE_PATH *Acpi;
|
||||
ACPI_EXTENDED_HID_DEVICE_PATH *ExtendedAcpi;
|
||||
ACPI_ADR_DEVICE_PATH *AcpiAdr;
|
||||
|
||||
ATAPI_DEVICE_PATH *Atapi;
|
||||
SCSI_DEVICE_PATH *Scsi;
|
||||
FIBRECHANNEL_DEVICE_PATH *FibreChannel;
|
||||
ATAPI_DEVICE_PATH *Atapi;
|
||||
SCSI_DEVICE_PATH *Scsi;
|
||||
ISCSI_DEVICE_PATH *Iscsi;
|
||||
FIBRECHANNEL_DEVICE_PATH *FibreChannel;
|
||||
FIBRECHANNELEX_DEVICE_PATH *FibreChannelEx;
|
||||
|
||||
F1394_DEVICE_PATH *F1394;
|
||||
USB_DEVICE_PATH *Usb;
|
||||
SATA_DEVICE_PATH *Sata;
|
||||
USB_CLASS_DEVICE_PATH *UsbClass;
|
||||
I2O_DEVICE_PATH *I2O;
|
||||
MAC_ADDR_DEVICE_PATH *MacAddr;
|
||||
IPv4_DEVICE_PATH *Ipv4;
|
||||
IPv6_DEVICE_PATH *Ipv6;
|
||||
INFINIBAND_DEVICE_PATH *InfiniBand;
|
||||
UART_DEVICE_PATH *Uart;
|
||||
F1394_DEVICE_PATH *F1394;
|
||||
USB_DEVICE_PATH *Usb;
|
||||
SATA_DEVICE_PATH *Sata;
|
||||
USB_CLASS_DEVICE_PATH *UsbClass;
|
||||
USB_WWID_DEVICE_PATH *UsbWwid;
|
||||
DEVICE_LOGICAL_UNIT_DEVICE_PATH *LogicUnit;
|
||||
I2O_DEVICE_PATH *I2O;
|
||||
MAC_ADDR_DEVICE_PATH *MacAddr;
|
||||
IPv4_DEVICE_PATH *Ipv4;
|
||||
IPv6_DEVICE_PATH *Ipv6;
|
||||
VLAN_DEVICE_PATH *Vlan;
|
||||
INFINIBAND_DEVICE_PATH *InfiniBand;
|
||||
UART_DEVICE_PATH *Uart;
|
||||
UART_FLOW_CONTROL_DEVICE_PATH *UartFlowControl;
|
||||
SAS_DEVICE_PATH *Sas;
|
||||
SASEX_DEVICE_PATH *SasEx;
|
||||
HARDDRIVE_DEVICE_PATH *HardDrive;
|
||||
CDROM_DEVICE_PATH *CD;
|
||||
|
||||
HARDDRIVE_DEVICE_PATH *HardDrive;
|
||||
CDROM_DEVICE_PATH *CD;
|
||||
FILEPATH_DEVICE_PATH *FilePath;
|
||||
MEDIA_PROTOCOL_DEVICE_PATH *MediaProtocol;
|
||||
|
||||
FILEPATH_DEVICE_PATH *FilePath;
|
||||
MEDIA_PROTOCOL_DEVICE_PATH *MediaProtocol;
|
||||
MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *Offset;
|
||||
MEDIA_FW_VOL_DEVICE_PATH *FirmwareVolume;
|
||||
MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FirmwareFile;
|
||||
MEDIA_RELATIVE_OFFSET_RANGE_DEVICE_PATH *Offset;
|
||||
|
||||
BBS_BBS_DEVICE_PATH *Bbs;
|
||||
UINT8 *Raw;
|
||||
BBS_BBS_DEVICE_PATH *Bbs;
|
||||
UINT8 *Raw;
|
||||
} EFI_DEV_PATH_PTR;
|
||||
|
||||
#pragma pack()
|
||||
|
@ -61,6 +61,10 @@ typedef UINTN EFI_BROWSER_ACTION_REQUEST;
|
||||
#define EFI_BROWSER_ACTION_REQUEST_RESET 1
|
||||
#define EFI_BROWSER_ACTION_REQUEST_SUBMIT 2
|
||||
#define EFI_BROWSER_ACTION_REQUEST_EXIT 3
|
||||
#define EFI_BROWSER_ACTION_REQUEST_FORM_SUBMIT_EXIT 4
|
||||
#define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD_EXIT 5
|
||||
#define EFI_BROWSER_ACTION_REQUEST_FORM_APPLY 6
|
||||
#define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD 7
|
||||
|
||||
|
||||
/**
|
||||
|
@ -36,6 +36,12 @@ typedef UINTN EFI_BROWSER_ACTION;
|
||||
#define EFI_BROWSER_ACTION_RETRIEVE 2
|
||||
#define EFI_BROWSER_ACTION_FORM_OPEN 3
|
||||
#define EFI_BROWSER_ACTION_FORM_CLOSE 4
|
||||
#define EFI_BROWSER_ACTION_DEFAULT_STANDARD 0x1000
|
||||
#define EFI_BROWSER_ACTION_DEFAULT_MANUFACTURING 0x1001
|
||||
#define EFI_BROWSER_ACTION_DEFAULT_SAFE 0x1002
|
||||
#define EFI_BROWSER_ACTION_DEFAULT_PLATFORM 0x2000
|
||||
#define EFI_BROWSER_ACTION_DEFAULT_HARDWARE 0x3000
|
||||
#define EFI_BROWSER_ACTION_DEFAULT_FIRMWARE 0x4000
|
||||
|
||||
/**
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
EFI Network Interface Identifier Protocol.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2011, 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
|
||||
@ -87,6 +87,29 @@ typedef enum {
|
||||
EfiNetworkInterfaceUndi = 1
|
||||
} EFI_NETWORK_INTERFACE_TYPE;
|
||||
|
||||
///
|
||||
/// Forward reference for pure ANSI compatability.
|
||||
///
|
||||
typedef struct undiconfig_table UNDI_CONFIG_TABLE;
|
||||
|
||||
///
|
||||
/// The format of the configuration table for UNDI
|
||||
///
|
||||
struct undiconfig_table {
|
||||
UINT32 NumberOfInterfaces; ///< The number of NIC devices
|
||||
///< that this UNDI controls.
|
||||
UINT32 reserved;
|
||||
UNDI_CONFIG_TABLE *nextlink; ///< A pointer to the next UNDI
|
||||
///< configuration table.
|
||||
///
|
||||
/// The length of this array is given in the NumberOfInterfaces field.
|
||||
///
|
||||
struct {
|
||||
VOID *NII_InterfacePointer; ///< Pointer to the NII interface structure.
|
||||
VOID *DevicePathPointer; ///< Pointer to the device path for this NIC.
|
||||
} NII_entry[1];
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid;
|
||||
extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid_31;
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
and PCI Configuration cycles on a PCI Root Bridge. It also provides services to perform
|
||||
defferent types of bus mastering DMA.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2011, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -21,6 +21,8 @@
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
|
||||
#include <ipxe/efi/Library/BaseLib.h>
|
||||
|
||||
#define EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID \
|
||||
{ \
|
||||
0x2f707ebb, 0x4a1a, 0x11d4, {0x9a, 0x38, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
|
||||
@ -108,7 +110,11 @@ typedef enum {
|
||||
#define EFI_PCI_ATTRIBUTE_INVALID_FOR_ALLOCATE_BUFFER (~EFI_PCI_ATTRIBUTE_VALID_FOR_ALLOCATE_BUFFER)
|
||||
|
||||
#define EFI_PCI_ADDRESS(bus, dev, func, reg) \
|
||||
((UINT64) ((((UINTN) bus) << 24) + (((UINTN) dev) << 16) + (((UINTN) func) << 8) + ((UINTN) reg)))
|
||||
(UINT64) ( \
|
||||
(((UINTN) bus) << 24) | \
|
||||
(((UINTN) dev) << 16) | \
|
||||
(((UINTN) func) << 8) | \
|
||||
(((UINTN) (reg)) < 256 ? ((UINTN) (reg)) : (UINT64) (LShiftU64 ((UINT64) (reg), 32))))
|
||||
|
||||
typedef struct {
|
||||
UINT8 Register;
|
||||
|
@ -4,7 +4,7 @@
|
||||
Abstraction of a very simple input device like a keyboard or serial
|
||||
terminal.
|
||||
|
||||
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2011, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -78,8 +78,6 @@ typedef struct {
|
||||
#define SCAN_F8 0x0012
|
||||
#define SCAN_F9 0x0013
|
||||
#define SCAN_F10 0x0014
|
||||
#define SCAN_F11 0x0015
|
||||
#define SCAN_F12 0x0016
|
||||
#define SCAN_ESC 0x0017
|
||||
|
||||
/**
|
||||
|
327
src/include/ipxe/efi/Protocol/SimpleTextInEx.h
Normal file
327
src/include/ipxe/efi/Protocol/SimpleTextInEx.h
Normal file
@ -0,0 +1,327 @@
|
||||
/** @file
|
||||
Simple Text Input Ex protocol from the UEFI 2.0 specification.
|
||||
|
||||
This protocol defines an extension to the EFI_SIMPLE_TEXT_INPUT_PROTOCOL
|
||||
which exposes much more state and modifier information from the input device,
|
||||
also allows one to register a notification for a particular keystroke.
|
||||
|
||||
Copyright (c) 2006 - 2011, 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
|
||||
which 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 __SIMPLE_TEXT_IN_EX_H__
|
||||
#define __SIMPLE_TEXT_IN_EX_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
|
||||
#include <ipxe/efi/Protocol/SimpleTextIn.h>
|
||||
|
||||
#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
|
||||
{0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
|
||||
|
||||
|
||||
typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
|
||||
|
||||
/**
|
||||
The Reset() function resets the input device hardware. As part
|
||||
of initialization process, the firmware/device will make a quick
|
||||
but reasonable attempt to verify that the device is functioning.
|
||||
If the ExtendedVerification flag is TRUE the firmware may take
|
||||
an extended amount of time to verify the device is operating on
|
||||
reset. Otherwise the reset operation is to occur as quickly as
|
||||
possible. The hardware verification process is not defined by
|
||||
this specification and is left up to the platform firmware or
|
||||
driver to implement.
|
||||
|
||||
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
|
||||
|
||||
@param ExtendedVerification Indicates that the driver may
|
||||
perform a more exhaustive
|
||||
verification operation of the
|
||||
device during reset.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The device was reset.
|
||||
|
||||
@retval EFI_DEVICE_ERROR The device is not functioning
|
||||
correctly and could not be reset.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_INPUT_RESET_EX)(
|
||||
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
|
||||
IN BOOLEAN ExtendedVerification
|
||||
);
|
||||
|
||||
|
||||
///
|
||||
/// EFI_KEY_TOGGLE_STATE. The toggle states are defined.
|
||||
/// They are: EFI_TOGGLE_STATE_VALID, EFI_SCROLL_LOCK_ACTIVE
|
||||
/// EFI_NUM_LOCK_ACTIVE, EFI_CAPS_LOCK_ACTIVE
|
||||
///
|
||||
typedef UINT8 EFI_KEY_TOGGLE_STATE;
|
||||
|
||||
typedef struct _EFI_KEY_STATE {
|
||||
///
|
||||
/// Reflects the currently pressed shift
|
||||
/// modifiers for the input device. The
|
||||
/// returned value is valid only if the high
|
||||
/// order bit has been set.
|
||||
///
|
||||
UINT32 KeyShiftState;
|
||||
///
|
||||
/// Reflects the current internal state of
|
||||
/// various toggled attributes. The returned
|
||||
/// value is valid only if the high order
|
||||
/// bit has been set.
|
||||
///
|
||||
EFI_KEY_TOGGLE_STATE KeyToggleState;
|
||||
} EFI_KEY_STATE;
|
||||
|
||||
typedef struct {
|
||||
///
|
||||
/// The EFI scan code and Unicode value returned from the input device.
|
||||
///
|
||||
EFI_INPUT_KEY Key;
|
||||
///
|
||||
/// The current state of various toggled attributes as well as input modifier values.
|
||||
///
|
||||
EFI_KEY_STATE KeyState;
|
||||
} EFI_KEY_DATA;
|
||||
|
||||
//
|
||||
// Any Shift or Toggle State that is valid should have
|
||||
// high order bit set.
|
||||
//
|
||||
// Shift state
|
||||
//
|
||||
#define EFI_SHIFT_STATE_VALID 0x80000000
|
||||
#define EFI_RIGHT_SHIFT_PRESSED 0x00000001
|
||||
#define EFI_LEFT_SHIFT_PRESSED 0x00000002
|
||||
#define EFI_RIGHT_CONTROL_PRESSED 0x00000004
|
||||
#define EFI_LEFT_CONTROL_PRESSED 0x00000008
|
||||
#define EFI_RIGHT_ALT_PRESSED 0x00000010
|
||||
#define EFI_LEFT_ALT_PRESSED 0x00000020
|
||||
#define EFI_RIGHT_LOGO_PRESSED 0x00000040
|
||||
#define EFI_LEFT_LOGO_PRESSED 0x00000080
|
||||
#define EFI_MENU_KEY_PRESSED 0x00000100
|
||||
#define EFI_SYS_REQ_PRESSED 0x00000200
|
||||
|
||||
//
|
||||
// Toggle state
|
||||
//
|
||||
#define EFI_TOGGLE_STATE_VALID 0x80
|
||||
#define EFI_KEY_STATE_EXPOSED 0x40
|
||||
#define EFI_SCROLL_LOCK_ACTIVE 0x01
|
||||
#define EFI_NUM_LOCK_ACTIVE 0x02
|
||||
#define EFI_CAPS_LOCK_ACTIVE 0x04
|
||||
|
||||
//
|
||||
// EFI Scan codes
|
||||
//
|
||||
#define SCAN_F11 0x0015
|
||||
#define SCAN_F12 0x0016
|
||||
#define SCAN_PAUSE 0x0048
|
||||
#define SCAN_F13 0x0068
|
||||
#define SCAN_F14 0x0069
|
||||
#define SCAN_F15 0x006A
|
||||
#define SCAN_F16 0x006B
|
||||
#define SCAN_F17 0x006C
|
||||
#define SCAN_F18 0x006D
|
||||
#define SCAN_F19 0x006E
|
||||
#define SCAN_F20 0x006F
|
||||
#define SCAN_F21 0x0070
|
||||
#define SCAN_F22 0x0071
|
||||
#define SCAN_F23 0x0072
|
||||
#define SCAN_F24 0x0073
|
||||
#define SCAN_MUTE 0x007F
|
||||
#define SCAN_VOLUME_UP 0x0080
|
||||
#define SCAN_VOLUME_DOWN 0x0081
|
||||
#define SCAN_BRIGHTNESS_UP 0x0100
|
||||
#define SCAN_BRIGHTNESS_DOWN 0x0101
|
||||
#define SCAN_SUSPEND 0x0102
|
||||
#define SCAN_HIBERNATE 0x0103
|
||||
#define SCAN_TOGGLE_DISPLAY 0x0104
|
||||
#define SCAN_RECOVERY 0x0105
|
||||
#define SCAN_EJECT 0x0106
|
||||
|
||||
/**
|
||||
The function reads the next keystroke from the input device. If
|
||||
there is no pending keystroke the function returns
|
||||
EFI_NOT_READY. If there is a pending keystroke, then
|
||||
KeyData.Key.ScanCode is the EFI scan code defined in Error!
|
||||
Reference source not found. The KeyData.Key.UnicodeChar is the
|
||||
actual printable character or is zero if the key does not
|
||||
represent a printable character (control key, function key,
|
||||
etc.). The KeyData.KeyState is shift state for the character
|
||||
reflected in KeyData.Key.UnicodeChar or KeyData.Key.ScanCode .
|
||||
When interpreting the data from this function, it should be
|
||||
noted that if a class of printable characters that are
|
||||
normally adjusted by shift modifiers (e.g. Shift Key + "f"
|
||||
key) would be presented solely as a KeyData.Key.UnicodeChar
|
||||
without the associated shift state. So in the previous example
|
||||
of a Shift Key + "f" key being pressed, the only pertinent
|
||||
data returned would be KeyData.Key.UnicodeChar with the value
|
||||
of "F". This of course would not typically be the case for
|
||||
non-printable characters such as the pressing of the Right
|
||||
Shift Key + F10 key since the corresponding returned data
|
||||
would be reflected both in the KeyData.KeyState.KeyShiftState
|
||||
and KeyData.Key.ScanCode values. UEFI drivers which implement
|
||||
the EFI_SIMPLE_TEXT_INPUT_EX protocol are required to return
|
||||
KeyData.Key and KeyData.KeyState values. These drivers must
|
||||
always return the most current state of
|
||||
KeyData.KeyState.KeyShiftState and
|
||||
KeyData.KeyState.KeyToggleState. It should also be noted that
|
||||
certain input devices may not be able to produce shift or toggle
|
||||
state information, and in those cases the high order bit in the
|
||||
respective Toggle and Shift state fields should not be active.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
|
||||
|
||||
@param KeyData A pointer to a buffer that is filled in with
|
||||
the keystroke state data for the key that was
|
||||
pressed.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The keystroke information was
|
||||
returned.
|
||||
|
||||
@retval EFI_NOT_READY There was no keystroke data available.
|
||||
EFI_DEVICE_ERROR The keystroke
|
||||
information was not returned due to
|
||||
hardware errors.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_INPUT_READ_KEY_EX)(
|
||||
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
|
||||
OUT EFI_KEY_DATA *KeyData
|
||||
);
|
||||
|
||||
/**
|
||||
The SetState() function allows the input device hardware to
|
||||
have state settings adjusted.
|
||||
|
||||
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
|
||||
|
||||
@param KeyToggleState Pointer to the EFI_KEY_TOGGLE_STATE to
|
||||
set the state for the input device.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The device state was set appropriately.
|
||||
|
||||
@retval EFI_DEVICE_ERROR The device is not functioning
|
||||
correctly and could not have the
|
||||
setting adjusted.
|
||||
|
||||
@retval EFI_UNSUPPORTED The device does not support the
|
||||
ability to have its state set.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SET_STATE)(
|
||||
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
|
||||
IN EFI_KEY_TOGGLE_STATE *KeyToggleState
|
||||
);
|
||||
|
||||
///
|
||||
/// The function will be called when the key sequence is typed specified by KeyData.
|
||||
///
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
|
||||
IN EFI_KEY_DATA *KeyData
|
||||
);
|
||||
|
||||
/**
|
||||
The RegisterKeystrokeNotify() function registers a function
|
||||
which will be called when a specified keystroke will occur.
|
||||
|
||||
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
|
||||
|
||||
@param KeyData A pointer to a buffer that is filled in with
|
||||
the keystroke information for the key that was
|
||||
pressed.
|
||||
|
||||
@param KeyNotificationFunction Points to the function to be
|
||||
called when the key sequence
|
||||
is typed specified by KeyData.
|
||||
|
||||
|
||||
@param NotifyHandle Points to the unique handle assigned to
|
||||
the registered notification.
|
||||
|
||||
@retval EFI_SUCCESS The device state was set
|
||||
appropriately.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Unable to allocate necessary
|
||||
data structures.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
|
||||
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
|
||||
IN EFI_KEY_DATA *KeyData,
|
||||
IN EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
|
||||
OUT EFI_HANDLE *NotifyHandle
|
||||
);
|
||||
|
||||
/**
|
||||
The UnregisterKeystrokeNotify() function removes the
|
||||
notification which was previously registered.
|
||||
|
||||
@param This A pointer to the EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL instance.
|
||||
|
||||
@param NotificationHandle The handle of the notification
|
||||
function being unregistered.
|
||||
|
||||
@retval EFI_SUCCESS The device state was set appropriately.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The NotificationHandle is
|
||||
invalid.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
|
||||
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
|
||||
IN EFI_HANDLE NotificationHandle
|
||||
);
|
||||
|
||||
|
||||
///
|
||||
/// The EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL is used on the ConsoleIn
|
||||
/// device. It is an extension to the Simple Text Input protocol
|
||||
/// which allows a variety of extended shift state information to be
|
||||
/// returned.
|
||||
///
|
||||
struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL{
|
||||
EFI_INPUT_RESET_EX Reset;
|
||||
EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
|
||||
///
|
||||
/// Event to use with WaitForEvent() to wait for a key to be available.
|
||||
///
|
||||
EFI_EVENT WaitForKeyEx;
|
||||
EFI_SET_STATE SetState;
|
||||
EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
|
||||
EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
|
||||
};
|
||||
|
||||
|
||||
extern EFI_GUID gEfiSimpleTextInputExProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Defines data types and constants introduced in UEFI.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2011, 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
|
||||
@ -150,11 +150,13 @@ typedef union {
|
||||
#define EFI_END_OF_MEDIA RETURN_END_OF_MEDIA
|
||||
#define EFI_END_OF_FILE RETURN_END_OF_FILE
|
||||
#define EFI_INVALID_LANGUAGE RETURN_INVALID_LANGUAGE
|
||||
#define EFI_COMPROMISED_DATA RETURN_COMPROMISED_DATA
|
||||
|
||||
#define EFI_WARN_UNKNOWN_GLYPH RETURN_WARN_UNKNOWN_GLYPH
|
||||
#define EFI_WARN_DELETE_FAILURE RETURN_WARN_DELETE_FAILURE
|
||||
#define EFI_WARN_WRITE_FAILURE RETURN_WARN_WRITE_FAILURE
|
||||
#define EFI_WARN_BUFFER_TOO_SMALL RETURN_WARN_BUFFER_TOO_SMALL
|
||||
#define EFI_WARN_STALE_DATA RETURN_WARN_STALE_DATA
|
||||
///@}
|
||||
|
||||
///
|
||||
|
@ -71,7 +71,8 @@ typedef struct {
|
||||
///
|
||||
/// The size, in bytes, of each the GUID Partition
|
||||
/// Entry structures in the GUID Partition Entry
|
||||
/// array. Must be a multiple of 8.
|
||||
/// array. This field shall be set to a value of 128 x 2^n where n is
|
||||
/// an integer greater than or equal to zero (e.g., 128, 256, 512, etc.).
|
||||
///
|
||||
UINT32 SizeOfPartitionEntry;
|
||||
///
|
||||
|
@ -3,7 +3,7 @@
|
||||
IFR is primarily consumed by the EFI presentation engine, and produced by EFI
|
||||
internal application and drivers as well as all add-in card option-ROM drivers
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, 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
|
||||
@ -660,6 +660,13 @@ typedef struct {
|
||||
UINT8 Day;
|
||||
} EFI_HII_DATE;
|
||||
|
||||
typedef struct {
|
||||
EFI_QUESTION_ID QuestionId;
|
||||
EFI_FORM_ID FormId;
|
||||
EFI_GUID FormSetGuid;
|
||||
EFI_STRING_ID DevicePath;
|
||||
} EFI_HII_REF;
|
||||
|
||||
typedef union {
|
||||
UINT8 u8;
|
||||
UINT16 u16;
|
||||
@ -669,7 +676,8 @@ typedef union {
|
||||
EFI_HII_TIME time;
|
||||
EFI_HII_DATE date;
|
||||
EFI_STRING_ID string; ///< EFI_IFR_TYPE_STRING, EFI_IFR_TYPE_ACTION
|
||||
// UINT8 buffer[]; ///< EFI_IFR_TYPE_ORDERED_LIST
|
||||
EFI_HII_REF ref; ///< EFI_IFR_TYPE_REF
|
||||
// UINT8 buffer[]; ///< EFI_IFR_TYPE_BUFFER
|
||||
} EFI_IFR_TYPE_VALUE;
|
||||
|
||||
//
|
||||
@ -694,7 +702,7 @@ typedef union {
|
||||
#define EFI_IFR_INCONSISTENT_IF_OP 0x11
|
||||
#define EFI_IFR_EQ_ID_VAL_OP 0x12
|
||||
#define EFI_IFR_EQ_ID_ID_OP 0x13
|
||||
#define EFI_IFR_EQ_ID_LIST_OP 0x14
|
||||
#define EFI_IFR_EQ_ID_VAL_LIST_OP 0x14
|
||||
#define EFI_IFR_AND_OP 0x15
|
||||
#define EFI_IFR_OR_OP 0x16
|
||||
#define EFI_IFR_NOT_OP 0x17
|
||||
@ -771,6 +779,8 @@ typedef union {
|
||||
#define EFI_IFR_CATENATE_OP 0x5E
|
||||
#define EFI_IFR_GUID_OP 0x5F
|
||||
#define EFI_IFR_SECURITY_OP 0x60
|
||||
#define EFI_IFR_MODAL_TAG_OP 0x61
|
||||
#define EFI_IFR_REFRESH_ID_OP 0x62
|
||||
|
||||
//
|
||||
// Definitions of IFR Standard Headers
|
||||
@ -843,6 +853,8 @@ typedef struct _EFI_IFR_VARSTORE_EFI {
|
||||
EFI_VARSTORE_ID VarStoreId;
|
||||
EFI_GUID Guid;
|
||||
UINT32 Attributes;
|
||||
UINT16 Size;
|
||||
UINT8 Name[1];
|
||||
} EFI_IFR_VARSTORE_EFI;
|
||||
|
||||
typedef struct _EFI_IFR_VARSTORE_NAME_VALUE {
|
||||
@ -875,6 +887,10 @@ typedef struct _EFI_IFR_IMAGE {
|
||||
EFI_IMAGE_ID Id;
|
||||
} EFI_IFR_IMAGE;
|
||||
|
||||
typedef struct _EFI_IFR_MODAL {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_MODAL;
|
||||
|
||||
typedef struct _EFI_IFR_LOCKED {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_LOCKED;
|
||||
@ -948,6 +964,11 @@ typedef struct _EFI_IFR_REF4 {
|
||||
EFI_STRING_ID DevicePath;
|
||||
} EFI_IFR_REF4;
|
||||
|
||||
typedef struct _EFI_IFR_REF5 {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
EFI_IFR_QUESTION_HEADER Question;
|
||||
} EFI_IFR_REF5;
|
||||
|
||||
typedef struct _EFI_IFR_RESET_BUTTON {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
EFI_IFR_STATEMENT_HEADER Statement;
|
||||
@ -1134,6 +1155,7 @@ typedef struct _EFI_IFR_ONE_OF_OPTION {
|
||||
#define EFI_IFR_TYPE_UNDEFINED 0x09
|
||||
#define EFI_IFR_TYPE_ACTION 0x0A
|
||||
#define EFI_IFR_TYPE_BUFFER 0x0B
|
||||
#define EFI_IFR_TYPE_REF 0x0C
|
||||
|
||||
#define EFI_IFR_OPTION_DEFAULT 0x10
|
||||
#define EFI_IFR_OPTION_DEFAULT_MFG 0x20
|
||||
@ -1144,6 +1166,11 @@ typedef struct _EFI_IFR_GUID {
|
||||
//Optional Data Follows
|
||||
} EFI_IFR_GUID;
|
||||
|
||||
typedef struct _EFI_IFR_REFRESH_ID {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
EFI_GUID RefreshEventGroupId;
|
||||
} EFI_IFR_REFRESH_ID;
|
||||
|
||||
typedef struct _EFI_IFR_DUP {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_DUP;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
This includes some definitions introduced in UEFI that will be used in both PEI and DXE phases.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2011, 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
|
||||
@ -122,21 +122,26 @@ typedef struct {
|
||||
///
|
||||
/// Attributes of variable.
|
||||
///
|
||||
#define EFI_VARIABLE_NON_VOLATILE 0x00000001
|
||||
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
|
||||
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
|
||||
#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008
|
||||
|
||||
#define EFI_VARIABLE_NON_VOLATILE 0x00000001
|
||||
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
|
||||
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
|
||||
///
|
||||
/// This attribute is identified by the mnemonic 'HR'
|
||||
/// elsewhere in this specification.
|
||||
///
|
||||
#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010
|
||||
#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008
|
||||
///
|
||||
/// Attributes of Authenticated Variable
|
||||
///
|
||||
#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010
|
||||
#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020
|
||||
#define EFI_VARIABLE_APPEND_WRITE 0x00000040
|
||||
|
||||
|
||||
///
|
||||
/// AuthInfo is a WIN_CERTIFICATE using the wCertificateType
|
||||
/// WIN_CERTIFICATE_UEFI_GUID and the CertType
|
||||
/// EFI_CERT_TYPE_RSA2048_SHA256. If the attribute specifies
|
||||
/// EFI_CERT_TYPE_RSA2048_SHA256_GUID. If the attribute specifies
|
||||
/// authenticated access, then the Data buffer should begin with an
|
||||
/// authentication descriptor prior to the data payload and DataSize
|
||||
/// should reflect the the data.and descriptor size. The caller
|
||||
@ -167,5 +172,24 @@ typedef struct {
|
||||
WIN_CERTIFICATE_UEFI_GUID AuthInfo;
|
||||
} EFI_VARIABLE_AUTHENTICATION;
|
||||
|
||||
#endif
|
||||
///
|
||||
/// When the attribute EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS is
|
||||
/// set, then the Data buffer shall begin with an instance of a complete (and serialized)
|
||||
/// EFI_VARIABLE_AUTHENTICATION_2 descriptor. The descriptor shall be followed by the new
|
||||
/// variable value and DataSize shall reflect the combined size of the descriptor and the new
|
||||
/// variable value. The authentication descriptor is not part of the variable data and is not
|
||||
/// returned by subsequent calls to GetVariable().
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// For the TimeStamp value, components Pad1, Nanosecond, TimeZone, Daylight and
|
||||
/// Pad2 shall be set to 0. This means that the time shall always be expressed in GMT.
|
||||
///
|
||||
EFI_TIME TimeStamp;
|
||||
///
|
||||
/// Only a CertType of EFI_CERT_TYPE_PKCS7_GUID is accepted.
|
||||
///
|
||||
WIN_CERTIFICATE_UEFI_GUID AuthInfo;
|
||||
} EFI_VARIABLE_AUTHENTICATION_2;
|
||||
|
||||
#endif
|
||||
|
@ -5,7 +5,7 @@
|
||||
If a code construct is defined in the UEFI 2.3 specification it must be included
|
||||
by this include file.
|
||||
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, 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
|
||||
@ -25,6 +25,7 @@ FILE_LICENCE ( BSD3 );
|
||||
|
||||
#include <ipxe/efi/Protocol/DevicePath.h>
|
||||
#include <ipxe/efi/Protocol/SimpleTextIn.h>
|
||||
#include <ipxe/efi/Protocol/SimpleTextInEx.h>
|
||||
#include <ipxe/efi/Protocol/SimpleTextOut.h>
|
||||
|
||||
///
|
||||
@ -128,6 +129,7 @@ typedef struct {
|
||||
@retval EFI_INVALID_PARAMETER 1) Type is not AllocateAnyPages or
|
||||
AllocateMaxAddress or AllocateAddress.
|
||||
2) MemoryType is in the range
|
||||
3) Memory is NULL.
|
||||
EfiMaxMemoryType..0x7FFFFFFF.
|
||||
@retval EFI_OUT_OF_RESOURCES The pages could not be allocated.
|
||||
@retval EFI_NOT_FOUND The requested pages could not be found.
|
||||
@ -206,7 +208,7 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The requested number of bytes was allocated.
|
||||
@retval EFI_OUT_OF_RESOURCES The pool requested could not be allocated.
|
||||
@retval EFI_INVALID_PARAMETER PoolType was invalid.
|
||||
@retval EFI_INVALID_PARAMETER PoolType was invalid or Buffer is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
@ -277,7 +279,7 @@ EFI_STATUS
|
||||
2) No drivers were connected to ControllerHandle, but
|
||||
RemainingDevicePath is not NULL, and it is an End Device
|
||||
Path Node.
|
||||
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
|
||||
@retval EFI_INVALID_PARAMETER ControllerHandle is NULL.
|
||||
@retval EFI_NOT_FOUND 1) There are no EFI_DRIVER_BINDING_PROTOCOL instances
|
||||
present in the system.
|
||||
2) No drivers were connected to ControllerHandle.
|
||||
@ -307,7 +309,7 @@ EFI_STATUS
|
||||
2) On entry, no drivers are managing ControllerHandle.
|
||||
3) DriverImageHandle is not NULL, and on entry
|
||||
DriverImageHandle is not managing ControllerHandle.
|
||||
@retval EFI_INVALID_PARAMETER 1) ControllerHandle is not a valid EFI_HANDLE.
|
||||
@retval EFI_INVALID_PARAMETER 1) ControllerHandle is NULL.
|
||||
2) DriverImageHandle is not NULL, and it is not a valid EFI_HANDLE.
|
||||
3) ChildHandle is not NULL, and it is not a valid EFI_HANDLE.
|
||||
4) DriverImageHandle does not support the EFI_DRIVER_BINDING_PROTOCOL.
|
||||
@ -1168,7 +1170,7 @@ EFI_STATUS
|
||||
@retval EFI_ACCESS_DENIED The protocol interface could not be reinstalled,
|
||||
because OldInterface is still being used by a
|
||||
driver that will not release it.
|
||||
@retval EFI_INVALID_PARAMETER Handle is not a valid EFI_HANDLE.
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Protocol is NULL.
|
||||
|
||||
**/
|
||||
@ -1194,7 +1196,7 @@ EFI_STATUS
|
||||
@retval EFI_NOT_FOUND The interface was not found.
|
||||
@retval EFI_ACCESS_DENIED The interface was not removed because the interface
|
||||
is still being used by a driver.
|
||||
@retval EFI_INVALID_PARAMETER Handle is not a valid EFI_HANDLE.
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Protocol is NULL.
|
||||
|
||||
**/
|
||||
@ -1234,7 +1236,7 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The interface information for the specified protocol was returned.
|
||||
@retval EFI_UNSUPPORTED The device does not support the specified protocol.
|
||||
@retval EFI_INVALID_PARAMETER Handle is not a valid EFI_HANDLE.
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Protocol is NULL.
|
||||
@retval EFI_INVALID_PARAMETER Interface is NULL.
|
||||
|
||||
@ -1305,8 +1307,8 @@ EFI_STATUS
|
||||
that required the protocol interface.
|
||||
|
||||
@retval EFI_SUCCESS The protocol instance was closed.
|
||||
@retval EFI_INVALID_PARAMETER 1) Handle is not a valid EFI_HANDLE.
|
||||
2) AgentHandle is not a valid EFI_HANDLE.
|
||||
@retval EFI_INVALID_PARAMETER 1) Handle is NULL.
|
||||
2) AgentHandle is NULL.
|
||||
3) ControllerHandle is not NULL and ControllerHandle is not a valid EFI_HANDLE.
|
||||
4) Protocol is NULL.
|
||||
@retval EFI_NOT_FOUND 1) Handle does not support the protocol specified by Protocol.
|
||||
@ -1493,7 +1495,7 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The (Guid, Table) pair was added, updated, or removed.
|
||||
@retval EFI_NOT_FOUND An attempt was made to delete a nonexistent entry.
|
||||
@retval EFI_INVALID_PARAMETER Guid is not valid.
|
||||
@retval EFI_INVALID_PARAMETER Guid is NULL.
|
||||
@retval EFI_OUT_OF_RESOURCES There is not enough memory available to complete the operation.
|
||||
|
||||
**/
|
||||
@ -1725,16 +1727,17 @@ EFI_STATUS
|
||||
// EFI Runtime Services Table
|
||||
//
|
||||
#define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' ','S','Y','S','T')
|
||||
#define EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31))
|
||||
#define EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30))
|
||||
#define EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20))
|
||||
#define EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10))
|
||||
#define EFI_2_00_SYSTEM_TABLE_REVISION ((2 << 16) | (00))
|
||||
#define EFI_1_10_SYSTEM_TABLE_REVISION ((1 << 16) | (10))
|
||||
#define EFI_1_02_SYSTEM_TABLE_REVISION ((1 << 16) | (02))
|
||||
#define EFI_SYSTEM_TABLE_REVISION EFI_2_30_SYSTEM_TABLE_REVISION
|
||||
#define EFI_SYSTEM_TABLE_REVISION EFI_2_31_SYSTEM_TABLE_REVISION
|
||||
|
||||
#define EFI_RUNTIME_SERVICES_SIGNATURE SIGNATURE_64 ('R','U','N','T','S','E','R','V')
|
||||
#define EFI_RUNTIME_SERVICES_REVISION EFI_2_30_SYSTEM_TABLE_REVISION
|
||||
#define EFI_RUNTIME_SERVICES_REVISION EFI_2_31_SYSTEM_TABLE_REVISION
|
||||
|
||||
///
|
||||
/// EFI Runtime Services Table.
|
||||
@ -1786,7 +1789,7 @@ typedef struct {
|
||||
|
||||
|
||||
#define EFI_BOOT_SERVICES_SIGNATURE SIGNATURE_64 ('B','O','O','T','S','E','R','V')
|
||||
#define EFI_BOOT_SERVICES_REVISION EFI_2_30_SYSTEM_TABLE_REVISION
|
||||
#define EFI_BOOT_SERVICES_REVISION EFI_2_31_SYSTEM_TABLE_REVISION
|
||||
|
||||
///
|
||||
/// EFI Boot Services Table.
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Processor or Compiler specific defines and types x64 (Intel 64, AMD64).
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2012, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@ -149,7 +149,7 @@ FILE_LICENCE ( BSD3 );
|
||||
///
|
||||
/// 1-byte signed value
|
||||
///
|
||||
typedef char INT8;
|
||||
typedef signed char INT8;
|
||||
#else
|
||||
///
|
||||
/// 8-byte unsigned value
|
||||
@ -196,7 +196,7 @@ FILE_LICENCE ( BSD3 );
|
||||
///
|
||||
/// 1-byte signed value
|
||||
///
|
||||
typedef char INT8;
|
||||
typedef signed char INT8;
|
||||
#endif
|
||||
|
||||
///
|
||||
|
@ -12,6 +12,11 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
||||
#include <ipxe/efi/Protocol/PciIo.h>
|
||||
#include <ipxe/efi/Protocol/DevicePath.h>
|
||||
|
||||
/* PciRootBridgeIo.h uses LShiftU64(), which isn't defined anywhere else */
|
||||
static inline EFIAPI uint64_t LShiftU64 ( UINT64 value, UINTN shift ) {
|
||||
return ( value << shift );
|
||||
}
|
||||
|
||||
struct efi_driver;
|
||||
struct device;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user