mirror of https://github.com/ipxe/ipxe.git
[efi] Update to current EDK2 headers
Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/871/head
parent
137ca5d877
commit
e3d543437e
|
@ -1,24 +1,18 @@
|
|||
/** @file
|
||||
Processor or Compiler specific defines and types for AArch64.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
||||
Portions copyright (c) 2011 - 2013, ARM Ltd. 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.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PROCESSOR_BIND_H__
|
||||
#define __PROCESSOR_BIND_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// Define the processor type so other code can make processor based choices
|
||||
|
@ -28,11 +22,57 @@ FILE_LICENCE ( BSD3 );
|
|||
//
|
||||
// Make sure we are using the correct packing rules per EFI specification
|
||||
//
|
||||
#ifndef __GNUC__
|
||||
#if !defined (__GNUC__) && !defined (__ASSEMBLER__)
|
||||
#pragma pack()
|
||||
#endif
|
||||
|
||||
#if _MSC_EXTENSIONS
|
||||
#if defined (_MSC_EXTENSIONS)
|
||||
|
||||
//
|
||||
// Disable some level 4 compilation warnings (same as IA32 and X64)
|
||||
//
|
||||
|
||||
//
|
||||
// Disabling bitfield type checking warnings.
|
||||
//
|
||||
#pragma warning ( disable : 4214 )
|
||||
|
||||
//
|
||||
// Disabling the unreferenced formal parameter warnings.
|
||||
//
|
||||
#pragma warning ( disable : 4100 )
|
||||
|
||||
//
|
||||
// Disable slightly different base types warning as CHAR8 * can not be set
|
||||
// to a constant string.
|
||||
//
|
||||
#pragma warning ( disable : 4057 )
|
||||
|
||||
//
|
||||
// ASSERT(FALSE) or while (TRUE) are legal constructs so suppress this warning
|
||||
//
|
||||
#pragma warning ( disable : 4127 )
|
||||
|
||||
//
|
||||
// This warning is caused by functions defined but not used. For precompiled header only.
|
||||
//
|
||||
#pragma warning ( disable : 4505 )
|
||||
|
||||
//
|
||||
// This warning is caused by empty (after preprocessing) source file. For precompiled header only.
|
||||
//
|
||||
#pragma warning ( disable : 4206 )
|
||||
|
||||
//
|
||||
// Disable 'potentially uninitialized local variable X used' warnings
|
||||
//
|
||||
#pragma warning ( disable : 4701 )
|
||||
|
||||
//
|
||||
// Disable 'potentially uninitialized local pointer variable X used' warnings
|
||||
//
|
||||
#pragma warning ( disable : 4703 )
|
||||
|
||||
//
|
||||
// use Microsoft* C compiler dependent integer width types
|
||||
//
|
||||
|
@ -47,7 +87,9 @@ FILE_LICENCE ( BSD3 );
|
|||
typedef unsigned char UINT8;
|
||||
typedef char CHAR8;
|
||||
typedef signed char INT8;
|
||||
|
||||
#else
|
||||
|
||||
//
|
||||
// Assume standard AARCH64 alignment.
|
||||
//
|
||||
|
@ -62,6 +104,7 @@ FILE_LICENCE ( BSD3 );
|
|||
typedef unsigned char UINT8;
|
||||
typedef char CHAR8;
|
||||
typedef signed char INT8;
|
||||
|
||||
#endif
|
||||
|
||||
///
|
||||
|
@ -95,12 +138,22 @@ typedef INT64 INTN;
|
|||
///
|
||||
#define MAX_ADDRESS 0xFFFFFFFFFFFFFFFFULL
|
||||
|
||||
///
|
||||
/// Maximum usable address at boot time (48 bits using 4 KB pages)
|
||||
///
|
||||
#define MAX_ALLOC_ADDRESS 0xFFFFFFFFFFFFULL
|
||||
|
||||
///
|
||||
/// Maximum legal AArch64 INTN and UINTN values.
|
||||
///
|
||||
#define MAX_INTN ((INTN)0x7FFFFFFFFFFFFFFFULL)
|
||||
#define MAX_UINTN ((UINTN)0xFFFFFFFFFFFFFFFFULL)
|
||||
|
||||
///
|
||||
/// Minimum legal AArch64 INTN value.
|
||||
///
|
||||
#define MIN_INTN (((INTN)-9223372036854775807LL) - 1)
|
||||
|
||||
///
|
||||
/// The stack alignment required for AARCH64
|
||||
///
|
||||
|
|
|
@ -1,22 +1,16 @@
|
|||
/** @file
|
||||
Processor or Compiler specific defines and types for ARM.
|
||||
|
||||
Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, 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
|
||||
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.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PROCESSOR_BIND_H__
|
||||
#define __PROCESSOR_BIND_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// Define the processor type so other code can make processor based choices
|
||||
|
@ -26,18 +20,67 @@ FILE_LICENCE ( BSD3 );
|
|||
//
|
||||
// Make sure we are using the correct packing rules per EFI specification
|
||||
//
|
||||
#ifndef __GNUC__
|
||||
#if !defined (__GNUC__) && !defined (__ASSEMBLER__)
|
||||
#pragma pack()
|
||||
#endif
|
||||
|
||||
#if defined (_MSC_EXTENSIONS)
|
||||
|
||||
//
|
||||
// RVCT does not support the __builtin_unreachable() macro
|
||||
// Disable some level 4 compilation warnings (same as IA32 and X64)
|
||||
//
|
||||
#ifdef __ARMCC_VERSION
|
||||
|
||||
//
|
||||
// Disabling bitfield type checking warnings.
|
||||
//
|
||||
#pragma warning ( disable : 4214 )
|
||||
|
||||
//
|
||||
// Disabling the unreferenced formal parameter warnings.
|
||||
//
|
||||
#pragma warning ( disable : 4100 )
|
||||
|
||||
//
|
||||
// Disable slightly different base types warning as CHAR8 * can not be set
|
||||
// to a constant string.
|
||||
//
|
||||
#pragma warning ( disable : 4057 )
|
||||
|
||||
//
|
||||
// ASSERT(FALSE) or while (TRUE) are legal constructs so suppress this warning
|
||||
//
|
||||
#pragma warning ( disable : 4127 )
|
||||
|
||||
//
|
||||
// This warning is caused by functions defined but not used. For precompiled header only.
|
||||
//
|
||||
#pragma warning ( disable : 4505 )
|
||||
|
||||
//
|
||||
// This warning is caused by empty (after preprocessing) source file. For precompiled header only.
|
||||
//
|
||||
#pragma warning ( disable : 4206 )
|
||||
|
||||
//
|
||||
// Disable 'potentially uninitialized local variable X used' warnings
|
||||
//
|
||||
#pragma warning ( disable : 4701 )
|
||||
|
||||
//
|
||||
// Disable 'potentially uninitialized local pointer variable X used' warnings
|
||||
//
|
||||
#pragma warning ( disable : 4703 )
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// MSFT doesn't support the __builtin_unreachable() macro
|
||||
//
|
||||
#if defined (_MSC_EXTENSIONS)
|
||||
#define UNREACHABLE()
|
||||
#endif
|
||||
|
||||
#if _MSC_EXTENSIONS
|
||||
#if defined (_MSC_EXTENSIONS)
|
||||
//
|
||||
// use Microsoft* C compiler dependent integer width types
|
||||
//
|
||||
|
@ -101,12 +144,22 @@ typedef INT32 INTN;
|
|||
///
|
||||
#define MAX_ADDRESS 0xFFFFFFFF
|
||||
|
||||
///
|
||||
/// Maximum usable address at boot time
|
||||
///
|
||||
#define MAX_ALLOC_ADDRESS MAX_ADDRESS
|
||||
|
||||
///
|
||||
/// Maximum legal ARM INTN and UINTN values.
|
||||
///
|
||||
#define MAX_INTN ((INTN)0x7FFFFFFF)
|
||||
#define MAX_UINTN ((UINTN)0xFFFFFFFF)
|
||||
|
||||
///
|
||||
/// Minimum legal ARM INTN value.
|
||||
///
|
||||
#define MIN_INTN (((INTN)-2147483647) - 1)
|
||||
|
||||
///
|
||||
/// The stack alignment required for ARM
|
||||
///
|
||||
|
@ -161,6 +214,11 @@ typedef INT32 INTN;
|
|||
#define GCC_ASM_IMPORT(name)
|
||||
|
||||
#endif
|
||||
#elif defined (_MSC_EXTENSIONS)
|
||||
//
|
||||
// PRESERVE8 is not supported by the MSFT assembler.
|
||||
//
|
||||
#define PRESERVE8
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -180,5 +238,3 @@ typedef INT32 INTN;
|
|||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -6,23 +6,16 @@
|
|||
environment. There are a set of base libraries in the Mde Package that can
|
||||
be used to implement base modules.
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2021, 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
|
||||
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.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
|
||||
#ifndef __BASE_H__
|
||||
#define __BASE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
//
|
||||
// Include processor specific binding
|
||||
|
@ -36,64 +29,12 @@ FILE_LICENCE ( BSD3 );
|
|||
#pragma warning ( disable : 4200 )
|
||||
#endif
|
||||
|
||||
/**
|
||||
Verifies the storage size of a given data type.
|
||||
|
||||
This macro generates a divide by zero error or a zero size array declaration in
|
||||
the preprocessor if the size is incorrect. These are declared as "extern" so
|
||||
the space for these arrays will not be in the modules.
|
||||
|
||||
@param TYPE The date type to determine the size of.
|
||||
@param Size The expected size for the TYPE.
|
||||
|
||||
**/
|
||||
#define VERIFY_SIZE_OF(TYPE, Size) extern UINT8 _VerifySizeof##TYPE[(sizeof(TYPE) == (Size)) / (sizeof(TYPE) == (Size))]
|
||||
|
||||
//
|
||||
// Verify that ProcessorBind.h produced UEFI Data Types that are compliant with
|
||||
// Section 2.3.1 of the UEFI 2.3 Specification.
|
||||
//
|
||||
VERIFY_SIZE_OF (BOOLEAN, 1);
|
||||
VERIFY_SIZE_OF (INT8, 1);
|
||||
VERIFY_SIZE_OF (UINT8, 1);
|
||||
VERIFY_SIZE_OF (INT16, 2);
|
||||
VERIFY_SIZE_OF (UINT16, 2);
|
||||
VERIFY_SIZE_OF (INT32, 4);
|
||||
VERIFY_SIZE_OF (UINT32, 4);
|
||||
VERIFY_SIZE_OF (INT64, 8);
|
||||
VERIFY_SIZE_OF (UINT64, 8);
|
||||
VERIFY_SIZE_OF (CHAR8, 1);
|
||||
VERIFY_SIZE_OF (CHAR16, 2);
|
||||
|
||||
//
|
||||
// The following three enum types are used to verify that the compiler
|
||||
// configuration for enum types is compliant with Section 2.3.1 of the
|
||||
// UEFI 2.3 Specification. These enum types and enum values are not
|
||||
// intended to be used. A prefix of '__' is used avoid conflicts with
|
||||
// other types.
|
||||
//
|
||||
typedef enum {
|
||||
__VerifyUint8EnumValue = 0xff
|
||||
} __VERIFY_UINT8_ENUM_SIZE;
|
||||
|
||||
typedef enum {
|
||||
__VerifyUint16EnumValue = 0xffff
|
||||
} __VERIFY_UINT16_ENUM_SIZE;
|
||||
|
||||
typedef enum {
|
||||
__VerifyUint32EnumValue = 0xffffffff
|
||||
} __VERIFY_UINT32_ENUM_SIZE;
|
||||
|
||||
VERIFY_SIZE_OF (__VERIFY_UINT8_ENUM_SIZE, 4);
|
||||
VERIFY_SIZE_OF (__VERIFY_UINT16_ENUM_SIZE, 4);
|
||||
VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE, 4);
|
||||
|
||||
//
|
||||
// The Microsoft* C compiler can removed references to unreferenced data items
|
||||
// if the /OPT:REF linker option is used. We defined a macro as this is a
|
||||
// a non standard extension
|
||||
//
|
||||
#if defined(_MSC_EXTENSIONS) && !defined (MDE_CPU_EBC)
|
||||
#if defined (_MSC_VER) && _MSC_VER < 1800 && !defined (MDE_CPU_EBC)
|
||||
///
|
||||
/// Remove global variable from the linked image if there are no references to
|
||||
/// it after all compiler and linker optimizations have been performed.
|
||||
|
@ -114,11 +55,10 @@ VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE, 4);
|
|||
// warnings.
|
||||
//
|
||||
#ifndef UNREACHABLE
|
||||
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
|
||||
#ifdef __GNUC__
|
||||
///
|
||||
/// Signal compilers and analyzers that this call is not reachable. It is
|
||||
/// up to the compiler to remove any code past that point.
|
||||
/// Not implemented by GCC 4.4 or earlier.
|
||||
///
|
||||
#define UNREACHABLE() __builtin_unreachable ()
|
||||
#elif defined (__has_feature)
|
||||
|
@ -220,6 +160,26 @@ VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE, 4);
|
|||
#endif
|
||||
#endif
|
||||
|
||||
///
|
||||
/// Tell the code optimizer that the function will return twice.
|
||||
/// This prevents wrong optimizations which can cause bugs.
|
||||
///
|
||||
#ifndef RETURNS_TWICE
|
||||
#if defined (__GNUC__) || defined (__clang__)
|
||||
///
|
||||
/// Tell the code optimizer that the function will return twice.
|
||||
/// This prevents wrong optimizations which can cause bugs.
|
||||
///
|
||||
#define RETURNS_TWICE __attribute__((returns_twice))
|
||||
#else
|
||||
///
|
||||
/// Tell the code optimizer that the function will return twice.
|
||||
/// This prevents wrong optimizations which can cause bugs.
|
||||
///
|
||||
#define RETURNS_TWICE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// For symbol name in assembly code, an extra "_" is sometimes necessary
|
||||
//
|
||||
|
@ -236,7 +196,7 @@ VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE, 4);
|
|||
///
|
||||
#define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name)
|
||||
|
||||
#if __APPLE__
|
||||
#ifdef __APPLE__
|
||||
//
|
||||
// Apple extension that is used by the linker to optimize code size
|
||||
// with assembly functions. Put at the end of your .S files
|
||||
|
@ -246,15 +206,7 @@ VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE, 4);
|
|||
#define ASM_FUNCTION_REMOVE_IF_UNREFERENCED
|
||||
#endif
|
||||
|
||||
#ifdef __CC_ARM
|
||||
//
|
||||
// Older RVCT ARM compilers don't fully support #pragma pack and require __packed
|
||||
// as a prefix for the structure.
|
||||
//
|
||||
#define PACKED __packed
|
||||
#else
|
||||
#define PACKED
|
||||
#endif
|
||||
|
||||
///
|
||||
/// 128 bit buffer containing a unique identifier value.
|
||||
|
@ -359,7 +311,15 @@ struct _LIST_ENTRY {
|
|||
///
|
||||
/// NULL pointer (VOID *)
|
||||
///
|
||||
#if defined (__cplusplus)
|
||||
#if defined (_MSC_EXTENSIONS)
|
||||
#define NULL nullptr
|
||||
#else
|
||||
#define NULL __null
|
||||
#endif
|
||||
#else
|
||||
#define NULL ((VOID *) 0)
|
||||
#endif
|
||||
|
||||
//
|
||||
// Null character
|
||||
|
@ -378,6 +338,14 @@ struct _LIST_ENTRY {
|
|||
#define MAX_INT64 ((INT64)0x7FFFFFFFFFFFFFFFULL)
|
||||
#define MAX_UINT64 ((UINT64)0xFFFFFFFFFFFFFFFFULL)
|
||||
|
||||
///
|
||||
/// Minimum values for the signed UEFI Data Types
|
||||
///
|
||||
#define MIN_INT8 (((INT8) -127) - 1)
|
||||
#define MIN_INT16 (((INT16) -32767) - 1)
|
||||
#define MIN_INT32 (((INT32) -2147483647) - 1)
|
||||
#define MIN_INT64 (((INT64) -9223372036854775807LL) - 1)
|
||||
|
||||
#define BIT0 0x00000001
|
||||
#define BIT1 0x00000002
|
||||
#define BIT2 0x00000004
|
||||
|
@ -554,21 +522,24 @@ struct _LIST_ENTRY {
|
|||
#define BASE_8EB 0x8000000000000000ULL
|
||||
|
||||
//
|
||||
// Support for variable length argument lists using the ANSI standard.
|
||||
// Support for variable argument lists in freestanding edk2 modules.
|
||||
//
|
||||
// Since we are using the ANSI standard we used the standard naming and
|
||||
// did not follow the coding convention
|
||||
// For modules that use the ISO C library interfaces for variable
|
||||
// argument lists, refer to "StdLib/Include/stdarg.h".
|
||||
//
|
||||
// VA_LIST - typedef for argument list.
|
||||
// VA_START (VA_LIST Marker, argument before the ...) - Init Marker for use.
|
||||
// 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_ARG (VA_LIST Marker, var arg type) - Use Marker to get an argument from
|
||||
// the ... list. You must know the type and pass it in this macro. Type
|
||||
// must be compatible with the type of the actual next argument (as promoted
|
||||
// according to the default argument promotions.)
|
||||
// VA_COPY (VA_LIST Dest, VA_LIST Start) - Initialize Dest as a copy of Start.
|
||||
//
|
||||
// example:
|
||||
// Example:
|
||||
//
|
||||
// UINTN
|
||||
// EFIAPI
|
||||
// ExampleVarArg (
|
||||
// IN UINTN NumberOfArgs,
|
||||
// ...
|
||||
|
@ -584,15 +555,21 @@ struct _LIST_ENTRY {
|
|||
// VA_START (Marker, NumberOfArgs);
|
||||
// for (Index = 0, Result = 0; Index < NumberOfArgs; Index++) {
|
||||
// //
|
||||
// // The ... list is a series of UINTN values, so average them up.
|
||||
// // The ... list is a series of UINTN values, so sum them up.
|
||||
// //
|
||||
// Result += VA_ARG (Marker, UINTN);
|
||||
// }
|
||||
//
|
||||
// VA_END (Marker);
|
||||
// return Result
|
||||
// return Result;
|
||||
// }
|
||||
//
|
||||
// Notes:
|
||||
// - Functions that call VA_START() / VA_END() must have a variable
|
||||
// argument list and must be declared EFIAPI.
|
||||
// - Functions that call VA_COPY() / VA_END() must be declared EFIAPI.
|
||||
// - Functions that only use VA_LIST and VA_ARG() need not be EFIAPI.
|
||||
//
|
||||
|
||||
/**
|
||||
Return the size of argument that has been aligned to sizeof (UINTN).
|
||||
|
@ -603,37 +580,19 @@ struct _LIST_ENTRY {
|
|||
**/
|
||||
#define _INT_SIZE_OF(n) ((sizeof (n) + sizeof (UINTN) - 1) &~(sizeof (UINTN) - 1))
|
||||
|
||||
#if defined(__CC_ARM)
|
||||
#if defined (_M_ARM) || defined (_M_ARM64)
|
||||
//
|
||||
// RVCT ARM variable argument list support.
|
||||
// MSFT ARM variable argument list support.
|
||||
//
|
||||
|
||||
///
|
||||
/// Variable used to traverse the list of arguments. This type can vary by
|
||||
/// implementation and could be an array or structure.
|
||||
///
|
||||
#ifdef __APCS_ADSABI
|
||||
typedef int *va_list[1];
|
||||
#define VA_LIST va_list
|
||||
#else
|
||||
typedef struct __va_list { void *__ap; } va_list;
|
||||
#define VA_LIST va_list
|
||||
#endif
|
||||
typedef char *VA_LIST;
|
||||
|
||||
#define VA_START(Marker, Parameter) __va_start(Marker, Parameter)
|
||||
#define VA_START(Marker, Parameter) __va_start (&Marker, &Parameter, _INT_SIZE_OF (Parameter), __alignof(Parameter), &Parameter)
|
||||
#define VA_ARG(Marker, TYPE) (*(TYPE *) ((Marker += _INT_SIZE_OF (TYPE) + ((-(INTN)Marker) & (sizeof(TYPE) - 1))) - _INT_SIZE_OF (TYPE)))
|
||||
#define VA_END(Marker) (Marker = (VA_LIST) 0)
|
||||
#define VA_COPY(Dest, Start) ((void)((Dest) = (Start)))
|
||||
|
||||
#define VA_ARG(Marker, TYPE) __va_arg(Marker, TYPE)
|
||||
|
||||
#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__)
|
||||
#elif defined (__GNUC__) || defined (__clang__)
|
||||
|
||||
#if defined (MDE_CPU_X64) && !defined (NO_MSABI_VA_FUNCS)
|
||||
//
|
||||
|
@ -793,16 +752,72 @@ typedef UINTN *BASE_LIST;
|
|||
@return Offset, in bytes, of field.
|
||||
|
||||
**/
|
||||
#ifdef __GNUC__
|
||||
#if __GNUC__ >= 4
|
||||
#if (defined (__GNUC__) && __GNUC__ >= 4) || defined (__clang__)
|
||||
#define OFFSET_OF(TYPE, Field) ((UINTN) __builtin_offsetof(TYPE, Field))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef OFFSET_OF
|
||||
#define OFFSET_OF(TYPE, Field) ((UINTN) &(((TYPE *)0)->Field))
|
||||
#endif
|
||||
|
||||
/**
|
||||
Portable definition for compile time assertions.
|
||||
Equivalent to C11 static_assert macro from assert.h.
|
||||
|
||||
@param Expression Boolean expression.
|
||||
@param Message Raised compiler diagnostic message when expression is false.
|
||||
|
||||
**/
|
||||
#ifdef MDE_CPU_EBC
|
||||
#define STATIC_ASSERT(Expression, Message)
|
||||
#elif defined (_MSC_EXTENSIONS) || defined (__cplusplus)
|
||||
#define STATIC_ASSERT static_assert
|
||||
#else
|
||||
#define STATIC_ASSERT _Static_assert
|
||||
#endif
|
||||
|
||||
//
|
||||
// Verify that ProcessorBind.h produced UEFI Data Types that are compliant with
|
||||
// Section 2.3.1 of the UEFI 2.3 Specification.
|
||||
//
|
||||
|
||||
STATIC_ASSERT (sizeof (BOOLEAN) == 1, "sizeof (BOOLEAN) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (INT8) == 1, "sizeof (INT8) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (UINT8) == 1, "sizeof (UINT8) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (INT16) == 2, "sizeof (INT16) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (UINT16) == 2, "sizeof (UINT16) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (INT32) == 4, "sizeof (INT32) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (UINT32) == 4, "sizeof (UINT32) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (INT64) == 8, "sizeof (INT64) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (UINT64) == 8, "sizeof (UINT64) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (CHAR8) == 1, "sizeof (CHAR8) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (CHAR16) == 2, "sizeof (CHAR16) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (L'A') == 2, "sizeof (L'A') does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (L"A") == 4, "sizeof (L\"A\") does not meet UEFI Specification Data Type requirements");
|
||||
|
||||
//
|
||||
// The following three enum types are used to verify that the compiler
|
||||
// configuration for enum types is compliant with Section 2.3.1 of the
|
||||
// UEFI 2.3 Specification. These enum types and enum values are not
|
||||
// intended to be used. A prefix of '__' is used avoid conflicts with
|
||||
// other types.
|
||||
//
|
||||
typedef enum {
|
||||
__VerifyUint8EnumValue = 0xff
|
||||
} __VERIFY_UINT8_ENUM_SIZE;
|
||||
|
||||
typedef enum {
|
||||
__VerifyUint16EnumValue = 0xffff
|
||||
} __VERIFY_UINT16_ENUM_SIZE;
|
||||
|
||||
typedef enum {
|
||||
__VerifyUint32EnumValue = 0xffffffff
|
||||
} __VERIFY_UINT32_ENUM_SIZE;
|
||||
|
||||
STATIC_ASSERT (sizeof (__VERIFY_UINT8_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (__VERIFY_UINT16_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (__VERIFY_UINT32_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements");
|
||||
|
||||
/**
|
||||
Macro that returns a pointer to the data structure that contains a specified field of
|
||||
that data structure. This is a lightweight method to hide information by placing a
|
||||
|
@ -822,7 +837,7 @@ typedef UINTN *BASE_LIST;
|
|||
@return A pointer to the structure from one of it's elements.
|
||||
|
||||
**/
|
||||
#define BASE_CR(Record, TYPE, Field) ((TYPE *) ((CHAR8 *) (Record) - (CHAR8 *) &(((TYPE *) 0)->Field)))
|
||||
#define BASE_CR(Record, TYPE, Field) ((TYPE *) ((CHAR8 *) (Record) - OFFSET_OF (TYPE, Field)))
|
||||
|
||||
/**
|
||||
Rounds a value up to the next boundary using a specified alignment.
|
||||
|
@ -867,7 +882,6 @@ typedef UINTN *BASE_LIST;
|
|||
**/
|
||||
#define ALIGN_VARIABLE(Value) ALIGN_VALUE ((Value), sizeof (UINTN))
|
||||
|
||||
|
||||
/**
|
||||
Return the maximum of two operands.
|
||||
|
||||
|
@ -955,7 +969,7 @@ typedef UINTN RETURN_STATUS;
|
|||
///
|
||||
/// The operation completed successfully.
|
||||
///
|
||||
#define RETURN_SUCCESS 0
|
||||
#define RETURN_SUCCESS (RETURN_STATUS)(0)
|
||||
|
||||
///
|
||||
/// The image failed to load.
|
||||
|
@ -1160,7 +1174,6 @@ typedef UINTN RETURN_STATUS;
|
|||
///
|
||||
#define RETURN_WARN_FILE_SYSTEM ENCODE_WARNING (6)
|
||||
|
||||
|
||||
/**
|
||||
Returns a 16-bit signature built from 2 ASCII characters.
|
||||
|
||||
|
@ -1215,7 +1228,13 @@ typedef UINTN RETURN_STATUS;
|
|||
(SIGNATURE_32 (A, B, C, D) | ((UINT64) (SIGNATURE_32 (E, F, G, H)) << 32))
|
||||
|
||||
#if defined (_MSC_EXTENSIONS) && !defined (__INTEL_COMPILER) && !defined (MDE_CPU_EBC)
|
||||
void *
|
||||
_ReturnAddress (
|
||||
void
|
||||
);
|
||||
|
||||
#pragma intrinsic(_ReturnAddress)
|
||||
|
||||
/**
|
||||
Get the return address of the calling function.
|
||||
|
||||
|
@ -1229,8 +1248,8 @@ typedef UINTN RETURN_STATUS;
|
|||
|
||||
**/
|
||||
#define RETURN_ADDRESS(L) ((L == 0) ? _ReturnAddress() : (VOID *) 0)
|
||||
#elif defined(__GNUC__)
|
||||
void * __builtin_return_address (unsigned int level);
|
||||
#elif defined (__GNUC__) || defined (__clang__)
|
||||
|
||||
/**
|
||||
Get the return address of the calling function.
|
||||
|
||||
|
@ -1244,6 +1263,7 @@ typedef UINTN RETURN_STATUS;
|
|||
**/
|
||||
#define RETURN_ADDRESS(L) __builtin_return_address (L)
|
||||
#else
|
||||
|
||||
/**
|
||||
Get the return address of the calling function.
|
||||
|
||||
|
@ -1269,4 +1289,3 @@ typedef UINTN RETURN_STATUS;
|
|||
#define ARRAY_SIZE(Array) (sizeof (Array) / sizeof ((Array)[0]))
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -5,14 +5,8 @@
|
|||
ACPI 2.0 specification defines the ACPI 2.0 GUID. UEFI 2.0 defines the
|
||||
ACPI 2.0 Table GUID and ACPI Table GUID.
|
||||
|
||||
Copyright (c) 2006 - 2009, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
GUIDs defined in UEFI 2.0 spec.
|
||||
|
@ -22,7 +16,7 @@
|
|||
#ifndef __ACPI_GUID_H__
|
||||
#define __ACPI_GUID_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define ACPI_TABLE_GUID \
|
||||
{ \
|
||||
|
|
|
@ -3,21 +3,15 @@
|
|||
and EFI_FILE_PROTOCOL.GetInfo() to set or get generic file information.
|
||||
This GUID is defined in UEFI specification.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __FILE_INFO_H__
|
||||
#define __FILE_INFO_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_FILE_INFO_ID \
|
||||
{ \
|
||||
|
|
|
@ -3,21 +3,15 @@
|
|||
or EFI_FILE_PROTOCOL.SetInfo() to get or set information about the system's volume.
|
||||
This GUID is defined in UEFI specification.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __FILE_SYSTEM_INFO_H__
|
||||
#define __FILE_SYSTEM_INFO_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_FILE_SYSTEM_INFO_ID \
|
||||
{ \
|
||||
|
|
|
@ -1,14 +1,8 @@
|
|||
/** @file
|
||||
Guid used to identify HII FormMap configuration method.
|
||||
|
||||
Copyright (c) 2009, 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.
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
GUID defined in UEFI 2.2 spec.
|
||||
|
@ -17,7 +11,7 @@
|
|||
#ifndef __EFI_HII_FORMMAP_GUID_H__
|
||||
#define __EFI_HII_FORMMAP_GUID_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_HII_STANDARD_FORM_GUID \
|
||||
{ 0x3bd2f4ec, 0xe524, 0x46e4, { 0xa9, 0xd8, 0x51, 0x1, 0x17, 0x42, 0x55, 0x62 } }
|
||||
|
|
|
@ -2,14 +2,8 @@
|
|||
GUID indicates that the form set contains forms designed to be used
|
||||
for platform configuration and this form set will be displayed.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
GUID defined in UEFI 2.1.
|
||||
|
@ -19,7 +13,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __HII_PLATFORM_SETUP_FORMSET_GUID_H__
|
||||
#define __HII_PLATFORM_SETUP_FORMSET_GUID_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_HII_PLATFORM_SETUP_FORMSET_GUID \
|
||||
{ 0x93039971, 0x8545, 0x4b04, { 0xb4, 0x5e, 0x32, 0xeb, 0x83, 0x26, 0x4, 0xe } }
|
||||
|
@ -30,8 +24,12 @@ FILE_LICENCE ( BSD3 );
|
|||
#define EFI_HII_USER_CREDENTIAL_FORMSET_GUID \
|
||||
{ 0x337f4407, 0x5aee, 0x4b83, { 0xb2, 0xa7, 0x4e, 0xad, 0xca, 0x30, 0x88, 0xcd } }
|
||||
|
||||
#define EFI_HII_REST_STYLE_FORMSET_GUID \
|
||||
{ 0x790217bd, 0xbecf, 0x485b, { 0x91, 0x70, 0x5f, 0xf7, 0x11, 0x31, 0x8b, 0x27 } }
|
||||
|
||||
extern EFI_GUID gEfiHiiPlatformSetupFormsetGuid;
|
||||
extern EFI_GUID gEfiHiiDriverHealthFormsetGuid;
|
||||
extern EFI_GUID gEfiHiiUserCredentialFormsetGuid;
|
||||
extern EFI_GUID gEfiHiiRestStyleFormsetGuid;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,21 +1,15 @@
|
|||
/** @file
|
||||
EDKII extented HII IFR guid opcodes.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __MDEMODULE_HII_H__
|
||||
#define __MDEMODULE_HII_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define NARROW_CHAR 0xFFF0
|
||||
#define WIDE_CHAR 0xFFF1
|
||||
|
@ -213,10 +207,27 @@ typedef struct _EFI_IFR_GUID_VAREQNAME {
|
|||
UINT16 NameId;
|
||||
} EFI_IFR_GUID_VAREQNAME;
|
||||
|
||||
///
|
||||
/// EDKII implementation extension GUID, used to indaicate there are bit fields in the varstore.
|
||||
///
|
||||
#define EDKII_IFR_BIT_VARSTORE_GUID \
|
||||
{0x82DDD68B, 0x9163, 0x4187, {0x9B, 0x27, 0x20, 0xA8, 0xFD, 0x60,0xA7, 0x1D}}
|
||||
|
||||
///
|
||||
/// EDKII implementation extension flags, used to indaicate the disply style and bit width for bit filed storage.
|
||||
/// Two high bits for display style and the low six bits for bit width.
|
||||
///
|
||||
#define EDKII_IFR_DISPLAY_BIT 0xC0
|
||||
#define EDKII_IFR_DISPLAY_INT_DEC_BIT 0x00
|
||||
#define EDKII_IFR_DISPLAY_UINT_DEC_BIT 0x40
|
||||
#define EDKII_IFR_DISPLAY_UINT_HEX_BIT 0x80
|
||||
|
||||
#define EDKII_IFR_NUMERIC_SIZE_BIT 0x3F
|
||||
|
||||
#pragma pack()
|
||||
|
||||
extern EFI_GUID gEfiIfrTianoGuid;
|
||||
extern EFI_GUID gEfiIfrFrameworkGuid;
|
||||
extern EFI_GUID gEdkiiIfrBitVarstoreGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,14 +1,8 @@
|
|||
/** @file
|
||||
Terminal Device Path Vendor Guid.
|
||||
|
||||
Copyright (c) 2006 - 2009, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
GUIDs defined in UEFI 2.0 spec.
|
||||
|
@ -18,7 +12,7 @@
|
|||
#ifndef __PC_ANSI_H__
|
||||
#define __PC_ANSI_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_PC_ANSI_GUID \
|
||||
{ \
|
||||
|
|
|
@ -5,14 +5,8 @@
|
|||
locate the SMBIOS tables. Do not search the 0xF0000 segment to find SMBIOS
|
||||
tables.
|
||||
|
||||
Copyright (c) 2006 - 2015, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
GUIDs defined in UEFI 2.5 spec.
|
||||
|
@ -22,7 +16,7 @@
|
|||
#ifndef __SMBIOS_GUID_H__
|
||||
#define __SMBIOS_GUID_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define SMBIOS_TABLE_GUID \
|
||||
{ \
|
||||
|
|
|
@ -2,13 +2,7 @@
|
|||
GUID for UEFI WIN_CERTIFICATE structure.
|
||||
|
||||
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
|
||||
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.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
GUID defined in UEFI 2.0 spec.
|
||||
|
@ -17,7 +11,7 @@
|
|||
#ifndef __EFI_WIN_CERTIFICATE_H__
|
||||
#define __EFI_WIN_CERTIFICATE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
//
|
||||
// _WIN_CERTIFICATE.wCertificateType
|
||||
|
@ -69,7 +63,6 @@ typedef struct {
|
|||
UINT8 Signature[256];
|
||||
} EFI_CERT_BLOCK_RSA_2048_SHA256;
|
||||
|
||||
|
||||
///
|
||||
/// Certificate which encapsulates a GUID-specific digital signature
|
||||
///
|
||||
|
@ -93,7 +86,6 @@ typedef struct {
|
|||
UINT8 CertData[1];
|
||||
} WIN_CERTIFICATE_UEFI_GUID;
|
||||
|
||||
|
||||
///
|
||||
/// Certificate which encapsulates the RSASSA_PKCS1-v1_5 digital signature.
|
||||
///
|
||||
|
|
|
@ -1,21 +1,15 @@
|
|||
/** @file
|
||||
Processor or Compiler specific defines and types for IA-32 architecture.
|
||||
|
||||
Copyright (c) 2006 - 2015, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PROCESSOR_BIND_H__
|
||||
#define __PROCESSOR_BIND_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// Define the processor type so other code can make processor based choices.
|
||||
|
@ -56,7 +50,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
#endif
|
||||
|
||||
|
||||
#if defined (_MSC_EXTENSIONS)
|
||||
|
||||
//
|
||||
|
@ -95,7 +88,7 @@ FILE_LICENCE ( BSD3 );
|
|||
//
|
||||
#pragma warning ( disable : 4206 )
|
||||
|
||||
#if _MSC_VER == 1800 || _MSC_VER == 1900
|
||||
#if defined (_MSC_VER) && _MSC_VER >= 1800
|
||||
|
||||
//
|
||||
// Disable these warnings for VS2013.
|
||||
|
@ -117,7 +110,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
#endif
|
||||
|
||||
|
||||
#if defined (_MSC_EXTENSIONS)
|
||||
|
||||
//
|
||||
|
@ -248,12 +240,22 @@ typedef INT32 INTN;
|
|||
///
|
||||
#define MAX_ADDRESS 0xFFFFFFFF
|
||||
|
||||
///
|
||||
/// Maximum usable address at boot time
|
||||
///
|
||||
#define MAX_ALLOC_ADDRESS MAX_ADDRESS
|
||||
|
||||
///
|
||||
/// Maximum legal IA-32 INTN and UINTN values.
|
||||
///
|
||||
#define MAX_INTN ((INTN)0x7FFFFFFF)
|
||||
#define MAX_UINTN ((UINTN)0xFFFFFFFF)
|
||||
|
||||
///
|
||||
/// Minimum legal IA-32 INTN value.
|
||||
///
|
||||
#define MIN_INTN (((INTN)-2147483647) - 1)
|
||||
|
||||
///
|
||||
/// The stack alignment required for IA-32.
|
||||
///
|
||||
|
@ -279,7 +281,7 @@ typedef INT32 INTN;
|
|||
/// Microsoft* compiler specific method for EFIAPI calling convention.
|
||||
///
|
||||
#define EFIAPI __cdecl
|
||||
#elif defined(__GNUC__)
|
||||
#elif defined (__GNUC__) || defined (__clang__)
|
||||
///
|
||||
/// GCC specific method for EFIAPI calling convention.
|
||||
///
|
||||
|
@ -292,7 +294,7 @@ typedef INT32 INTN;
|
|||
#define EFIAPI
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#if defined (__GNUC__) || defined (__clang__)
|
||||
///
|
||||
/// For GNU assembly code, .global or .globl can declare global symbols.
|
||||
/// Define this macro to unify the usage.
|
||||
|
@ -317,4 +319,3 @@ typedef INT32 INTN;
|
|||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,20 +1,15 @@
|
|||
/** @file
|
||||
ACPI 1.0b definitions from the ACPI Specification, revision 1.0b
|
||||
|
||||
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
|
||||
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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2020, Arm Limited. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#ifndef _ACPI_1_0_H_
|
||||
#define _ACPI_1_0_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/IndustryStandard/AcpiAml.h>
|
||||
|
||||
|
@ -45,7 +40,7 @@ typedef struct {
|
|||
#pragma pack()
|
||||
|
||||
//
|
||||
// Define for Desriptor
|
||||
// Define for Descriptor
|
||||
//
|
||||
#define ACPI_SMALL_ITEM_FLAG 0x00
|
||||
#define ACPI_LARGE_ITEM_FLAG 0x01
|
||||
|
@ -117,7 +112,7 @@ typedef struct {
|
|||
#pragma pack(1)
|
||||
|
||||
///
|
||||
/// The commond definition of QWORD, DWORD, and WORD
|
||||
/// The common definition of QWORD, DWORD, and WORD
|
||||
/// Address Space Descriptors.
|
||||
///
|
||||
typedef PACKED struct {
|
||||
|
@ -366,7 +361,7 @@ typedef struct {
|
|||
#define EFI_ACPI_DMA_TRANSFER_TYPE_MASK 0x03
|
||||
#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT 0x00
|
||||
#define EFI_ACPI_DMA_TRANSFER_TYPE_8_BIT_AND_16_BIT 0x01
|
||||
#define EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT 0x10
|
||||
#define EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT 0x02
|
||||
|
||||
//
|
||||
// IO Information
|
||||
|
@ -384,6 +379,16 @@ typedef struct {
|
|||
#define EFI_ACPI_MEMORY_WRITABLE 0x01
|
||||
#define EFI_ACPI_MEMORY_NON_WRITABLE 0x00
|
||||
|
||||
//
|
||||
// Interrupt Vector Flags definitions for Extended Interrupt Descriptor
|
||||
// Ref ACPI specification 6.4.3.6
|
||||
//
|
||||
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_PRODUCER_CONSUMER_MASK BIT0
|
||||
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_MODE_MASK BIT1
|
||||
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_POLARITY_MASK BIT2
|
||||
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_SHARABLE_MASK BIT3
|
||||
#define EFI_ACPI_EXTENDED_INTERRUPT_FLAG_WAKE_CAPABLITY_MASK BIT4
|
||||
|
||||
//
|
||||
// Ensure proper structure formats
|
||||
//
|
||||
|
|
|
@ -1,25 +1,19 @@
|
|||
/** @file
|
||||
ACPI 2.0 definitions from the ACPI Specification, revision 2.0
|
||||
|
||||
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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#ifndef _ACPI_2_0_H_
|
||||
#define _ACPI_2_0_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/IndustryStandard/Acpi10.h>
|
||||
|
||||
//
|
||||
// Define for Desriptor
|
||||
// Define for Descriptor
|
||||
//
|
||||
#define ACPI_LARGE_GENERIC_REGISTER_DESCRIPTOR_NAME 0x02
|
||||
|
||||
|
@ -513,7 +507,7 @@ typedef struct {
|
|||
#define EFI_ACPI_2_0_SYSTEM_LOCALITY_INFORMATION_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'T')
|
||||
|
||||
///
|
||||
/// "SPCR" Serial Port Concole Redirection Table
|
||||
/// "SPCR" Serial Port Console Redirection Table
|
||||
///
|
||||
#define EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
|
||||
|
||||
|
|
|
@ -1,25 +1,19 @@
|
|||
/** @file
|
||||
ACPI 3.0 definitions from the ACPI Specification Revision 3.0b October 10, 2006
|
||||
|
||||
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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#ifndef _ACPI_3_0_H_
|
||||
#define _ACPI_3_0_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/IndustryStandard/Acpi20.h>
|
||||
|
||||
//
|
||||
// Define for Desriptor
|
||||
// Define for Descriptor
|
||||
//
|
||||
#define ACPI_LARGE_EXTENDED_ADDRESS_SPACE_DESCRIPTOR_NAME 0x0B
|
||||
|
||||
|
@ -692,7 +686,7 @@ typedef struct {
|
|||
#define EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'F', 'G')
|
||||
|
||||
///
|
||||
/// "SPCR" Serial Port Concole Redirection Table
|
||||
/// "SPCR" Serial Port Console Redirection Table
|
||||
///
|
||||
#define EFI_ACPI_3_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
|
||||
|
||||
|
|
|
@ -1,20 +1,14 @@
|
|||
/** @file
|
||||
ACPI 4.0 definitions from the ACPI Specification Revision 4.0a April 5, 2010
|
||||
|
||||
Copyright (c) 2010 - 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.
|
||||
Copyright (c) 2010 - 2022, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#ifndef _ACPI_4_0_H_
|
||||
#define _ACPI_4_0_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/IndustryStandard/Acpi30.h>
|
||||
|
||||
|
@ -698,6 +692,7 @@ typedef struct {
|
|||
// Boot Error Severity types
|
||||
//
|
||||
#define EFI_ACPI_4_0_ERROR_SEVERITY_CORRECTABLE 0x00
|
||||
#define EFI_ACPI_4_0_ERROR_SEVERITY_RECOVERABLE 0x00
|
||||
#define EFI_ACPI_4_0_ERROR_SEVERITY_FATAL 0x01
|
||||
#define EFI_ACPI_4_0_ERROR_SEVERITY_CORRECTED 0x02
|
||||
#define EFI_ACPI_4_0_ERROR_SEVERITY_NONE 0x03
|
||||
|
@ -1272,7 +1267,7 @@ typedef struct {
|
|||
#define EFI_ACPI_4_0_MANAGEMENT_CONTROLLER_HOST_INTERFACE_TABLE_SIGNATURE SIGNATURE_32('M', 'C', 'H', 'I')
|
||||
|
||||
///
|
||||
/// "SPCR" Serial Port Concole Redirection Table
|
||||
/// "SPCR" Serial Port Console Redirection Table
|
||||
///
|
||||
#define EFI_ACPI_4_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
|
||||
|
||||
|
|
|
@ -2,25 +2,20 @@
|
|||
ACPI 5.0 definitions from the ACPI Specification Revision 5.0a November 13, 2013.
|
||||
|
||||
Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
|
||||
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
|
||||
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.
|
||||
Copyright (c) 2011 - 2022, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2020, ARM Ltd. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#ifndef _ACPI_5_0_H_
|
||||
#define _ACPI_5_0_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/IndustryStandard/Acpi40.h>
|
||||
|
||||
//
|
||||
// Define for Desriptor
|
||||
// Define for Descriptor
|
||||
//
|
||||
#define ACPI_SMALL_FIXED_DMA_DESCRIPTOR_NAME 0x0A
|
||||
#define ACPI_LARGE_GPIO_CONNECTION_DESCRIPTOR_NAME 0x0C
|
||||
|
@ -1003,9 +998,9 @@ typedef struct {
|
|||
///
|
||||
/// Memory Aggregator Device Type
|
||||
///
|
||||
#define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x1
|
||||
#define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x2
|
||||
#define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x3
|
||||
#define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
|
||||
#define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
|
||||
#define EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
|
||||
|
||||
///
|
||||
/// Socket Memory Aggregator Device Structure.
|
||||
|
@ -1368,6 +1363,7 @@ typedef struct {
|
|||
// Boot Error Severity types
|
||||
//
|
||||
#define EFI_ACPI_5_0_ERROR_SEVERITY_CORRECTABLE 0x00
|
||||
#define EFI_ACPI_5_0_ERROR_SEVERITY_RECOVERABLE 0x00
|
||||
#define EFI_ACPI_5_0_ERROR_SEVERITY_FATAL 0x01
|
||||
#define EFI_ACPI_5_0_ERROR_SEVERITY_CORRECTED 0x02
|
||||
#define EFI_ACPI_5_0_ERROR_SEVERITY_NONE 0x03
|
||||
|
@ -2065,13 +2061,18 @@ typedef struct {
|
|||
///
|
||||
#define EFI_ACPI_5_0_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
|
||||
|
||||
///
|
||||
/// "PCCT" Platform Communications Channel Table
|
||||
///
|
||||
#define EFI_ACPI_5_0_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
|
||||
|
||||
///
|
||||
/// "SLIC" MS Software Licensing Table Specification
|
||||
///
|
||||
#define EFI_ACPI_5_0_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
|
||||
|
||||
///
|
||||
/// "SPCR" Serial Port Concole Redirection Table
|
||||
/// "SPCR" Serial Port Console Redirection Table
|
||||
///
|
||||
#define EFI_ACPI_5_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
|
||||
|
||||
|
|
|
@ -2,21 +2,16 @@
|
|||
ACPI 5.1 definitions from the ACPI Specification Revision 5.1 Errata B January, 2016.
|
||||
|
||||
Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR>
|
||||
Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2014 - 2022, Intel Corporation. All rights reserved.<BR>
|
||||
(C) Copyright 2015 Hewlett Packard Enterprise Development LP<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.
|
||||
Copyright (c) 2020, ARM Ltd. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#ifndef _ACPI_5_1_H_
|
||||
#define _ACPI_5_1_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/IndustryStandard/Acpi50.h>
|
||||
|
||||
|
@ -958,9 +953,9 @@ typedef struct {
|
|||
///
|
||||
/// Memory Aggregator Device Type
|
||||
///
|
||||
#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x1
|
||||
#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x2
|
||||
#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x3
|
||||
#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
|
||||
#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
|
||||
#define EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
|
||||
|
||||
///
|
||||
/// Socket Memory Aggregator Device Structure.
|
||||
|
@ -1383,10 +1378,16 @@ typedef struct {
|
|||
//
|
||||
// Boot Error Severity types
|
||||
//
|
||||
#define EFI_ACPI_5_1_ERROR_SEVERITY_CORRECTABLE 0x00
|
||||
#define EFI_ACPI_5_1_ERROR_SEVERITY_RECOVERABLE 0x00
|
||||
#define EFI_ACPI_5_1_ERROR_SEVERITY_FATAL 0x01
|
||||
#define EFI_ACPI_5_1_ERROR_SEVERITY_CORRECTED 0x02
|
||||
#define EFI_ACPI_5_1_ERROR_SEVERITY_NONE 0x03
|
||||
//
|
||||
// The term 'Correctable' is no longer being used as an error severity of the
|
||||
// reported error since ACPI Specification Version 5.1 Errata B.
|
||||
// The below macro is considered as deprecated and should no longer be used.
|
||||
//
|
||||
#define EFI_ACPI_5_1_ERROR_SEVERITY_CORRECTABLE 0x00
|
||||
|
||||
///
|
||||
/// Generic Error Data Entry Definition
|
||||
|
@ -2086,13 +2087,18 @@ typedef struct {
|
|||
///
|
||||
#define EFI_ACPI_5_1_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
|
||||
|
||||
///
|
||||
/// "PCCT" Platform Communications Channel Table
|
||||
///
|
||||
#define EFI_ACPI_5_1_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
|
||||
|
||||
///
|
||||
/// "SLIC" MS Software Licensing Table Specification
|
||||
///
|
||||
#define EFI_ACPI_5_1_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
|
||||
|
||||
///
|
||||
/// "SPCR" Serial Port Concole Redirection Table
|
||||
/// "SPCR" Serial Port Console Redirection Table
|
||||
///
|
||||
#define EFI_ACPI_5_1_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
|
||||
|
||||
|
|
|
@ -1,21 +1,16 @@
|
|||
/** @file
|
||||
ACPI 6.0 definitions from the ACPI Specification Revision 6.0 Errata A January, 2016.
|
||||
|
||||
Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2015 - 2022, Intel Corporation. All rights reserved.<BR>
|
||||
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<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.
|
||||
Copyright (c) 2020, ARM Ltd. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#ifndef _ACPI_6_0_H_
|
||||
#define _ACPI_6_0_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/IndustryStandard/Acpi51.h>
|
||||
|
||||
|
@ -973,9 +968,9 @@ typedef struct {
|
|||
///
|
||||
/// Memory Aggregator Device Type
|
||||
///
|
||||
#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x1
|
||||
#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x2
|
||||
#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x3
|
||||
#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x0
|
||||
#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x1
|
||||
#define EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x2
|
||||
|
||||
///
|
||||
/// Socket Memory Aggregator Device Structure.
|
||||
|
@ -1567,10 +1562,16 @@ typedef struct {
|
|||
//
|
||||
// Boot Error Severity types
|
||||
//
|
||||
#define EFI_ACPI_6_0_ERROR_SEVERITY_CORRECTABLE 0x00
|
||||
#define EFI_ACPI_6_0_ERROR_SEVERITY_RECOVERABLE 0x00
|
||||
#define EFI_ACPI_6_0_ERROR_SEVERITY_FATAL 0x01
|
||||
#define EFI_ACPI_6_0_ERROR_SEVERITY_CORRECTED 0x02
|
||||
#define EFI_ACPI_6_0_ERROR_SEVERITY_NONE 0x03
|
||||
//
|
||||
// The term 'Correctable' is no longer being used as an error severity of the
|
||||
// reported error since ACPI Specification Version 5.1 Errata B.
|
||||
// The below macro is considered as deprecated and should no longer be used.
|
||||
//
|
||||
#define EFI_ACPI_6_0_ERROR_SEVERITY_CORRECTABLE 0x00
|
||||
|
||||
///
|
||||
/// Generic Error Data Entry Definition
|
||||
|
@ -2023,6 +2024,8 @@ typedef struct {
|
|||
// PCCT Subspace type
|
||||
//
|
||||
#define EFI_ACPI_6_0_PCCT_SUBSPACE_TYPE_GENERIC 0x00
|
||||
#define EFI_ACPI_6_0_PCCT_SUBSPACE_TYPE_1_HW_REDUCED_COMMUNICATIONS 0x01
|
||||
#define EFI_ACPI_6_0_PCCT_SUBSPACE_TYPE_2_HW_REDUCED_COMMUNICATIONS 0x02
|
||||
|
||||
///
|
||||
/// PCC Subspace Structure Header
|
||||
|
@ -2074,6 +2077,50 @@ typedef struct {
|
|||
EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_STATUS Status;
|
||||
} EFI_ACPI_6_0_PCCT_GENERIC_SHARED_MEMORY_REGION_HEADER;
|
||||
|
||||
#define EFI_ACPI_6_0_PCCT_SUBSPACE_DOORBELL_INTERRUPT_FLAGS_POLARITY BIT0
|
||||
#define EFI_ACPI_6_0_PCCT_SUBSPACE_DOORBELL_INTERRUPT_FLAGS_MODE BIT1
|
||||
|
||||
///
|
||||
/// Type 1 HW-Reduced Communications Subspace Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
UINT32 DoorbellInterrupt;
|
||||
UINT8 DoorbellInterruptFlags;
|
||||
UINT8 Reserved;
|
||||
UINT64 BaseAddress;
|
||||
UINT64 AddressLength;
|
||||
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE DoorbellRegister;
|
||||
UINT64 DoorbellPreserve;
|
||||
UINT64 DoorbellWrite;
|
||||
UINT32 NominalLatency;
|
||||
UINT32 MaximumPeriodicAccessRate;
|
||||
UINT16 MinimumRequestTurnaroundTime;
|
||||
} EFI_ACPI_6_0_PCCT_SUBSPACE_1_HW_REDUCED_COMMUNICATIONS;
|
||||
|
||||
///
|
||||
/// Type 2 HW-Reduced Communications Subspace Structure
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 Length;
|
||||
UINT32 DoorbellInterrupt;
|
||||
UINT8 DoorbellInterruptFlags;
|
||||
UINT8 Reserved;
|
||||
UINT64 BaseAddress;
|
||||
UINT64 AddressLength;
|
||||
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE DoorbellRegister;
|
||||
UINT64 DoorbellPreserve;
|
||||
UINT64 DoorbellWrite;
|
||||
UINT32 NominalLatency;
|
||||
UINT32 MaximumPeriodicAccessRate;
|
||||
UINT16 MinimumRequestTurnaroundTime;
|
||||
EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE DoorbellAckRegister;
|
||||
UINT64 DoorbellAckPreserve;
|
||||
UINT64 DoorbellAckWrite;
|
||||
} EFI_ACPI_6_0_PCCT_SUBSPACE_2_HW_REDUCED_COMMUNICATIONS;
|
||||
|
||||
//
|
||||
// Known table signatures
|
||||
//
|
||||
|
@ -2283,13 +2330,18 @@ typedef struct {
|
|||
///
|
||||
#define EFI_ACPI_6_0_DATA_MANAGEMENT_TABLE_SIGNATURE SIGNATURE_32('M', 'S', 'D', 'M')
|
||||
|
||||
///
|
||||
/// "PCCT" Platform Communications Channel Table
|
||||
///
|
||||
#define EFI_ACPI_6_0_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T')
|
||||
|
||||
///
|
||||
/// "SLIC" MS Software Licensing Table Specification
|
||||
///
|
||||
#define EFI_ACPI_6_0_SOFTWARE_LICENSING_TABLE_SIGNATURE SIGNATURE_32('S', 'L', 'I', 'C')
|
||||
|
||||
///
|
||||
/// "SPCR" Serial Port Concole Redirection Table
|
||||
/// "SPCR" Serial Port Console Redirection Table
|
||||
///
|
||||
#define EFI_ACPI_6_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R')
|
||||
|
||||
|
|
|
@ -2,20 +2,15 @@
|
|||
This file contains AML code definition in the latest ACPI spec.
|
||||
|
||||
Copyright (c) 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.
|
||||
Copyright (c) 2019 - 2021, Arm Limited. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _ACPI_AML_H_
|
||||
#define _ACPI_AML_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
//
|
||||
// ACPI AML definition
|
||||
|
@ -38,6 +33,7 @@ FILE_LICENCE ( BSD3 );
|
|||
#define AML_PACKAGE_OP 0x12
|
||||
#define AML_VAR_PACKAGE_OP 0x13
|
||||
#define AML_METHOD_OP 0x14
|
||||
#define AML_EXTERNAL_OP 0x15
|
||||
#define AML_DUAL_NAME_PREFIX 0x2e
|
||||
#define AML_MULTI_NAME_PREFIX 0x2f
|
||||
#define AML_NAME_CHAR_A 0x41
|
||||
|
@ -174,4 +170,17 @@ FILE_LICENCE ( BSD3 );
|
|||
#define AML_EXT_BANK_FIELD_OP 0x87
|
||||
#define AML_EXT_DATA_REGION_OP 0x88
|
||||
|
||||
//
|
||||
// FieldElement OpCode
|
||||
//
|
||||
#define AML_FIELD_RESERVED_OP 0x00
|
||||
#define AML_FIELD_ACCESS_OP 0x01
|
||||
#define AML_FIELD_CONNECTION_OP 0x02
|
||||
#define AML_FIELD_EXT_ACCESS_OP 0x03
|
||||
|
||||
//
|
||||
// AML Name segment definitions
|
||||
//
|
||||
#define AML_NAME_SEG_SIZE 4
|
||||
|
||||
#endif
|
||||
|
|
|
@ -2,21 +2,15 @@
|
|||
This file contains the Bluetooth definitions that are consumed by drivers.
|
||||
These definitions are from Bluetooth Core Specification Version 4.0 June, 2010
|
||||
|
||||
Copyright (c) 2015, 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.
|
||||
Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _BLUETOOTH_H_
|
||||
#define _BLUETOOTH_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
|
@ -40,6 +34,21 @@ typedef struct {
|
|||
UINT16 MajorServiceClass : 11;
|
||||
} BLUETOOTH_CLASS_OF_DEVICE;
|
||||
|
||||
///
|
||||
/// BLUETOOTH_LE_ADDRESS
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// 48-bit Bluetooth device address
|
||||
///
|
||||
UINT8 Address[6];
|
||||
///
|
||||
/// 0x00 - Public Device Address
|
||||
/// 0x01 - Random Device Address
|
||||
///
|
||||
UINT8 Type;
|
||||
} BLUETOOTH_LE_ADDRESS;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#define BLUETOOTH_HCI_COMMAND_LOCAL_READABLE_NAME_MAX_SIZE 248
|
||||
|
|
|
@ -5,24 +5,18 @@
|
|||
PCI Local Bus Specification, 2.2
|
||||
PCI-to-PCI Bridge Architecture Specification, Revision 1.2
|
||||
PC Card Standard, 8.0
|
||||
PCI Power Management Interface Specifiction, Revision 1.2
|
||||
PCI Power Management Interface Specification, Revision 1.2
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2014 - 2015, Hewlett-Packard Development Company, L.P.<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.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _PCI22_H_
|
||||
#define _PCI22_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define PCI_MAX_BUS 255
|
||||
#define PCI_MAX_DEVICE 31
|
||||
|
@ -119,11 +113,11 @@ typedef union {
|
|||
} PCI_TYPE_GENERIC;
|
||||
|
||||
///
|
||||
/// CardBus Conroller Configuration Space,
|
||||
/// CardBus Controller Configuration Space,
|
||||
/// Section 4.5.1, PC Card Standard. 8.0
|
||||
///
|
||||
typedef struct {
|
||||
UINT32 CardBusSocketReg; ///< Cardus Socket/ExCA Base
|
||||
UINT32 CardBusSocketReg; ///< Cardbus Socket/ExCA Base
|
||||
UINT8 Cap_Ptr;
|
||||
UINT8 Reserved;
|
||||
UINT16 SecondaryStatus; ///< Secondary Status
|
||||
|
@ -230,7 +224,7 @@ typedef struct {
|
|||
#define PCI_IF_8259_PIC 0x00
|
||||
#define PCI_IF_ISA_PIC 0x01
|
||||
#define PCI_IF_EISA_PIC 0x02
|
||||
#define PCI_IF_APIC_CONTROLLER 0x10 ///< I/O APIC interrupt controller , 32 bye none-prefectable memory.
|
||||
#define PCI_IF_APIC_CONTROLLER 0x10 ///< I/O APIC interrupt controller , 32 byte none-prefetchable memory.
|
||||
#define PCI_IF_APIC_CONTROLLER2 0x20
|
||||
#define PCI_SUBCLASS_DMA 0x01
|
||||
#define PCI_IF_8237_DMA 0x00
|
||||
|
@ -317,6 +311,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_CLASS1(_p, c) ((_p)->Hdr.ClassCode[2] == (c))
|
||||
|
||||
/**
|
||||
Macro that checks whether the Base Class code and Sub-Class code of device matched.
|
||||
|
||||
|
@ -329,6 +324,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_CLASS2(_p, c, s) (IS_CLASS1 (_p, c) && ((_p)->Hdr.ClassCode[1] == (s)))
|
||||
|
||||
/**
|
||||
Macro that checks whether the Base Class code, Sub-Class code and Interface code of device matched.
|
||||
|
||||
|
@ -353,6 +349,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_DISPLAY(_p) IS_CLASS1 (_p, PCI_CLASS_DISPLAY)
|
||||
|
||||
/**
|
||||
Macro that checks whether device is a VGA-compatible controller.
|
||||
|
||||
|
@ -363,6 +360,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_VGA(_p) IS_CLASS3 (_p, PCI_CLASS_DISPLAY, PCI_CLASS_DISPLAY_VGA, PCI_IF_VGA_VGA)
|
||||
|
||||
/**
|
||||
Macro that checks whether device is an 8514-compatible controller.
|
||||
|
||||
|
@ -373,6 +371,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_8514(_p) IS_CLASS3 (_p, PCI_CLASS_DISPLAY, PCI_CLASS_DISPLAY_VGA, PCI_IF_VGA_8514)
|
||||
|
||||
/**
|
||||
Macro that checks whether device is built before the Class Code field was defined.
|
||||
|
||||
|
@ -383,6 +382,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_OLD(_p) IS_CLASS1 (_p, PCI_CLASS_OLD)
|
||||
|
||||
/**
|
||||
Macro that checks whether device is a VGA-compatible device built before the Class Code field was defined.
|
||||
|
||||
|
@ -393,6 +393,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_OLD_VGA(_p) IS_CLASS2 (_p, PCI_CLASS_OLD, PCI_CLASS_OLD_VGA)
|
||||
|
||||
/**
|
||||
Macro that checks whether device is an IDE controller.
|
||||
|
||||
|
@ -403,6 +404,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_IDE(_p) IS_CLASS2 (_p, PCI_CLASS_MASS_STORAGE, PCI_CLASS_MASS_STORAGE_IDE)
|
||||
|
||||
/**
|
||||
Macro that checks whether device is a SCSI bus controller.
|
||||
|
||||
|
@ -413,6 +415,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_SCSI(_p) IS_CLASS2 (_p, PCI_CLASS_MASS_STORAGE, PCI_CLASS_MASS_STORAGE_SCSI)
|
||||
|
||||
/**
|
||||
Macro that checks whether device is a RAID controller.
|
||||
|
||||
|
@ -423,6 +426,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_RAID(_p) IS_CLASS2 (_p, PCI_CLASS_MASS_STORAGE, PCI_CLASS_MASS_STORAGE_RAID)
|
||||
|
||||
/**
|
||||
Macro that checks whether device is an ISA bridge.
|
||||
|
||||
|
@ -433,6 +437,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_LPC(_p) IS_CLASS2 (_p, PCI_CLASS_BRIDGE, PCI_CLASS_BRIDGE_ISA)
|
||||
|
||||
/**
|
||||
Macro that checks whether device is a PCI-to-PCI bridge.
|
||||
|
||||
|
@ -443,6 +448,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_P2P(_p) IS_CLASS3 (_p, PCI_CLASS_BRIDGE, PCI_CLASS_BRIDGE_P2P, PCI_IF_BRIDGE_P2P)
|
||||
|
||||
/**
|
||||
Macro that checks whether device is a Subtractive Decode PCI-to-PCI bridge.
|
||||
|
||||
|
@ -453,6 +459,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_P2P_SUB(_p) IS_CLASS3 (_p, PCI_CLASS_BRIDGE, PCI_CLASS_BRIDGE_P2P, PCI_IF_BRIDGE_P2P_SUBTRACTIVE)
|
||||
|
||||
/**
|
||||
Macro that checks whether device is a 16550-compatible serial controller.
|
||||
|
||||
|
@ -463,6 +470,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_16550_SERIAL(_p) IS_CLASS3 (_p, PCI_CLASS_SCC, PCI_SUBCLASS_SERIAL, PCI_IF_16550)
|
||||
|
||||
/**
|
||||
Macro that checks whether device is a Universal Serial Bus controller.
|
||||
|
||||
|
@ -485,6 +493,7 @@ typedef struct {
|
|||
// Mask of Header type
|
||||
//
|
||||
#define HEADER_LAYOUT_CODE 0x7f
|
||||
|
||||
/**
|
||||
Macro that checks whether device is a PCI-PCI bridge.
|
||||
|
||||
|
@ -495,6 +504,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_PCI_BRIDGE(_p) (((_p)->Hdr.HeaderType & HEADER_LAYOUT_CODE) == (HEADER_TYPE_PCI_TO_PCI_BRIDGE))
|
||||
|
||||
/**
|
||||
Macro that checks whether device is a CardBus bridge.
|
||||
|
||||
|
@ -505,6 +515,7 @@ typedef struct {
|
|||
|
||||
**/
|
||||
#define IS_CARDBUS_BRIDGE(_p) (((_p)->Hdr.HeaderType & HEADER_LAYOUT_CODE) == (HEADER_TYPE_CARDBUS_BRIDGE))
|
||||
|
||||
/**
|
||||
Macro that checks whether device is a multiple functions device.
|
||||
|
||||
|
@ -517,7 +528,7 @@ typedef struct {
|
|||
#define IS_PCI_MULTI_FUNC(_p) ((_p)->Hdr.HeaderType & HEADER_TYPE_MULTI_FUNCTION)
|
||||
|
||||
///
|
||||
/// Rom Base Address in Bridge, defined in PCI-to-PCI Bridge Architecure Specification,
|
||||
/// Rom Base Address in Bridge, defined in PCI-to-PCI Bridge Architecture Specification,
|
||||
///
|
||||
#define PCI_BRIDGE_ROMBAR 0x38
|
||||
|
||||
|
@ -650,7 +661,7 @@ typedef struct {
|
|||
|
||||
///
|
||||
/// PMC - Power Management Capabilities
|
||||
/// Section 3.2.3, PCI Power Management Interface Specifiction, Revision 1.2
|
||||
/// Section 3.2.3, PCI Power Management Interface Specification, Revision 1.2
|
||||
///
|
||||
typedef union {
|
||||
struct {
|
||||
|
@ -670,7 +681,7 @@ typedef union {
|
|||
|
||||
///
|
||||
/// PMCSR - Power Management Control/Status
|
||||
/// Section 3.2.4, PCI Power Management Interface Specifiction, Revision 1.2
|
||||
/// Section 3.2.4, PCI Power Management Interface Specification, Revision 1.2
|
||||
///
|
||||
typedef union {
|
||||
struct {
|
||||
|
@ -693,7 +704,7 @@ typedef union {
|
|||
|
||||
///
|
||||
/// PMCSR_BSE - PMCSR PCI-to-PCI Bridge Support Extensions
|
||||
/// Section 3.2.5, PCI Power Management Interface Specifiction, Revision 1.2
|
||||
/// Section 3.2.5, PCI Power Management Interface Specification, Revision 1.2
|
||||
///
|
||||
typedef union {
|
||||
struct {
|
||||
|
@ -706,7 +717,7 @@ typedef union {
|
|||
|
||||
///
|
||||
/// Power Management Register Block Definition
|
||||
/// Section 3.2, PCI Power Management Interface Specifiction, Revision 1.2
|
||||
/// Section 3.2, PCI Power Management Interface Specification, Revision 1.2
|
||||
///
|
||||
typedef struct {
|
||||
EFI_PCI_CAPABILITY_HDR Hdr;
|
||||
|
@ -740,7 +751,7 @@ typedef struct {
|
|||
|
||||
///
|
||||
/// Slot Numbering Capabilities Register
|
||||
/// Section 3.2.6, PCI-to-PCI Bridge Architeture Specification, Revision 1.2
|
||||
/// Section 3.2.6, PCI-to-PCI Bridge Architecture Specification, Revision 1.2
|
||||
///
|
||||
typedef struct {
|
||||
EFI_PCI_CAPABILITY_HDR Hdr;
|
||||
|
|
|
@ -7,22 +7,19 @@
|
|||
Common Object File Format Specification, Revision 8.3 - February 6, 2013.
|
||||
This file also includes some definitions in PI Specification, Revision 1.0.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
Portions Copyright (c) 2016 - 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
|
||||
Portions Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PE_IMAGE_H__
|
||||
#define __PE_IMAGE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
//
|
||||
// PE32+ Subsystem type for EFI images
|
||||
|
@ -32,7 +29,6 @@ FILE_LICENCE ( BSD3 );
|
|||
#define EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12
|
||||
#define EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER 13///< defined PI Specification, 1.0
|
||||
|
||||
|
||||
//
|
||||
// PE32+ Machine type for EFI images
|
||||
//
|
||||
|
@ -42,6 +38,11 @@ FILE_LICENCE ( BSD3 );
|
|||
#define IMAGE_FILE_MACHINE_X64 0x8664
|
||||
#define IMAGE_FILE_MACHINE_ARMTHUMB_MIXED 0x01c2
|
||||
#define IMAGE_FILE_MACHINE_ARM64 0xAA64
|
||||
#define IMAGE_FILE_MACHINE_RISCV32 0x5032
|
||||
#define IMAGE_FILE_MACHINE_RISCV64 0x5064
|
||||
#define IMAGE_FILE_MACHINE_RISCV128 0x5128
|
||||
#define IMAGE_FILE_MACHINE_LOONGARCH32 0x6232
|
||||
#define IMAGE_FILE_MACHINE_LOONGARCH64 0x6264
|
||||
|
||||
//
|
||||
// EXE file formats
|
||||
|
@ -100,7 +101,7 @@ typedef struct {
|
|||
//
|
||||
#define EFI_IMAGE_FILE_RELOCS_STRIPPED BIT0 ///< 0x0001 Relocation info stripped from file.
|
||||
#define EFI_IMAGE_FILE_EXECUTABLE_IMAGE BIT1 ///< 0x0002 File is executable (i.e. no unresolved externel references).
|
||||
#define EFI_IMAGE_FILE_LINE_NUMS_STRIPPED BIT2 ///< 0x0004 Line nunbers stripped from file.
|
||||
#define EFI_IMAGE_FILE_LINE_NUMS_STRIPPED BIT2 ///< 0x0004 Line numbers stripped from file.
|
||||
#define EFI_IMAGE_FILE_LOCAL_SYMS_STRIPPED BIT3 ///< 0x0008 Local symbols stripped from file.
|
||||
#define EFI_IMAGE_FILE_BYTES_REVERSED_LO BIT7 ///< 0x0080 Bytes of machine word are reversed.
|
||||
#define EFI_IMAGE_FILE_32BIT_MACHINE BIT8 ///< 0x0100 32 bit word machine.
|
||||
|
@ -235,7 +236,6 @@ typedef struct {
|
|||
EFI_IMAGE_DATA_DIRECTORY DataDirectory[EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES];
|
||||
} EFI_IMAGE_OPTIONAL_HEADER64;
|
||||
|
||||
|
||||
///
|
||||
/// @attention
|
||||
/// EFI_IMAGE_NT_HEADERS32 is for use ONLY by tools.
|
||||
|
@ -501,6 +501,19 @@ typedef struct {
|
|||
#define EFI_IMAGE_REL_BASED_MIPS_JMPADDR16 9
|
||||
#define EFI_IMAGE_REL_BASED_DIR64 10
|
||||
|
||||
///
|
||||
/// Relocation types of RISC-V processor.
|
||||
///
|
||||
#define EFI_IMAGE_REL_BASED_RISCV_HI20 5
|
||||
#define EFI_IMAGE_REL_BASED_RISCV_LOW12I 7
|
||||
#define EFI_IMAGE_REL_BASED_RISCV_LOW12S 8
|
||||
|
||||
//
|
||||
// Relocation types of LoongArch processor.
|
||||
//
|
||||
#define EFI_IMAGE_REL_BASED_LOONGARCH32_MARK_LA 8
|
||||
#define EFI_IMAGE_REL_BASED_LOONGARCH64_MARK_LA 8
|
||||
|
||||
///
|
||||
/// Line number format.
|
||||
///
|
||||
|
@ -545,7 +558,6 @@ typedef struct {
|
|||
///
|
||||
#define EFI_IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60
|
||||
|
||||
|
||||
//
|
||||
// DLL Support
|
||||
//
|
||||
|
@ -601,7 +613,6 @@ typedef struct {
|
|||
EFI_IMAGE_THUNK_DATA *FirstThunk;
|
||||
} EFI_IMAGE_IMPORT_DESCRIPTOR;
|
||||
|
||||
|
||||
///
|
||||
/// Debug Directory Format.
|
||||
///
|
||||
|
@ -648,7 +659,6 @@ typedef struct {
|
|||
//
|
||||
} EFI_IMAGE_DEBUG_CODEVIEW_RSDS_ENTRY;
|
||||
|
||||
|
||||
///
|
||||
/// Debug Data Structure defined by Apple Mach-O to Coff utility.
|
||||
///
|
||||
|
@ -729,7 +739,6 @@ typedef struct {
|
|||
EFI_IMAGE_DATA_DIRECTORY DataDirectory[2]; ///< Only base relocation and debug directory.
|
||||
} EFI_TE_IMAGE_HEADER;
|
||||
|
||||
|
||||
#define EFI_TE_IMAGE_HEADER_SIGNATURE SIGNATURE_16('V', 'Z')
|
||||
|
||||
//
|
||||
|
@ -738,7 +747,6 @@ typedef struct {
|
|||
#define EFI_TE_IMAGE_DIRECTORY_ENTRY_BASERELOC 0
|
||||
#define EFI_TE_IMAGE_DIRECTORY_ENTRY_DEBUG 1
|
||||
|
||||
|
||||
///
|
||||
/// Union of PE32, PE32+, and TE headers.
|
||||
///
|
||||
|
|
|
@ -2,21 +2,14 @@
|
|||
TPM Specification data structures (TCG TPM Specification Version 1.2 Revision 103)
|
||||
See http://trustedcomputinggroup.org for latest specification updates
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
|
||||
#ifndef _TPM12_H_
|
||||
#define _TPM12_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// The start of TPM return codes
|
||||
|
@ -439,7 +432,6 @@ typedef struct tdTPM_VERSION {
|
|||
UINT8 revMinor;
|
||||
} TPM_VERSION;
|
||||
|
||||
|
||||
#define TPM_SHA1_160_HASH_LEN 0x14
|
||||
#define TPM_SHA1BASED_NONCE_LEN TPM_SHA1_160_HASH_LEN
|
||||
|
||||
|
@ -605,7 +597,7 @@ typedef struct tdTPM_CHANGEAUTH_VALIDATE {
|
|||
|
||||
///
|
||||
/// Part 2, section 5.12: TPM_MIGRATIONKEYAUTH
|
||||
/// decalared after section 10 to catch declaration of TPM_PUBKEY
|
||||
/// declared after section 10 to catch declaration of TPM_PUBKEY
|
||||
///
|
||||
/// Part 2 section 10.1: TPM_KEY_PARMS
|
||||
/// [size_is(parmSize)] BYTE* parms;
|
||||
|
@ -1094,7 +1086,8 @@ typedef struct tdTPM_STORE_PRIVKEY {
|
|||
///
|
||||
/// Part 2, section 10.6: TPM_STORE_ASYMKEY
|
||||
///
|
||||
typedef struct tdTPM_STORE_ASYMKEY { // pos len total
|
||||
typedef struct tdTPM_STORE_ASYMKEY {
|
||||
// pos len total
|
||||
TPM_PAYLOAD_TYPE payload; // 0 1 1
|
||||
TPM_SECRET usageAuth; // 1 20 21
|
||||
TPM_SECRET migrationAuth; // 21 20 41
|
||||
|
@ -1106,7 +1099,8 @@ typedef struct tdTPM_STORE_ASYMKEY { // pos len total
|
|||
/// Part 2, section 10.8: TPM_MIGRATE_ASYMKEY
|
||||
/// [size_is(partPrivKeyLen)] BYTE* partPrivKey;
|
||||
///
|
||||
typedef struct tdTPM_MIGRATE_ASYMKEY { // pos len total
|
||||
typedef struct tdTPM_MIGRATE_ASYMKEY {
|
||||
// pos len total
|
||||
TPM_PAYLOAD_TYPE payload; // 0 1 1
|
||||
TPM_SECRET usageAuth; // 1 20 21
|
||||
TPM_DIGEST pubDataDigest; // 21 20 41
|
||||
|
@ -1211,7 +1205,6 @@ typedef struct tdTPM_EK_BLOB_AUTH {
|
|||
TPM_SECRET authValue;
|
||||
} TPM_EK_BLOB_AUTH;
|
||||
|
||||
|
||||
///
|
||||
/// Part 2, section 12.5 TPM_IDENTITY_CONTENTS
|
||||
///
|
||||
|
@ -2138,7 +2131,6 @@ typedef struct tdTPM_DAA_SENSITIVE {
|
|||
UINT8 *internalData;
|
||||
} TPM_DAA_SENSITIVE;
|
||||
|
||||
|
||||
//
|
||||
// Part 2, section 23: Redirection
|
||||
//
|
||||
|
|
|
@ -6,21 +6,14 @@
|
|||
Check http://trustedcomputinggroup.org for latest specification updates.
|
||||
|
||||
Copyright (c) 2013 - 2015, 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.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
|
||||
#ifndef _TPM20_H_
|
||||
#define _TPM20_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/IndustryStandard/Tpm12.h>
|
||||
|
||||
|
@ -1792,7 +1785,6 @@ typedef struct {
|
|||
TPMS_CREATION_DATA creationData;
|
||||
} TPM2B_CREATION_DATA;
|
||||
|
||||
|
||||
//
|
||||
// Command Header
|
||||
//
|
||||
|
|
|
@ -1,21 +1,16 @@
|
|||
/** @file
|
||||
TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final
|
||||
TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final and
|
||||
TCG PC Client Platform Firmware Profile Specification, Revision 1.05
|
||||
|
||||
Copyright (c) 2006 - 2017, 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.
|
||||
Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __UEFI_TCG_PLATFORM_H__
|
||||
#define __UEFI_TCG_PLATFORM_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/IndustryStandard/Tpm12.h>
|
||||
#include <ipxe/efi/IndustryStandard/Tpm20.h>
|
||||
|
@ -24,13 +19,22 @@ FILE_LICENCE ( BSD3 );
|
|||
//
|
||||
// Standard event types
|
||||
//
|
||||
#define EV_PREBOOT_CERT ((TCG_EVENTTYPE) 0x00000000)
|
||||
#define EV_POST_CODE ((TCG_EVENTTYPE) 0x00000001)
|
||||
#define EV_NO_ACTION ((TCG_EVENTTYPE) 0x00000003)
|
||||
#define EV_SEPARATOR ((TCG_EVENTTYPE) 0x00000004)
|
||||
#define EV_ACTION ((TCG_EVENTTYPE) 0x00000005)
|
||||
#define EV_EVENT_TAG ((TCG_EVENTTYPE) 0x00000006)
|
||||
#define EV_S_CRTM_CONTENTS ((TCG_EVENTTYPE) 0x00000007)
|
||||
#define EV_S_CRTM_VERSION ((TCG_EVENTTYPE) 0x00000008)
|
||||
#define EV_CPU_MICROCODE ((TCG_EVENTTYPE) 0x00000009)
|
||||
#define EV_PLATFORM_CONFIG_FLAGS ((TCG_EVENTTYPE) 0x0000000A)
|
||||
#define EV_TABLE_OF_DEVICES ((TCG_EVENTTYPE) 0x0000000B)
|
||||
#define EV_COMPACT_HASH ((TCG_EVENTTYPE) 0x0000000C)
|
||||
#define EV_NONHOST_CODE ((TCG_EVENTTYPE) 0x0000000F)
|
||||
#define EV_NONHOST_CONFIG ((TCG_EVENTTYPE) 0x00000010)
|
||||
#define EV_NONHOST_INFO ((TCG_EVENTTYPE) 0x00000011)
|
||||
#define EV_OMIT_BOOT_DEVICE_EVENTS ((TCG_EVENTTYPE) 0x00000012)
|
||||
|
||||
//
|
||||
// EFI specific event types
|
||||
|
@ -45,11 +49,16 @@ FILE_LICENCE ( BSD3 );
|
|||
#define EV_EFI_ACTION (EV_EFI_EVENT_BASE + 7)
|
||||
#define EV_EFI_PLATFORM_FIRMWARE_BLOB (EV_EFI_EVENT_BASE + 8)
|
||||
#define EV_EFI_HANDOFF_TABLES (EV_EFI_EVENT_BASE + 9)
|
||||
#define EV_EFI_PLATFORM_FIRMWARE_BLOB2 (EV_EFI_EVENT_BASE + 0xA)
|
||||
#define EV_EFI_HANDOFF_TABLES2 (EV_EFI_EVENT_BASE + 0xB)
|
||||
#define EV_EFI_HCRTM_EVENT (EV_EFI_EVENT_BASE + 0x10)
|
||||
#define EV_EFI_VARIABLE_AUTHORITY (EV_EFI_EVENT_BASE + 0xE0)
|
||||
#define EV_EFI_SPDM_FIRMWARE_BLOB (EV_EFI_EVENT_BASE + 0xE1)
|
||||
#define EV_EFI_SPDM_FIRMWARE_CONFIG (EV_EFI_EVENT_BASE + 0xE2)
|
||||
|
||||
#define EFI_CALLING_EFI_APPLICATION \
|
||||
"Calling EFI Application from Boot Option"
|
||||
#define EFI_RETURNING_FROM_EFI_APPLICATOIN \
|
||||
#define EFI_RETURNING_FROM_EFI_APPLICATION \
|
||||
"Returning from EFI Application from Boot Option"
|
||||
#define EFI_EXIT_BOOT_SERVICES_INVOCATION \
|
||||
"Exit Boot Services Invocation"
|
||||
|
@ -58,7 +67,6 @@ FILE_LICENCE ( BSD3 );
|
|||
#define EFI_EXIT_BOOT_SERVICES_SUCCEEDED \
|
||||
"Exit Boot Services Returned with Success"
|
||||
|
||||
|
||||
#define EV_POSTCODE_INFO_POST_CODE "POST CODE"
|
||||
#define POST_CODE_STR_LEN (sizeof(EV_POSTCODE_INFO_POST_CODE) - 1)
|
||||
|
||||
|
@ -77,6 +85,9 @@ FILE_LICENCE ( BSD3 );
|
|||
#define EV_POSTCODE_INFO_OPROM "Embedded Option ROM"
|
||||
#define OPROM_LEN (sizeof(EV_POSTCODE_INFO_OPROM) - 1)
|
||||
|
||||
#define EV_POSTCODE_INFO_EMBEDDED_UEFI_DRIVER "Embedded UEFI Driver"
|
||||
#define EMBEDDED_UEFI_DRIVER_LEN (sizeof(EV_POSTCODE_INFO_EMBEDDED_UEFI_DRIVER) - 1)
|
||||
|
||||
#define FIRMWARE_DEBUGGER_EVENT_STRING "UEFI Debug Mode"
|
||||
#define FIRMWARE_DEBUGGER_EVENT_STRING_LEN (sizeof(FIRMWARE_DEBUGGER_EVENT_STRING) - 1)
|
||||
|
||||
|
@ -122,6 +133,30 @@ typedef struct tdEFI_PLATFORM_FIRMWARE_BLOB {
|
|||
UINT64 BlobLength;
|
||||
} EFI_PLATFORM_FIRMWARE_BLOB;
|
||||
|
||||
///
|
||||
/// UEFI_PLATFORM_FIRMWARE_BLOB
|
||||
///
|
||||
/// This structure is used in EV_EFI_PLATFORM_FIRMWARE_BLOB
|
||||
/// event to facilitate the measurement of firmware volume.
|
||||
///
|
||||
typedef struct tdUEFI_PLATFORM_FIRMWARE_BLOB {
|
||||
EFI_PHYSICAL_ADDRESS BlobBase;
|
||||
UINT64 BlobLength;
|
||||
} UEFI_PLATFORM_FIRMWARE_BLOB;
|
||||
|
||||
///
|
||||
/// UEFI_PLATFORM_FIRMWARE_BLOB2
|
||||
///
|
||||
/// This structure is used in EV_EFI_PLATFORM_FIRMWARE_BLOB2
|
||||
/// event to facilitate the measurement of firmware volume.
|
||||
///
|
||||
typedef struct tdUEFI_PLATFORM_FIRMWARE_BLOB2 {
|
||||
UINT8 BlobDescriptionSize;
|
||||
// UINT8 BlobDescription[BlobDescriptionSize];
|
||||
// EFI_PHYSICAL_ADDRESS BlobBase;
|
||||
// UINT64 BlobLength;
|
||||
} UEFI_PLATFORM_FIRMWARE_BLOB2;
|
||||
|
||||
///
|
||||
/// EFI_IMAGE_LOAD_EVENT
|
||||
///
|
||||
|
@ -136,6 +171,20 @@ typedef struct tdEFI_IMAGE_LOAD_EVENT {
|
|||
EFI_DEVICE_PATH_PROTOCOL DevicePath[1];
|
||||
} EFI_IMAGE_LOAD_EVENT;
|
||||
|
||||
///
|
||||
/// UEFI_IMAGE_LOAD_EVENT
|
||||
///
|
||||
/// This structure is used in EV_EFI_BOOT_SERVICES_APPLICATION,
|
||||
/// EV_EFI_BOOT_SERVICES_DRIVER and EV_EFI_RUNTIME_SERVICES_DRIVER
|
||||
///
|
||||
typedef struct tdUEFI_IMAGE_LOAD_EVENT {
|
||||
EFI_PHYSICAL_ADDRESS ImageLocationInMemory;
|
||||
UINT64 ImageLengthInMemory;
|
||||
UINT64 ImageLinkTimeAddress;
|
||||
UINT64 LengthOfDevicePath;
|
||||
EFI_DEVICE_PATH_PROTOCOL DevicePath[1];
|
||||
} UEFI_IMAGE_LOAD_EVENT;
|
||||
|
||||
///
|
||||
/// EFI_HANDOFF_TABLE_POINTERS
|
||||
///
|
||||
|
@ -147,6 +196,30 @@ typedef struct tdEFI_HANDOFF_TABLE_POINTERS {
|
|||
EFI_CONFIGURATION_TABLE TableEntry[1];
|
||||
} EFI_HANDOFF_TABLE_POINTERS;
|
||||
|
||||
///
|
||||
/// UEFI_HANDOFF_TABLE_POINTERS
|
||||
///
|
||||
/// This structure is used in EV_EFI_HANDOFF_TABLES event to facilitate
|
||||
/// the measurement of given configuration tables.
|
||||
///
|
||||
typedef struct tdUEFI_HANDOFF_TABLE_POINTERS {
|
||||
UINT64 NumberOfTables;
|
||||
EFI_CONFIGURATION_TABLE TableEntry[1];
|
||||
} UEFI_HANDOFF_TABLE_POINTERS;
|
||||
|
||||
///
|
||||
/// UEFI_HANDOFF_TABLE_POINTERS2
|
||||
///
|
||||
/// This structure is used in EV_EFI_HANDOFF_TABLES2 event to facilitate
|
||||
/// the measurement of given configuration tables.
|
||||
///
|
||||
typedef struct tdUEFI_HANDOFF_TABLE_POINTERS2 {
|
||||
UINT8 TableDescriptionSize;
|
||||
// UINT8 TableDescription[TableDescriptionSize];
|
||||
// UINT64 NumberOfTables;
|
||||
// EFI_CONFIGURATION_TABLE TableEntry[1];
|
||||
} UEFI_HANDOFF_TABLE_POINTERS2;
|
||||
|
||||
///
|
||||
/// EFI_VARIABLE_DATA
|
||||
///
|
||||
|
@ -196,6 +269,66 @@ typedef struct tdEFI_GPT_DATA {
|
|||
EFI_PARTITION_ENTRY Partitions[1];
|
||||
} EFI_GPT_DATA;
|
||||
|
||||
typedef struct tdUEFI_GPT_DATA {
|
||||
EFI_PARTITION_TABLE_HEADER EfiPartitionHeader;
|
||||
UINT64 NumberOfPartitions;
|
||||
EFI_PARTITION_ENTRY Partitions[1];
|
||||
} UEFI_GPT_DATA;
|
||||
|
||||
#define TCG_DEVICE_SECURITY_EVENT_DATA_SIGNATURE "SPDM Device Sec"
|
||||
#define TCG_DEVICE_SECURITY_EVENT_DATA_VERSION 1
|
||||
|
||||
#define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_NULL 0
|
||||
#define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_PCI 1
|
||||
#define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_USB 2
|
||||
|
||||
///
|
||||
/// TCG_DEVICE_SECURITY_EVENT_DATA_HEADER
|
||||
/// This is the header of TCG_DEVICE_SECURITY_EVENT_DATA, which is
|
||||
/// used in EV_EFI_SPDM_FIRMWARE_BLOB and EV_EFI_SPDM_FIRMWARE_CONFIG.
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Signature[16];
|
||||
UINT16 Version;
|
||||
UINT16 Length;
|
||||
UINT32 SpdmHashAlgo;
|
||||
UINT32 DeviceType;
|
||||
// SPDM_MEASUREMENT_BLOCK SpdmMeasurementBlock;
|
||||
} TCG_DEVICE_SECURITY_EVENT_DATA_HEADER;
|
||||
|
||||
#define TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT_VERSION 0
|
||||
|
||||
///
|
||||
/// TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT
|
||||
/// This is the PCI context data of TCG_DEVICE_SECURITY_EVENT_DATA, which is
|
||||
/// used in EV_EFI_SPDM_FIRMWARE_BLOB and EV_EFI_SPDM_FIRMWARE_CONFIG.
|
||||
///
|
||||
typedef struct {
|
||||
UINT16 Version;
|
||||
UINT16 Length;
|
||||
UINT16 VendorId;
|
||||
UINT16 DeviceId;
|
||||
UINT8 RevisionID;
|
||||
UINT8 ClassCode[3];
|
||||
UINT16 SubsystemVendorID;
|
||||
UINT16 SubsystemID;
|
||||
} TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT;
|
||||
|
||||
#define TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT_VERSION 0
|
||||
|
||||
///
|
||||
/// TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT
|
||||
/// This is the USB context data of TCG_DEVICE_SECURITY_EVENT_DATA, which is
|
||||
/// used in EV_EFI_SPDM_FIRMWARE_BLOB and EV_EFI_SPDM_FIRMWARE_CONFIG.
|
||||
///
|
||||
typedef struct {
|
||||
UINT16 Version;
|
||||
UINT16 Length;
|
||||
// UINT8 DeviceDescriptor[DescLen];
|
||||
// UINT8 BodDescriptor[DescLen];
|
||||
// UINT8 ConfigurationDescriptor[DescLen][NumOfConfiguration];
|
||||
} TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT;
|
||||
|
||||
//
|
||||
// Crypto Agile Log Entry Format
|
||||
//
|
||||
|
@ -242,6 +375,7 @@ typedef struct {
|
|||
#define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MAJOR_TPM2 2
|
||||
#define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MINOR_TPM2 0
|
||||
#define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2 0
|
||||
#define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2_REV_105 105
|
||||
|
||||
typedef struct {
|
||||
UINT8 signature[16];
|
||||
|
@ -298,20 +432,51 @@ typedef struct {
|
|||
// UINT8 vendorInfo[vendorInfoSize];
|
||||
} TCG_EfiSpecIDEventStruct;
|
||||
|
||||
typedef struct tdTCG_PCClientTaggedEvent {
|
||||
UINT32 taggedEventID;
|
||||
UINT32 taggedEventDataSize;
|
||||
// UINT8 taggedEventData[taggedEventDataSize];
|
||||
} TCG_PCClientTaggedEvent;
|
||||
|
||||
#define TCG_Sp800_155_PlatformId_Event_SIGNATURE "SP800-155 Event"
|
||||
#define TCG_Sp800_155_PlatformId_Event2_SIGNATURE "SP800-155 Event2"
|
||||
|
||||
typedef struct tdTCG_Sp800_155_PlatformId_Event2 {
|
||||
UINT8 Signature[16];
|
||||
//
|
||||
// Where Vendor ID is an integer defined
|
||||
// at http://www.iana.org/assignments/enterprisenumbers
|
||||
//
|
||||
UINT32 VendorId;
|
||||
//
|
||||
// 16-byte identifier of a given platform's static configuration of code
|
||||
//
|
||||
EFI_GUID ReferenceManifestGuid;
|
||||
//
|
||||
// Below structure is newly added in TCG_Sp800_155_PlatformId_Event2.
|
||||
//
|
||||
// UINT8 PlatformManufacturerStrSize;
|
||||
// UINT8 PlatformManufacturerStr[PlatformManufacturerStrSize];
|
||||
// UINT8 PlatformModelSize;
|
||||
// UINT8 PlatformModel[PlatformModelSize];
|
||||
// UINT8 PlatformVersionSize;
|
||||
// UINT8 PlatformVersion[PlatformVersionSize];
|
||||
// UINT8 PlatformModelSize;
|
||||
// UINT8 PlatformModel[PlatformModelSize];
|
||||
// UINT8 FirmwareManufacturerStrSize;
|
||||
// UINT8 FirmwareManufacturerStr[FirmwareManufacturerStrSize];
|
||||
// UINT32 FirmwareManufacturerId;
|
||||
// UINT8 FirmwareVersion;
|
||||
// UINT8 FirmwareVersion[FirmwareVersionSize]];
|
||||
} TCG_Sp800_155_PlatformId_Event2;
|
||||
|
||||
#define TCG_EfiStartupLocalityEvent_SIGNATURE "StartupLocality"
|
||||
|
||||
|
||||
//
|
||||
// PC Client PTP spec Table 8 Relationship between Locality and Locality Attribute
|
||||
// The Locality Indicator which sent the TPM2_Startup command
|
||||
//
|
||||
#define LOCALITY_0_INDICATOR 0x01
|
||||
#define LOCALITY_1_INDICATOR 0x02
|
||||
#define LOCALITY_2_INDICATOR 0x03
|
||||
#define LOCALITY_3_INDICATOR 0x04
|
||||
#define LOCALITY_4_INDICATOR 0x05
|
||||
|
||||
#define LOCALITY_0_INDICATOR 0x00
|
||||
#define LOCALITY_3_INDICATOR 0x03
|
||||
|
||||
//
|
||||
// Startup Locality Event
|
||||
|
@ -324,12 +489,9 @@ typedef struct tdTCG_EfiStartupLocalityEvent{
|
|||
UINT8 StartupLocality;
|
||||
} TCG_EfiStartupLocalityEvent;
|
||||
|
||||
|
||||
//
|
||||
// Restore original structure alignment
|
||||
//
|
||||
#pragma pack ()
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -2,20 +2,14 @@
|
|||
Support for USB 2.0 standard.
|
||||
|
||||
Copyright (c) 2006 - 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
|
||||
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.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __USB_H__
|
||||
#define __USB_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
//
|
||||
// Subset of Class and Subclass definitions from USB Specs
|
||||
|
@ -86,7 +80,6 @@ FILE_LICENCE ( BSD3 );
|
|||
#define USB_DEV_SYNCH_FRAME 0x0C
|
||||
#define USB_DEV_SYNCH_FRAME_REQ_TYPE 0x82
|
||||
|
||||
|
||||
//
|
||||
// USB standard descriptors and reqeust
|
||||
//
|
||||
|
@ -181,7 +174,6 @@ typedef struct {
|
|||
|
||||
#pragma pack()
|
||||
|
||||
|
||||
typedef enum {
|
||||
//
|
||||
// USB request type
|
||||
|
@ -247,7 +239,6 @@ typedef enum {
|
|||
EFI_USB_INTERRUPT_DELAY = 2000000
|
||||
} USB_TYPES_DEFINITION;
|
||||
|
||||
|
||||
//
|
||||
// HID constants definition, see Device Class Definition
|
||||
// for Human Interface Devices (HID) rev1.11
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,13 +2,7 @@
|
|||
Present the boot mode values in PI.
|
||||
|
||||
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
|
||||
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.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
PI Version 1.2.1A
|
||||
|
@ -18,7 +12,7 @@
|
|||
#ifndef __PI_BOOT_MODE_H__
|
||||
#define __PI_BOOT_MODE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// EFI boot mode
|
||||
|
|
|
@ -1,23 +1,18 @@
|
|||
/** @file
|
||||
Present the dependency expression values in PI.
|
||||
|
||||
Copyright (c) 2006 - 2008, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
PI Version 1.0
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PI_DEPENDENCY_H__
|
||||
#define __PI_DEPENDENCY_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// If present, this must be the first and only opcode,
|
||||
|
@ -39,7 +34,6 @@ FILE_LICENCE ( BSD3 );
|
|||
#define EFI_DEP_FALSE 0x07
|
||||
#define EFI_DEP_END 0x08
|
||||
|
||||
|
||||
///
|
||||
/// If present, this must be the first opcode,
|
||||
/// EFI_DEP_SOR is only used by DXE driver.
|
||||
|
|
|
@ -1,24 +1,18 @@
|
|||
/** @file
|
||||
Include file matches things in PI.
|
||||
|
||||
Copyright (c) 2006 - 2015, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
PI Version 1.4
|
||||
PI Version 1.7
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PI_DXECIS_H__
|
||||
#define __PI_DXECIS_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Uefi/UefiMultiPhase.h>
|
||||
#include <ipxe/efi/Pi/PiMultiPhase.h>
|
||||
|
@ -54,13 +48,25 @@ typedef enum {
|
|||
/// A memory region that is visible to the boot processor.
|
||||
/// This memory supports byte-addressable non-volatility.
|
||||
///
|
||||
EfiGcdMemoryTypePersistentMemory,
|
||||
EfiGcdMemoryTypePersistent,
|
||||
//
|
||||
// Keep original one for the compatibility.
|
||||
//
|
||||
EfiGcdMemoryTypePersistentMemory = EfiGcdMemoryTypePersistent,
|
||||
///
|
||||
/// A memory region that provides higher reliability relative to other memory in the
|
||||
/// system. If all memory has the same reliability, then this bit is not used.
|
||||
///
|
||||
EfiGcdMemoryTypeMoreReliable,
|
||||
EfiGcdMemoryTypeMaximum
|
||||
// ///
|
||||
// /// A memory region that describes system memory that has not been accepted
|
||||
// /// by a corresponding call to the underlying isolation architecture.
|
||||
// ///
|
||||
// /// Please be noted:
|
||||
// /// EfiGcdMemoryTypeUnaccepted is defined in PrePiDxeCis.h because it has not been
|
||||
// /// defined in PI spec.
|
||||
// EfiGcdMemoryTypeUnaccepted,
|
||||
EfiGcdMemoryTypeMaximum = 8
|
||||
} EFI_GCD_MEMORY_TYPE;
|
||||
|
||||
///
|
||||
|
@ -208,7 +214,6 @@ typedef struct {
|
|||
EFI_HANDLE DeviceHandle;
|
||||
} EFI_GCD_IO_SPACE_DESCRIPTOR;
|
||||
|
||||
|
||||
/**
|
||||
Adds reserved memory, system memory, or memory-mapped I/O resources to the
|
||||
global coherency domain of the processor.
|
||||
|
@ -603,8 +608,6 @@ EFI_STATUS
|
|||
OUT EFI_GCD_IO_SPACE_DESCRIPTOR **IoSpaceMap
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Loads and executed DXE drivers from firmware volumes.
|
||||
|
||||
|
@ -694,7 +697,7 @@ EFI_STATUS
|
|||
//
|
||||
#define DXE_SERVICES_SIGNATURE 0x565245535f455844ULL
|
||||
#define DXE_SPECIFICATION_MAJOR_REVISION 1
|
||||
#define DXE_SPECIFICATION_MINOR_REVISION 40
|
||||
#define DXE_SPECIFICATION_MINOR_REVISION 70
|
||||
#define DXE_SERVICES_REVISION ((DXE_SPECIFICATION_MAJOR_REVISION<<16) | (DXE_SPECIFICATION_MINOR_REVISION))
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -1,25 +1,18 @@
|
|||
/** @file
|
||||
The firmware file related definitions in PI.
|
||||
|
||||
Copyright (c) 2006 - 2015, 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.
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
PI Version 1.4.
|
||||
PI Version 1.6.
|
||||
|
||||
**/
|
||||
|
||||
|
||||
#ifndef __PI_FIRMWARE_FILE_H__
|
||||
#define __PI_FIRMWARE_FILE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#pragma pack(1)
|
||||
///
|
||||
|
@ -73,10 +66,15 @@ typedef UINT8 EFI_FFS_FILE_STATE;
|
|||
#define EFI_FV_FILETYPE_DRIVER 0x07
|
||||
#define EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER 0x08
|
||||
#define EFI_FV_FILETYPE_APPLICATION 0x09
|
||||
#define EFI_FV_FILETYPE_SMM 0x0A
|
||||
#define EFI_FV_FILETYPE_MM 0x0A
|
||||
#define EFI_FV_FILETYPE_SMM EFI_FV_FILETYPE_MM
|
||||
#define EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE 0x0B
|
||||
#define EFI_FV_FILETYPE_COMBINED_SMM_DXE 0x0C
|
||||
#define EFI_FV_FILETYPE_SMM_CORE 0x0D
|
||||
#define EFI_FV_FILETYPE_COMBINED_MM_DXE 0x0C
|
||||
#define EFI_FV_FILETYPE_COMBINED_SMM_DXE EFI_FV_FILETYPE_COMBINED_MM_DXE
|
||||
#define EFI_FV_FILETYPE_MM_CORE 0x0D
|
||||
#define EFI_FV_FILETYPE_SMM_CORE EFI_FV_FILETYPE_MM_CORE
|
||||
#define EFI_FV_FILETYPE_MM_STANDALONE 0x0E
|
||||
#define EFI_FV_FILETYPE_MM_CORE_STANDALONE 0x0F
|
||||
#define EFI_FV_FILETYPE_OEM_MIN 0xc0
|
||||
#define EFI_FV_FILETYPE_OEM_MAX 0xdf
|
||||
#define EFI_FV_FILETYPE_DEBUG_MIN 0xe0
|
||||
|
@ -88,6 +86,7 @@ typedef UINT8 EFI_FFS_FILE_STATE;
|
|||
/// FFS File Attributes.
|
||||
///
|
||||
#define FFS_ATTRIB_LARGE_FILE 0x01
|
||||
#define FFS_ATTRIB_DATA_ALIGNMENT_2 0x02
|
||||
#define FFS_ATTRIB_FIXED 0x04
|
||||
#define FFS_ATTRIB_DATA_ALIGNMENT 0x38
|
||||
#define FFS_ATTRIB_CHECKSUM 0x40
|
||||
|
@ -102,7 +101,6 @@ typedef UINT8 EFI_FFS_FILE_STATE;
|
|||
#define EFI_FILE_DELETED 0x10
|
||||
#define EFI_FILE_HEADER_INVALID 0x20
|
||||
|
||||
|
||||
///
|
||||
/// Each file begins with the header that describe the
|
||||
/// contents and state of the files.
|
||||
|
@ -181,8 +179,15 @@ typedef struct {
|
|||
#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))
|
||||
///
|
||||
/// The argument passed as the FfsFileHeaderPtr parameter to the
|
||||
/// FFS_FILE_SIZE() function-like macro below must not have side effects:
|
||||
/// FfsFileHeaderPtr is evaluated multiple times.
|
||||
///
|
||||
#define FFS_FILE_SIZE(FfsFileHeaderPtr) ((UINT32) (\
|
||||
(((EFI_FFS_FILE_HEADER *) (UINTN) (FfsFileHeaderPtr))->Size[0] ) | \
|
||||
(((EFI_FFS_FILE_HEADER *) (UINTN) (FfsFileHeaderPtr))->Size[1] << 8) | \
|
||||
(((EFI_FFS_FILE_HEADER *) (UINTN) (FfsFileHeaderPtr))->Size[2] << 16)))
|
||||
|
||||
#define FFS_FILE2_SIZE(FfsFileHeaderPtr) \
|
||||
((UINT32) (((EFI_FFS_FILE_HEADER2 *) (UINTN) FfsFileHeaderPtr)->ExtendedSize))
|
||||
|
@ -218,7 +223,8 @@ typedef UINT8 EFI_SECTION_TYPE;
|
|||
#define EFI_SECTION_FREEFORM_SUBTYPE_GUID 0x18
|
||||
#define EFI_SECTION_RAW 0x19
|
||||
#define EFI_SECTION_PEI_DEPEX 0x1B
|
||||
#define EFI_SECTION_SMM_DEPEX 0x1C
|
||||
#define EFI_SECTION_MM_DEPEX 0x1C
|
||||
#define EFI_SECTION_SMM_DEPEX EFI_SECTION_MM_DEPEX
|
||||
|
||||
///
|
||||
/// Common section header.
|
||||
|
@ -481,11 +487,18 @@ typedef struct {
|
|||
CHAR16 VersionString[1];
|
||||
} EFI_VERSION_SECTION2;
|
||||
|
||||
#define IS_SECTION2(SectionHeaderPtr) \
|
||||
((UINT32) (*((UINT32 *) ((EFI_COMMON_SECTION_HEADER *) (UINTN) SectionHeaderPtr)->Size) & 0x00ffffff) == 0x00ffffff)
|
||||
///
|
||||
/// The argument passed as the SectionHeaderPtr parameter to the SECTION_SIZE()
|
||||
/// and IS_SECTION2() function-like macros below must not have side effects:
|
||||
/// SectionHeaderPtr is evaluated multiple times.
|
||||
///
|
||||
#define SECTION_SIZE(SectionHeaderPtr) ((UINT32) (\
|
||||
(((EFI_COMMON_SECTION_HEADER *) (UINTN) (SectionHeaderPtr))->Size[0] ) | \
|
||||
(((EFI_COMMON_SECTION_HEADER *) (UINTN) (SectionHeaderPtr))->Size[1] << 8) | \
|
||||
(((EFI_COMMON_SECTION_HEADER *) (UINTN) (SectionHeaderPtr))->Size[2] << 16)))
|
||||
|
||||
#define SECTION_SIZE(SectionHeaderPtr) \
|
||||
((UINT32) (*((UINT32 *) ((EFI_COMMON_SECTION_HEADER *) (UINTN) SectionHeaderPtr)->Size) & 0x00ffffff))
|
||||
#define IS_SECTION2(SectionHeaderPtr) \
|
||||
(SECTION_SIZE (SectionHeaderPtr) == 0x00ffffff)
|
||||
|
||||
#define SECTION2_SIZE(SectionHeaderPtr) \
|
||||
(((EFI_COMMON_SECTION_HEADER2 *) (UINTN) SectionHeaderPtr)->ExtendedSize)
|
||||
|
@ -493,4 +506,3 @@ typedef struct {
|
|||
#pragma pack()
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,24 +1,18 @@
|
|||
/** @file
|
||||
The firmware volume related definitions in PI.
|
||||
|
||||
Copyright (c) 2006 - 2013, 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.
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
PI Version 1.3
|
||||
PI Version 1.6
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PI_FIRMWAREVOLUME_H__
|
||||
#define __PI_FIRMWAREVOLUME_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// EFI_FV_FILE_ATTRIBUTES
|
||||
|
@ -233,4 +227,23 @@ typedef struct {
|
|||
///
|
||||
} EFI_FIRMWARE_VOLUME_EXT_ENTRY_GUID_TYPE;
|
||||
|
||||
#define EFI_FV_EXT_TYPE_USED_SIZE_TYPE 0x03
|
||||
|
||||
///
|
||||
/// The EFI_FIRMWARE_VOLUME_EXT_ENTRY_USED_SIZE_TYPE can be used to find
|
||||
/// out how many EFI_FVB2_ERASE_POLARITY bytes are at the end of the FV.
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// Standard extension entry, with the type EFI_FV_EXT_TYPE_USED_SIZE_TYPE.
|
||||
///
|
||||
EFI_FIRMWARE_VOLUME_EXT_ENTRY Hdr;
|
||||
///
|
||||
/// The number of bytes of the FV that are in uses. The remaining
|
||||
/// EFI_FIRMWARE_VOLUME_HEADER FvLength minus UsedSize bytes in
|
||||
/// the FV must contain the value implied by EFI_FVB2_ERASE_POLARITY.
|
||||
///
|
||||
UINT32 UsedSize;
|
||||
} EFI_FIRMWARE_VOLUME_EXT_ENTRY_USED_SIZE_TYPE;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,24 +1,18 @@
|
|||
/** @file
|
||||
HOB related definitions in PI.
|
||||
|
||||
Copyright (c) 2006 - 2016, 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.
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
PI Version 1.4a
|
||||
PI Version 1.6
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PI_HOB_H__
|
||||
#define __PI_HOB_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
//
|
||||
// HobType of EFI_HOB_GENERIC_HEADER.
|
||||
|
@ -33,6 +27,7 @@ FILE_LICENCE ( BSD3 );
|
|||
#define EFI_HOB_TYPE_FV2 0x0009
|
||||
#define EFI_HOB_TYPE_LOAD_PEIM_UNUSED 0x000A
|
||||
#define EFI_HOB_TYPE_UEFI_CAPSULE 0x000B
|
||||
#define EFI_HOB_TYPE_FV3 0x000C
|
||||
#define EFI_HOB_TYPE_UNUSED 0xFFFE
|
||||
#define EFI_HOB_TYPE_END_OF_HOB_LIST 0xFFFF
|
||||
|
||||
|
@ -55,7 +50,6 @@ typedef struct {
|
|||
UINT32 Reserved;
|
||||
} EFI_HOB_GENERIC_HEADER;
|
||||
|
||||
|
||||
///
|
||||
/// Value of version in EFI_HOB_HANDOFF_INFO_TABLE.
|
||||
///
|
||||
|
@ -165,7 +159,6 @@ typedef struct {
|
|||
//
|
||||
} EFI_HOB_MEMORY_ALLOCATION;
|
||||
|
||||
|
||||
///
|
||||
/// Describes the memory stack that is produced by the HOB producer
|
||||
/// phase and upon which all post-memory-installed executable
|
||||
|
@ -241,7 +234,16 @@ typedef UINT32 EFI_RESOURCE_TYPE;
|
|||
#define EFI_RESOURCE_MEMORY_MAPPED_IO_PORT 0x00000004
|
||||
#define EFI_RESOURCE_MEMORY_RESERVED 0x00000005
|
||||
#define EFI_RESOURCE_IO_RESERVED 0x00000006
|
||||
#define EFI_RESOURCE_MAX_MEMORY_TYPE 0x00000007
|
||||
//
|
||||
// BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED is defined for unaccepted memory.
|
||||
// But this defitinion has not been officially in the PI spec. Base
|
||||
// on the code-first we define BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED at
|
||||
// MdeModulePkg/Include/Pi/PrePiHob.h and update EFI_RESOURCE_MAX_MEMORY_TYPE
|
||||
// to 8. After BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED is officially published
|
||||
// in PI spec, we will re-visit here.
|
||||
//
|
||||
// #define BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED 0x00000007
|
||||
#define EFI_RESOURCE_MAX_MEMORY_TYPE 0x00000008
|
||||
|
||||
///
|
||||
/// A type of recount attribute type.
|
||||
|
@ -401,6 +403,43 @@ typedef struct {
|
|||
EFI_GUID FileName;
|
||||
} EFI_HOB_FIRMWARE_VOLUME2;
|
||||
|
||||
///
|
||||
/// Details the location of a firmware volume that was extracted
|
||||
/// from a file within another firmware volume.
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// The HOB generic header. Header.HobType = EFI_HOB_TYPE_FV3.
|
||||
///
|
||||
EFI_HOB_GENERIC_HEADER Header;
|
||||
///
|
||||
/// The physical memory-mapped base address of the firmware volume.
|
||||
///
|
||||
EFI_PHYSICAL_ADDRESS BaseAddress;
|
||||
///
|
||||
/// The length in bytes of the firmware volume.
|
||||
///
|
||||
UINT64 Length;
|
||||
///
|
||||
/// The authentication status.
|
||||
///
|
||||
UINT32 AuthenticationStatus;
|
||||
///
|
||||
/// TRUE if the FV was extracted as a file within another firmware volume.
|
||||
/// FALSE otherwise.
|
||||
///
|
||||
BOOLEAN ExtractedFv;
|
||||
///
|
||||
/// The name of the firmware volume.
|
||||
/// Valid only if IsExtractedFv is TRUE.
|
||||
///
|
||||
EFI_GUID FvName;
|
||||
///
|
||||
/// The name of the firmware file that contained this firmware volume.
|
||||
/// Valid only if IsExtractedFv is TRUE.
|
||||
///
|
||||
EFI_GUID FileName;
|
||||
} EFI_HOB_FIRMWARE_VOLUME3;
|
||||
|
||||
///
|
||||
/// Describes processor information, such as address space and I/O space capabilities.
|
||||
|
@ -424,7 +463,6 @@ typedef struct {
|
|||
UINT8 Reserved[6];
|
||||
} EFI_HOB_CPU;
|
||||
|
||||
|
||||
///
|
||||
/// Describes pool memory allocations.
|
||||
///
|
||||
|
@ -471,11 +509,11 @@ typedef union {
|
|||
EFI_HOB_GUID_TYPE *Guid;
|
||||
EFI_HOB_FIRMWARE_VOLUME *FirmwareVolume;
|
||||
EFI_HOB_FIRMWARE_VOLUME2 *FirmwareVolume2;
|
||||
EFI_HOB_FIRMWARE_VOLUME3 *FirmwareVolume3;
|
||||
EFI_HOB_CPU *Cpu;
|
||||
EFI_HOB_MEMORY_POOL *Pool;
|
||||
EFI_HOB_UEFI_CAPSULE *Capsule;
|
||||
UINT8 *Raw;
|
||||
} EFI_PEI_HOB_POINTERS;
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,14 +1,8 @@
|
|||
/** @file
|
||||
Include file matches things in PI for multiple module types.
|
||||
|
||||
Copyright (c) 2006 - 2015, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
These elements are defined in UEFI Platform Initialization Specification 1.2.
|
||||
|
@ -18,7 +12,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __PI_MULTIPHASE_H__
|
||||
#define __PI_MULTIPHASE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Pi/PiFirmwareVolume.h>
|
||||
#include <ipxe/efi/Pi/PiFirmwareFile.h>
|
||||
|
@ -97,43 +91,65 @@ FILE_LICENCE ( BSD3 );
|
|||
///@}
|
||||
|
||||
///
|
||||
/// SMRAM states and capabilities
|
||||
/// MMRAM states and capabilities
|
||||
///
|
||||
#define EFI_SMRAM_OPEN 0x00000001
|
||||
#define EFI_SMRAM_CLOSED 0x00000002
|
||||
#define EFI_SMRAM_LOCKED 0x00000004
|
||||
#define EFI_MMRAM_OPEN 0x00000001
|
||||
#define EFI_MMRAM_CLOSED 0x00000002
|
||||
#define EFI_MMRAM_LOCKED 0x00000004
|
||||
#define EFI_CACHEABLE 0x00000008
|
||||
#define EFI_ALLOCATED 0x00000010
|
||||
#define EFI_NEEDS_TESTING 0x00000020
|
||||
#define EFI_NEEDS_ECC_INITIALIZATION 0x00000040
|
||||
|
||||
#define EFI_SMRAM_OPEN EFI_MMRAM_OPEN
|
||||
#define EFI_SMRAM_CLOSED EFI_MMRAM_CLOSED
|
||||
#define EFI_SMRAM_LOCKED EFI_MMRAM_LOCKED
|
||||
|
||||
///
|
||||
/// Structure describing a SMRAM region and its accessibility attributes.
|
||||
/// Structure describing a MMRAM region and its accessibility attributes.
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// Designates the physical address of the SMRAM in memory. This view of memory is
|
||||
/// Designates the physical address of the MMRAM in memory. This view of memory is
|
||||
/// the same as seen by I/O-based agents, for example, but it may not be the address seen
|
||||
/// by the processors.
|
||||
///
|
||||
EFI_PHYSICAL_ADDRESS PhysicalStart;
|
||||
///
|
||||
/// Designates the address of the SMRAM, as seen by software executing on the
|
||||
/// Designates the address of the MMRAM, as seen by software executing on the
|
||||
/// processors. This address may or may not match PhysicalStart.
|
||||
///
|
||||
EFI_PHYSICAL_ADDRESS CpuStart;
|
||||
///
|
||||
/// Describes the number of bytes in the SMRAM region.
|
||||
/// Describes the number of bytes in the MMRAM region.
|
||||
///
|
||||
UINT64 PhysicalSize;
|
||||
///
|
||||
/// Describes the accessibility attributes of the SMRAM. These attributes include the
|
||||
/// Describes the accessibility attributes of the MMRAM. These attributes include the
|
||||
/// hardware state (e.g., Open/Closed/Locked), capability (e.g., cacheable), logical
|
||||
/// allocation (e.g., allocated), and pre-use initialization (e.g., needs testing/ECC
|
||||
/// initialization).
|
||||
///
|
||||
UINT64 RegionState;
|
||||
} EFI_SMRAM_DESCRIPTOR;
|
||||
} EFI_MMRAM_DESCRIPTOR;
|
||||
|
||||
typedef EFI_MMRAM_DESCRIPTOR EFI_SMRAM_DESCRIPTOR;
|
||||
|
||||
///
|
||||
/// Structure describing a MMRAM region which cannot be used for the MMRAM heap.
|
||||
///
|
||||
typedef struct _EFI_MM_RESERVED_MMRAM_REGION {
|
||||
///
|
||||
/// Starting address of the reserved MMRAM area, as it appears while MMRAM is open.
|
||||
/// Ignored if MmramReservedSize is 0.
|
||||
///
|
||||
EFI_PHYSICAL_ADDRESS MmramReservedStart;
|
||||
///
|
||||
/// Number of bytes occupied by the reserved MMRAM area. A size of zero indicates the
|
||||
/// last MMRAM area.
|
||||
///
|
||||
UINT64 MmramReservedSize;
|
||||
} EFI_MM_RESERVED_MMRAM_REGION;
|
||||
|
||||
typedef enum {
|
||||
EFI_PCD_TYPE_8,
|
||||
|
@ -178,4 +194,20 @@ VOID
|
|||
IN OUT VOID *Buffer
|
||||
);
|
||||
|
||||
/**
|
||||
The function prototype for invoking a function on an Application Processor.
|
||||
|
||||
This definition is used by the UEFI MM MP Serices Protocol.
|
||||
|
||||
@param[in] ProcedureArgument The pointer to private data buffer.
|
||||
|
||||
@retval EFI_SUCCESS Excutive the procedure successfully
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_AP_PROCEDURE2)(
|
||||
IN VOID *ProcedureArgument
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -2,21 +2,15 @@
|
|||
This file contains the boot script defintions that are shared between the
|
||||
Boot Script Executor PPI and the Boot Script Save Protocol.
|
||||
|
||||
Copyright (c) 2009, 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.
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _PI_S3_BOOT_SCRIPT_H_
|
||||
#define _PI_S3_BOOT_SCRIPT_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
// *******************************************
|
||||
// EFI Boot Script Opcode definitions
|
||||
|
|
|
@ -1,14 +1,8 @@
|
|||
/** @file
|
||||
StatusCode related definitions in PI.
|
||||
|
||||
Copyright (c) 2009 - 2013, 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.
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
These status codes are defined in UEFI Platform Initialization Specification 1.2,
|
||||
|
@ -19,7 +13,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __PI_STATUS_CODE_H__
|
||||
#define __PI_STATUS_CODE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
//
|
||||
// Required for IA32, X64, IPF, ARM and EBC defines for CPU exception types
|
||||
|
@ -348,6 +342,7 @@ typedef struct {
|
|||
#define EFI_CHIPSET_EC_BAD_BATTERY (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_CHIPSET_EC_DXE_NB_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_CHIPSET_EC_DXE_SB_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_CHIPSET_EC_INTRUDER_DETECT (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
///@}
|
||||
|
||||
///
|
||||
|
@ -369,6 +364,7 @@ typedef struct {
|
|||
#define EFI_PERIPHERAL_AUDIO_OUTPUT (EFI_PERIPHERAL | 0x000A0000)
|
||||
#define EFI_PERIPHERAL_LCD_DEVICE (EFI_PERIPHERAL | 0x000B0000)
|
||||
#define EFI_PERIPHERAL_NETWORK (EFI_PERIPHERAL | 0x000C0000)
|
||||
#define EFI_PERIPHERAL_DOCKING (EFI_PERIPHERAL | 0x000D0000)
|
||||
///@}
|
||||
|
||||
///
|
||||
|
@ -383,6 +379,7 @@ typedef struct {
|
|||
#define EFI_P_PC_ENABLE 0x00000004
|
||||
#define EFI_P_PC_RECONFIG 0x00000005
|
||||
#define EFI_P_PC_DETECTED 0x00000006
|
||||
#define EFI_P_PC_REMOVED 0x00000007
|
||||
///@}
|
||||
|
||||
//
|
||||
|
@ -474,6 +471,7 @@ typedef struct {
|
|||
///@{
|
||||
#define EFI_P_KEYBOARD_EC_LOCKED (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
#define EFI_P_KEYBOARD_EC_STUCK_KEY (EFI_SUBCLASS_SPECIFIC | 0x00000001)
|
||||
#define EFI_P_KEYBOARD_EC_BUFFER_FULL (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
///@}
|
||||
|
||||
///
|
||||
|
@ -770,6 +768,7 @@ typedef struct {
|
|||
#define EFI_SW_PEI_PC_RECOVERY_AUTO (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_SW_PEI_PC_S3_BOOT_SCRIPT (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_SW_PEI_PC_OS_WAKE (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
#define EFI_SW_PEI_PC_S3_STARTED (EFI_SUBCLASS_SPECIFIC | 0x00000007)
|
||||
///@}
|
||||
|
||||
///
|
||||
|
@ -792,6 +791,11 @@ typedef struct {
|
|||
#define EFI_SW_DXE_BS_PC_LEGACY_BOOT_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000002)
|
||||
#define EFI_SW_DXE_BS_PC_EXIT_BOOT_SERVICES_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000003)
|
||||
#define EFI_SW_DXE_BS_PC_VIRTUAL_ADDRESS_CHANGE_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000004)
|
||||
#define EFI_SW_DXE_BS_PC_VARIABLE_SERVICES_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_SW_DXE_BS_PC_VARIABLE_RECLAIM (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
#define EFI_SW_DXE_BS_PC_ATTEMPT_BOOT_ORDER_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000007)
|
||||
#define EFI_SW_DXE_BS_PC_CONFIG_RESET (EFI_SUBCLASS_SPECIFIC | 0x00000008)
|
||||
#define EFI_SW_DXE_BS_PC_CSM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000009)
|
||||
///@}
|
||||
|
||||
//
|
||||
|
@ -981,6 +985,8 @@ typedef struct {
|
|||
#define EFI_SW_EC_PWD_CLR_REQUEST 0x0000000F
|
||||
#define EFI_SW_EC_PWD_CLEARED 0x00000010
|
||||
#define EFI_SW_EC_EVENT_LOG_FULL 0x00000011
|
||||
#define EFI_SW_EC_WRITE_PROTECTED 0x00000012
|
||||
#define EFI_SW_EC_FV_CORRUPTED 0x00000013
|
||||
///@}
|
||||
|
||||
//
|
||||
|
@ -1012,6 +1018,8 @@ typedef struct {
|
|||
#define EFI_SW_PEI_EC_S3_RESUME_FAILED (EFI_SUBCLASS_SPECIFIC | 0x00000005)
|
||||
#define EFI_SW_PEI_EC_RECOVERY_PPI_NOT_FOUND (EFI_SUBCLASS_SPECIFIC | 0x00000006)
|
||||
#define EFI_SW_PEI_EC_RECOVERY_FAILED (EFI_SUBCLASS_SPECIFIC | 0x00000007)
|
||||
#define EFI_SW_PEI_EC_S3_RESUME_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000008)
|
||||
#define EFI_SW_PEI_EC_INVALID_CAPSULE (EFI_SUBCLASS_SPECIFIC | 0x00000009)
|
||||
///@}
|
||||
|
||||
///
|
||||
|
@ -1021,7 +1029,6 @@ typedef struct {
|
|||
#define EFI_SW_DXE_CORE_EC_NO_ARCH (EFI_SUBCLASS_SPECIFIC | 0x00000000)
|
||||
///@}
|
||||
|
||||
|
||||
///
|
||||
/// Software Class DXE Boot Service Driver Subclass Error Code definitions.
|
||||
///
|
||||
|
|
|
@ -2,21 +2,15 @@
|
|||
|
||||
Root include file for Mde Package DXE_CORE, DXE, RUNTIME, SMM, SAL type modules.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PI_DXE_H__
|
||||
#define __PI_DXE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Uefi/UefiBaseType.h>
|
||||
#include <ipxe/efi/Uefi/UefiSpec.h>
|
||||
|
@ -24,4 +18,3 @@ FILE_LICENCE ( BSD3 );
|
|||
#include <ipxe/efi/Pi/PiDxeCis.h>
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -2,35 +2,28 @@
|
|||
The file provides services that allow information about an
|
||||
absolute pointer device to be retrieved.
|
||||
|
||||
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
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
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:
|
||||
This Protocol was introduced in UEFI Specification 2.3.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __ABSOLUTE_POINTER_H__
|
||||
#define __ABSOLUTE_POINTER_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_ABSOLUTE_POINTER_PROTOCOL_GUID \
|
||||
{ 0x8D59D32B, 0xC655, 0x4AE9, { 0x9B, 0x15, 0xF2, 0x59, 0x04, 0x99, 0x2A, 0x43 } }
|
||||
|
||||
|
||||
typedef struct _EFI_ABSOLUTE_POINTER_PROTOCOL EFI_ABSOLUTE_POINTER_PROTOCOL;
|
||||
|
||||
|
||||
// *******************************************************
|
||||
// EFI_ABSOLUTE_POINTER_MODE
|
||||
// *******************************************************
|
||||
|
||||
|
||||
/**
|
||||
The following data values in the EFI_ABSOLUTE_POINTER_MODE
|
||||
interface are read-only and are changed by using the appropriate
|
||||
|
@ -61,7 +54,6 @@ typedef struct {
|
|||
///
|
||||
#define EFI_ABSP_SupportsPressureAsZ 0x00000002
|
||||
|
||||
|
||||
/**
|
||||
This function resets the pointer device hardware. As part of
|
||||
initialization process, the firmware/device will make a quick
|
||||
|
@ -104,7 +96,6 @@ EFI_STATUS
|
|||
///
|
||||
#define EFI_ABS_AltActive 0x00000002
|
||||
|
||||
|
||||
/**
|
||||
Definition of EFI_ABSOLUTE_POINTER_STATE.
|
||||
**/
|
||||
|
@ -174,10 +165,9 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_ABSOLUTE_POINTER_GET_STATE)(
|
||||
IN EFI_ABSOLUTE_POINTER_PROTOCOL *This,
|
||||
IN OUT EFI_ABSOLUTE_POINTER_STATE *State
|
||||
OUT EFI_ABSOLUTE_POINTER_STATE *State
|
||||
);
|
||||
|
||||
|
||||
///
|
||||
/// The EFI_ABSOLUTE_POINTER_PROTOCOL provides a set of services
|
||||
/// for a pointer device that can be used as an input device from an
|
||||
|
@ -199,9 +189,6 @@ struct _EFI_ABSOLUTE_POINTER_PROTOCOL {
|
|||
EFI_ABSOLUTE_POINTER_MODE *Mode;
|
||||
};
|
||||
|
||||
|
||||
extern EFI_GUID gEfiAbsolutePointerProtocolGuid;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -2,26 +2,22 @@
|
|||
The file provides the protocol to install or remove an ACPI
|
||||
table from a platform.
|
||||
|
||||
Copyright (c) 2006 - 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
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:
|
||||
This Protocol was introduced in UEFI Specification 2.3.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __ACPI_TABLE_H___
|
||||
#define __ACPI_TABLE_H___
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_ACPI_TABLE_PROTOCOL_GUID \
|
||||
{ 0xffe06bdd, 0x6107, 0x46a6, { 0x7b, 0xb2, 0x5a, 0x9c, 0x7e, 0xc5, 0x27, 0x5c }}
|
||||
|
||||
|
||||
typedef struct _EFI_ACPI_TABLE_PROTOCOL EFI_ACPI_TABLE_PROTOCOL;
|
||||
|
||||
/**
|
||||
|
@ -82,7 +78,6 @@ EFI_STATUS
|
|||
OUT UINTN *TableKey
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
The UninstallAcpiTable() function allows a caller to remove an
|
||||
|
@ -126,4 +121,3 @@ struct _EFI_ACPI_TABLE_PROTOCOL {
|
|||
extern EFI_GUID gEfiAcpiTableProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -7,14 +7,8 @@
|
|||
The EFI ARP Protocol provides services to map IP network
|
||||
address to hardware address used by a data link protocol.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol was introduced in UEFI Specification 2.0.
|
||||
|
@ -24,7 +18,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __EFI_ARP_PROTOCOL_H__
|
||||
#define __EFI_ARP_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_ARP_SERVICE_BINDING_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -117,7 +111,6 @@ typedef struct {
|
|||
UINT32 RetryTimeOut;
|
||||
} EFI_ARP_CONFIG_DATA;
|
||||
|
||||
|
||||
/**
|
||||
This function is used to assign a station address to the ARP cache for this instance
|
||||
of the ARP driver.
|
||||
|
@ -255,7 +248,6 @@ EFI_STATUS
|
|||
IN BOOLEAN Refresh
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
This function removes specified ARP cache entries.
|
||||
|
||||
|
@ -380,7 +372,6 @@ struct _EFI_ARP_PROTOCOL {
|
|||
EFI_ARP_CANCEL Cancel;
|
||||
};
|
||||
|
||||
|
||||
extern EFI_GUID gEfiArpServiceBindingProtocolGuid;
|
||||
extern EFI_GUID gEfiArpProtocolGuid;
|
||||
|
||||
|
|
|
@ -4,21 +4,15 @@
|
|||
The Block IO protocol is used to abstract block devices like hard drives,
|
||||
DVD-ROMs and floppy drives.
|
||||
|
||||
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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __BLOCK_IO_H__
|
||||
#define __BLOCK_IO_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_BLOCK_IO_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -209,7 +203,7 @@ typedef struct {
|
|||
|
||||
#define EFI_BLOCK_IO_PROTOCOL_REVISION 0x00010000
|
||||
#define EFI_BLOCK_IO_PROTOCOL_REVISION2 0x00020001
|
||||
#define EFI_BLOCK_IO_PROTOCOL_REVISION3 0x00020031
|
||||
#define EFI_BLOCK_IO_PROTOCOL_REVISION3 0x0002001F
|
||||
|
||||
///
|
||||
/// Revision defined in EFI1.1.
|
||||
|
@ -235,7 +229,6 @@ struct _EFI_BLOCK_IO_PROTOCOL {
|
|||
EFI_BLOCK_READ ReadBlocks;
|
||||
EFI_BLOCK_WRITE WriteBlocks;
|
||||
EFI_BLOCK_FLUSH FlushBlocks;
|
||||
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiBlockIoProtocolGuid;
|
||||
|
|
|
@ -5,21 +5,15 @@
|
|||
enables the ability to read and write data at a block level in a non-blocking
|
||||
manner.
|
||||
|
||||
Copyright (c) 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.
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __BLOCK_IO2_H__
|
||||
#define __BLOCK_IO2_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Protocol/BlockIo.h>
|
||||
|
||||
|
@ -34,7 +28,6 @@ typedef struct _EFI_BLOCK_IO2_PROTOCOL EFI_BLOCK_IO2_PROTOCOL;
|
|||
The struct of Block IO2 Token.
|
||||
**/
|
||||
typedef struct {
|
||||
|
||||
///
|
||||
/// If Event is NULL, then blocking I/O is performed.If Event is not NULL and
|
||||
/// non-blocking I/O is supported, then non-blocking I/O is performed, and
|
||||
|
@ -48,7 +41,6 @@ typedef struct {
|
|||
EFI_STATUS TransactionStatus;
|
||||
} EFI_BLOCK_IO2_TOKEN;
|
||||
|
||||
|
||||
/**
|
||||
Reset the block device hardware.
|
||||
|
||||
|
@ -205,4 +197,3 @@ struct _EFI_BLOCK_IO2_PROTOCOL {
|
|||
extern EFI_GUID gEfiBlockIo2ProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,21 +6,15 @@
|
|||
instance of this protocol for every PCI controller that has a PCI option ROM that contains one or
|
||||
more UEFI drivers. The protocol instance is attached to the handle of the PCI controller.
|
||||
|
||||
Copyright (c) 2006 - 2008, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL_H_
|
||||
#define _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// Global ID for the Bus Specific Driver Override Protocol
|
||||
|
|
|
@ -3,21 +3,15 @@
|
|||
This protocol is used to retrieve user readable names of EFI Drivers
|
||||
and controllers managed by EFI Drivers.
|
||||
|
||||
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
|
||||
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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_COMPONENT_NAME_H__
|
||||
#define __EFI_COMPONENT_NAME_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// The global ID for the Component Name Protocol.
|
||||
|
@ -29,7 +23,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
typedef struct _EFI_COMPONENT_NAME_PROTOCOL EFI_COMPONENT_NAME_PROTOCOL;
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a Unicode string that is the user-readable name of the EFI Driver.
|
||||
|
||||
|
@ -60,7 +53,6 @@ EFI_STATUS
|
|||
OUT CHAR16 **DriverName
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a Unicode string that is the user readable name of the controller
|
||||
that is being managed by an EFI Driver.
|
||||
|
|
|
@ -3,21 +3,15 @@
|
|||
This protocol is used to retrieve user readable names of drivers
|
||||
and controllers managed by UEFI Drivers.
|
||||
|
||||
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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_COMPONENT_NAME2_H__
|
||||
#define __EFI_COMPONENT_NAME2_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// Global ID for the Component Name Protocol
|
||||
|
@ -27,7 +21,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
typedef struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL;
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a string that is the user readable name of
|
||||
the EFI Driver.
|
||||
|
@ -72,7 +65,6 @@ EFI_STATUS
|
|||
OUT CHAR16 **DriverName
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Retrieves a string that is the user readable name of
|
||||
the controller that is being managed by an EFI Driver.
|
||||
|
|
|
@ -5,23 +5,18 @@
|
|||
The DebugSupport protocol is used by source level debuggers to abstract the
|
||||
processor and handle context save and restore operations.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
|
||||
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. 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.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __DEBUG_SUPPORT_H__
|
||||
#define __DEBUG_SUPPORT_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/IndustryStandard/PeImage.h>
|
||||
|
||||
|
@ -436,7 +431,6 @@ typedef struct {
|
|||
// virtual registers - nat bits for R1-R31
|
||||
//
|
||||
UINT64 IntNat;
|
||||
|
||||
} EFI_SYSTEM_CONTEXT_IPF;
|
||||
|
||||
///
|
||||
|
@ -475,8 +469,6 @@ typedef struct {
|
|||
UINT64 Ip;
|
||||
} EFI_SYSTEM_CONTEXT_EBC;
|
||||
|
||||
|
||||
|
||||
///
|
||||
/// ARM processor exception types.
|
||||
///
|
||||
|
@ -521,7 +513,6 @@ typedef struct {
|
|||
UINT32 IFAR;
|
||||
} EFI_SYSTEM_CONTEXT_ARM;
|
||||
|
||||
|
||||
///
|
||||
/// AARCH64 processor exception types.
|
||||
///
|
||||
|
@ -611,6 +602,151 @@ typedef struct {
|
|||
UINT64 FAR; // Fault Address Register
|
||||
} EFI_SYSTEM_CONTEXT_AARCH64;
|
||||
|
||||
///
|
||||
/// RISC-V processor exception types.
|
||||
///
|
||||
#define EXCEPT_RISCV_INST_MISALIGNED 0
|
||||
#define EXCEPT_RISCV_INST_ACCESS_FAULT 1
|
||||
#define EXCEPT_RISCV_ILLEGAL_INST 2
|
||||
#define EXCEPT_RISCV_BREAKPOINT 3
|
||||
#define EXCEPT_RISCV_LOAD_ADDRESS_MISALIGNED 4
|
||||
#define EXCEPT_RISCV_LOAD_ACCESS_FAULT 5
|
||||
#define EXCEPT_RISCV_STORE_AMO_ADDRESS_MISALIGNED 6
|
||||
#define EXCEPT_RISCV_STORE_AMO_ACCESS_FAULT 7
|
||||
#define EXCEPT_RISCV_ENV_CALL_FROM_UMODE 8
|
||||
#define EXCEPT_RISCV_ENV_CALL_FROM_SMODE 9
|
||||
#define EXCEPT_RISCV_ENV_CALL_FROM_HMODE 10
|
||||
#define EXCEPT_RISCV_ENV_CALL_FROM_MMODE 11
|
||||
|
||||
#define EXCEPT_RISCV_SOFTWARE_INT 0x0
|
||||
#define EXCEPT_RISCV_TIMER_INT 0x1
|
||||
|
||||
typedef struct {
|
||||
UINT64 X0;
|
||||
UINT64 X1;
|
||||
UINT64 X2;
|
||||
UINT64 X3;
|
||||
UINT64 X4;
|
||||
UINT64 X5;
|
||||
UINT64 X6;
|
||||
UINT64 X7;
|
||||
UINT64 X8;
|
||||
UINT64 X9;
|
||||
UINT64 X10;
|
||||
UINT64 X11;
|
||||
UINT64 X12;
|
||||
UINT64 X13;
|
||||
UINT64 X14;
|
||||
UINT64 X15;
|
||||
UINT64 X16;
|
||||
UINT64 X17;
|
||||
UINT64 X18;
|
||||
UINT64 X19;
|
||||
UINT64 X20;
|
||||
UINT64 X21;
|
||||
UINT64 X22;
|
||||
UINT64 X23;
|
||||
UINT64 X24;
|
||||
UINT64 X25;
|
||||
UINT64 X26;
|
||||
UINT64 X27;
|
||||
UINT64 X28;
|
||||
UINT64 X29;
|
||||
UINT64 X30;
|
||||
UINT64 X31;
|
||||
} EFI_SYSTEM_CONTEXT_RISCV64;
|
||||
|
||||
//
|
||||
// LoongArch processor exception types.
|
||||
//
|
||||
#define EXCEPT_LOONGARCH_INT 0
|
||||
#define EXCEPT_LOONGARCH_PIL 1
|
||||
#define EXCEPT_LOONGARCH_PIS 2
|
||||
#define EXCEPT_LOONGARCH_PIF 3
|
||||
#define EXCEPT_LOONGARCH_PME 4
|
||||
#define EXCEPT_LOONGARCH_PNR 5
|
||||
#define EXCEPT_LOONGARCH_PNX 6
|
||||
#define EXCEPT_LOONGARCH_PPI 7
|
||||
#define EXCEPT_LOONGARCH_ADE 8
|
||||
#define EXCEPT_LOONGARCH_ALE 9
|
||||
#define EXCEPT_LOONGARCH_BCE 10
|
||||
#define EXCEPT_LOONGARCH_SYS 11
|
||||
#define EXCEPT_LOONGARCH_BRK 12
|
||||
#define EXCEPT_LOONGARCH_INE 13
|
||||
#define EXCEPT_LOONGARCH_IPE 14
|
||||
#define EXCEPT_LOONGARCH_FPD 15
|
||||
#define EXCEPT_LOONGARCH_SXD 16
|
||||
#define EXCEPT_LOONGARCH_ASXD 17
|
||||
#define EXCEPT_LOONGARCH_FPE 18
|
||||
#define EXCEPT_LOONGARCH_TBR 64 // For code only, there is no such type in the ISA spec, the TLB refill is defined for an independent exception.
|
||||
|
||||
//
|
||||
// LoongArch processor Interrupt types.
|
||||
//
|
||||
#define EXCEPT_LOONGARCH_INT_SIP0 0
|
||||
#define EXCEPT_LOONGARCH_INT_SIP1 1
|
||||
#define EXCEPT_LOONGARCH_INT_IP0 2
|
||||
#define EXCEPT_LOONGARCH_INT_IP1 3
|
||||
#define EXCEPT_LOONGARCH_INT_IP2 4
|
||||
#define EXCEPT_LOONGARCH_INT_IP3 5
|
||||
#define EXCEPT_LOONGARCH_INT_IP4 6
|
||||
#define EXCEPT_LOONGARCH_INT_IP5 7
|
||||
#define EXCEPT_LOONGARCH_INT_IP6 8
|
||||
#define EXCEPT_LOONGARCH_INT_IP7 9
|
||||
#define EXCEPT_LOONGARCH_INT_PMC 10
|
||||
#define EXCEPT_LOONGARCH_INT_TIMER 11
|
||||
#define EXCEPT_LOONGARCH_INT_IPI 12
|
||||
|
||||
//
|
||||
// For coding convenience, define the maximum valid
|
||||
// LoongArch interrupt.
|
||||
//
|
||||
#define MAX_LOONGARCH_INTERRUPT 14
|
||||
|
||||
typedef struct {
|
||||
UINT64 R0;
|
||||
UINT64 R1;
|
||||
UINT64 R2;
|
||||
UINT64 R3;
|
||||
UINT64 R4;
|
||||
UINT64 R5;
|
||||
UINT64 R6;
|
||||
UINT64 R7;
|
||||
UINT64 R8;
|
||||
UINT64 R9;
|
||||
UINT64 R10;
|
||||
UINT64 R11;
|
||||
UINT64 R12;
|
||||
UINT64 R13;
|
||||
UINT64 R14;
|
||||
UINT64 R15;
|
||||
UINT64 R16;
|
||||
UINT64 R17;
|
||||
UINT64 R18;
|
||||
UINT64 R19;
|
||||
UINT64 R20;
|
||||
UINT64 R21;
|
||||
UINT64 R22;
|
||||
UINT64 R23;
|
||||
UINT64 R24;
|
||||
UINT64 R25;
|
||||
UINT64 R26;
|
||||
UINT64 R27;
|
||||
UINT64 R28;
|
||||
UINT64 R29;
|
||||
UINT64 R30;
|
||||
UINT64 R31;
|
||||
|
||||
UINT64 CRMD; // CuRrent MoDe information
|
||||
UINT64 PRMD; // PRe-exception MoDe information
|
||||
UINT64 EUEN; // Extended component Unit ENable
|
||||
UINT64 MISC; // MISCellaneous controller
|
||||
UINT64 ECFG; // Exception ConFiGuration
|
||||
UINT64 ESTAT; // Exception STATus
|
||||
UINT64 ERA; // Exception Return Address
|
||||
UINT64 BADV; // BAD Virtual address
|
||||
UINT64 BADI; // BAD Instruction
|
||||
} EFI_SYSTEM_CONTEXT_LOONGARCH64;
|
||||
|
||||
///
|
||||
/// Universal EFI_SYSTEM_CONTEXT definition.
|
||||
|
@ -622,6 +758,8 @@ typedef union {
|
|||
EFI_SYSTEM_CONTEXT_IPF *SystemContextIpf;
|
||||
EFI_SYSTEM_CONTEXT_ARM *SystemContextArm;
|
||||
EFI_SYSTEM_CONTEXT_AARCH64 *SystemContextAArch64;
|
||||
EFI_SYSTEM_CONTEXT_RISCV64 *SystemContextRiscV64;
|
||||
EFI_SYSTEM_CONTEXT_LOONGARCH64 *SystemContextLoongArch64;
|
||||
} EFI_SYSTEM_CONTEXT;
|
||||
|
||||
//
|
||||
|
@ -666,7 +804,6 @@ typedef enum {
|
|||
IsaAArch64 = IMAGE_FILE_MACHINE_ARM64 ///< 0xAA64
|
||||
} EFI_INSTRUCTION_SET_ARCHITECTURE;
|
||||
|
||||
|
||||
//
|
||||
// DebugSupport member function definitions
|
||||
//
|
||||
|
|
|
@ -5,21 +5,15 @@
|
|||
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 - 2016, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_DEVICE_PATH_PROTOCOL_H__
|
||||
#define __EFI_DEVICE_PATH_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Guid/PcAnsi.h>
|
||||
#include <ipxe/efi/IndustryStandard/Bluetooth.h>
|
||||
|
@ -63,7 +57,6 @@ typedef struct {
|
|||
|
||||
UINT8 Length[2]; ///< Specific Device Path data. Type and Sub-Type define
|
||||
///< type of data. Size of data is included in Length.
|
||||
|
||||
} EFI_DEVICE_PATH_PROTOCOL;
|
||||
|
||||
///
|
||||
|
@ -290,6 +283,21 @@ typedef struct {
|
|||
//
|
||||
} ACPI_ADR_DEVICE_PATH;
|
||||
|
||||
///
|
||||
/// ACPI NVDIMM Device Path SubType.
|
||||
///
|
||||
#define ACPI_NVDIMM_DP 0x04
|
||||
///
|
||||
///
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||
///
|
||||
/// NFIT Device Handle, the _ADR of the NVDIMM device.
|
||||
/// The value of this field comes from Section 9.20.3 of the ACPI 6.2A specification.
|
||||
///
|
||||
UINT32 NFITDeviceHandle;
|
||||
} ACPI_NVDIMM_DEVICE_PATH;
|
||||
|
||||
#define ACPI_ADR_DISPLAY_TYPE_OTHER 0
|
||||
#define ACPI_ADR_DISPLAY_TYPE_VGA 1
|
||||
#define ACPI_ADR_DISPLAY_TYPE_TV 2
|
||||
|
@ -720,6 +728,18 @@ typedef struct {
|
|||
UINT8 StopBits;
|
||||
} UART_DEVICE_PATH;
|
||||
|
||||
///
|
||||
/// NVDIMM Namespace Device Path SubType.
|
||||
///
|
||||
#define NVDIMM_NAMESPACE_DP 0x20
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||
///
|
||||
/// Namespace unique label identifier UUID.
|
||||
///
|
||||
EFI_GUID Uuid;
|
||||
} NVDIMM_NAMESPACE_DEVICE_PATH;
|
||||
|
||||
//
|
||||
// Use VENDOR_DEVICE_PATH struct
|
||||
//
|
||||
|
@ -819,6 +839,22 @@ typedef struct {
|
|||
UINT64 NamespaceUuid;
|
||||
} NVME_NAMESPACE_DEVICE_PATH;
|
||||
|
||||
///
|
||||
/// DNS Device Path SubType
|
||||
///
|
||||
#define MSG_DNS_DP 0x1F
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||
///
|
||||
/// Indicates the DNS server address is IPv4 or IPv6 address.
|
||||
///
|
||||
UINT8 IsIPv6;
|
||||
///
|
||||
/// Instance of the DNS server address.
|
||||
///
|
||||
EFI_IP_ADDRESS DnsServerIp[];
|
||||
} DNS_DEVICE_PATH;
|
||||
|
||||
///
|
||||
/// Uniform Resource Identifiers (URI) Device Path SubType
|
||||
///
|
||||
|
@ -940,6 +976,15 @@ typedef struct {
|
|||
UINT8 SSId[32];
|
||||
} WIFI_DEVICE_PATH;
|
||||
|
||||
///
|
||||
/// Bluetooth LE Device Path SubType.
|
||||
///
|
||||
#define MSG_BLUETOOTH_LE_DP 0x1E
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL Header;
|
||||
BLUETOOTH_LE_ADDRESS Address;
|
||||
} BLUETOOTH_LE_DEVICE_PATH;
|
||||
|
||||
//
|
||||
// Media Device Path
|
||||
//
|
||||
|
@ -1205,7 +1250,6 @@ typedef struct {
|
|||
#define BBS_TYPE_BEV 0x80
|
||||
#define BBS_TYPE_UNKNOWN 0xFF
|
||||
|
||||
|
||||
///
|
||||
/// Union of all possible Device Paths and pointers to Device Paths.
|
||||
///
|
||||
|
@ -1245,6 +1289,7 @@ typedef union {
|
|||
SAS_DEVICE_PATH Sas;
|
||||
SASEX_DEVICE_PATH SasEx;
|
||||
NVME_NAMESPACE_DEVICE_PATH NvmeNamespace;
|
||||
DNS_DEVICE_PATH Dns;
|
||||
URI_DEVICE_PATH Uri;
|
||||
BLUETOOTH_DEVICE_PATH Bluetooth;
|
||||
WIFI_DEVICE_PATH WiFi;
|
||||
|
@ -1264,8 +1309,6 @@ typedef union {
|
|||
BBS_BBS_DEVICE_PATH Bbs;
|
||||
} EFI_DEV_PATH;
|
||||
|
||||
|
||||
|
||||
typedef union {
|
||||
EFI_DEVICE_PATH_PROTOCOL *DevPath;
|
||||
PCI_DEVICE_PATH *Pci;
|
||||
|
@ -1302,6 +1345,7 @@ typedef union {
|
|||
SAS_DEVICE_PATH *Sas;
|
||||
SASEX_DEVICE_PATH *SasEx;
|
||||
NVME_NAMESPACE_DEVICE_PATH *NvmeNamespace;
|
||||
DNS_DEVICE_PATH *Dns;
|
||||
URI_DEVICE_PATH *Uri;
|
||||
BLUETOOTH_DEVICE_PATH *Bluetooth;
|
||||
WIFI_DEVICE_PATH *WiFi;
|
||||
|
|
|
@ -2,21 +2,15 @@
|
|||
EFI_DEVICE_PATH_TO_TEXT_PROTOCOL as defined in UEFI 2.0.
|
||||
This protocol provides service to convert device nodes and paths to text.
|
||||
|
||||
Copyright (c) 2006 - 2008, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __DEVICE_PATH_TO_TEXT_PROTOCOL_H__
|
||||
#define __DEVICE_PATH_TO_TEXT_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// Device Path To Text protocol
|
||||
|
@ -83,5 +77,3 @@ typedef struct {
|
|||
extern EFI_GUID gEfiDevicePathToTextProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -4,14 +4,8 @@
|
|||
These protocols are used to collect configuration information for the EFI IPv4 Protocol
|
||||
drivers and to provide DHCPv4 server and PXE boot server discovery services.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol was introduced in UEFI Specification 2.0.
|
||||
|
@ -21,7 +15,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __EFI_DHCP4_PROTOCOL_H__
|
||||
#define __EFI_DHCP4_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_DHCP4_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -35,7 +29,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
typedef struct _EFI_DHCP4_PROTOCOL EFI_DHCP4_PROTOCOL;
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
typedef struct {
|
||||
///
|
||||
|
@ -53,7 +46,6 @@ typedef struct {
|
|||
} EFI_DHCP4_PACKET_OPTION;
|
||||
#pragma pack()
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
///
|
||||
/// EFI_DHCP4_PACKET defines the format of DHCPv4 packets. See RFC 2131 for more information.
|
||||
|
@ -76,7 +68,6 @@ typedef struct {
|
|||
} EFI_DHCP4_HEADER;
|
||||
#pragma pack()
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
typedef struct {
|
||||
///
|
||||
|
@ -106,7 +97,6 @@ typedef struct {
|
|||
} EFI_DHCP4_PACKET;
|
||||
#pragma pack()
|
||||
|
||||
|
||||
typedef enum {
|
||||
///
|
||||
/// The EFI DHCPv4 Protocol driver is stopped.
|
||||
|
@ -150,7 +140,6 @@ typedef enum {
|
|||
Dhcp4Rebooting = 0x8
|
||||
} EFI_DHCP4_STATE;
|
||||
|
||||
|
||||
typedef enum {
|
||||
///
|
||||
/// The packet to start the configuration sequence is about to be sent.
|
||||
|
@ -307,7 +296,6 @@ typedef struct {
|
|||
EFI_DHCP4_PACKET_OPTION **OptionList;
|
||||
} EFI_DHCP4_CONFIG_DATA;
|
||||
|
||||
|
||||
typedef struct {
|
||||
///
|
||||
/// The EFI DHCPv4 Protocol driver operating state.
|
||||
|
@ -351,7 +339,6 @@ typedef struct {
|
|||
EFI_DHCP4_PACKET *ReplyPacket;
|
||||
} EFI_DHCP4_MODE_DATA;
|
||||
|
||||
|
||||
typedef struct {
|
||||
///
|
||||
/// Alternate listening address. It can be a unicast, multicast, or broadcast address.
|
||||
|
@ -369,7 +356,6 @@ typedef struct {
|
|||
UINT16 ListenPort;
|
||||
} EFI_DHCP4_LISTEN_POINT;
|
||||
|
||||
|
||||
typedef struct {
|
||||
///
|
||||
/// The completion status of transmitting and receiving.
|
||||
|
@ -419,7 +405,6 @@ typedef struct {
|
|||
EFI_DHCP4_PACKET *ResponseList;
|
||||
} EFI_DHCP4_TRANSMIT_RECEIVE_TOKEN;
|
||||
|
||||
|
||||
/**
|
||||
Returns the current operating mode and cached data packet for the EFI DHCPv4 Protocol driver.
|
||||
|
||||
|
@ -495,7 +480,6 @@ EFI_STATUS
|
|||
IN EFI_DHCP4_CONFIG_DATA *Dhcp4CfgData OPTIONAL
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Starts the DHCP configuration process.
|
||||
|
||||
|
@ -685,7 +669,6 @@ EFI_STATUS
|
|||
OUT EFI_DHCP4_PACKET **NewPacket
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Transmits a DHCP formatted packet and optionally waits for responses.
|
||||
|
||||
|
@ -718,7 +701,6 @@ EFI_STATUS
|
|||
IN EFI_DHCP4_TRANSMIT_RECEIVE_TOKEN *Token
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Parses the packed DHCP option data.
|
||||
|
||||
|
|
|
@ -5,21 +5,15 @@
|
|||
oriented devices. The Disk IO protocol is intended to layer on top of the
|
||||
Block IO protocol.
|
||||
|
||||
Copyright (c) 2006 - 2008, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __DISK_IO_H__
|
||||
#define __DISK_IO_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_DISK_IO_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
|
|
@ -4,21 +4,15 @@
|
|||
This protocol is produced by every driver that follows the UEFI Driver Model,
|
||||
and it is the central component that allows drivers and controllers to be managed.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_DRIVER_BINDING_H__
|
||||
#define __EFI_DRIVER_BINDING_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// The global ID for the ControllerHandle Driver Protocol.
|
||||
|
|
|
@ -4,32 +4,23 @@
|
|||
The EFI_FORM_BROWSER2_PROTOCOL is the interface to call for drivers to
|
||||
leverage the EFI configuration driver interface.
|
||||
|
||||
Copyright (c) 2006 - 2015, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_FORM_BROWSER2_H__
|
||||
#define __EFI_FORM_BROWSER2_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Guid/HiiPlatformSetupFormset.h>
|
||||
|
||||
#define EFI_FORM_BROWSER2_PROTOCOL_GUID \
|
||||
{0xb9d4c360, 0xbcfb, 0x4f9b, {0x92, 0x98, 0x53, 0xc1, 0x36, 0x98, 0x22, 0x58 }}
|
||||
|
||||
|
||||
typedef struct _EFI_FORM_BROWSER2_PROTOCOL EFI_FORM_BROWSER2_PROTOCOL;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@param LeftColumn The value that designates the text column
|
||||
|
@ -67,7 +58,6 @@ typedef UINTN EFI_BROWSER_ACTION_REQUEST;
|
|||
#define EFI_BROWSER_ACTION_REQUEST_FORM_DISCARD 7
|
||||
#define EFI_BROWSER_ACTION_REQUEST_RECONNECT 8
|
||||
|
||||
|
||||
/**
|
||||
Initialize the browser to display the specified configuration forms.
|
||||
|
||||
|
@ -110,13 +100,12 @@ EFI_STATUS
|
|||
IN CONST EFI_FORM_BROWSER2_PROTOCOL *This,
|
||||
IN EFI_HII_HANDLE *Handle,
|
||||
IN UINTN HandleCount,
|
||||
IN EFI_GUID *FormSetGuid, OPTIONAL
|
||||
IN EFI_FORM_ID FormId, OPTIONAL
|
||||
IN CONST EFI_SCREEN_DESCRIPTOR *ScreenDimensions, OPTIONAL
|
||||
IN EFI_GUID *FormSetGuid OPTIONAL,
|
||||
IN EFI_FORM_ID FormId OPTIONAL,
|
||||
IN CONST EFI_SCREEN_DESCRIPTOR *ScreenDimensions OPTIONAL,
|
||||
OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest OPTIONAL
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
This function is called by a callback handler to retrieve uncommitted state data from the browser.
|
||||
|
||||
|
@ -163,7 +152,7 @@ EFI_STATUS
|
|||
IN OUT UINTN *ResultsDataSize,
|
||||
IN OUT EFI_STRING ResultsData,
|
||||
IN CONST BOOLEAN RetrieveData,
|
||||
IN CONST EFI_GUID *VariableGuid, OPTIONAL
|
||||
IN CONST EFI_GUID *VariableGuid OPTIONAL,
|
||||
IN CONST CHAR16 *VariableName OPTIONAL
|
||||
);
|
||||
|
||||
|
@ -179,4 +168,3 @@ struct _EFI_FORM_BROWSER2_PROTOCOL {
|
|||
extern EFI_GUID gEfiFormBrowser2ProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -3,21 +3,15 @@
|
|||
|
||||
Abstraction of a very simple graphics device.
|
||||
|
||||
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
|
||||
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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __GRAPHICS_OUTPUT_H__
|
||||
#define __GRAPHICS_OUTPUT_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -218,7 +212,7 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT)(
|
||||
IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,
|
||||
IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, OPTIONAL
|
||||
IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL,
|
||||
IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation,
|
||||
IN UINTN SourceX,
|
||||
IN UINTN SourceY,
|
||||
|
|
|
@ -5,22 +5,18 @@
|
|||
This protocol is published by drivers providing and requesting
|
||||
configuration data from HII. It may only be invoked by HII.
|
||||
|
||||
Copyright (c) 2006 - 2016, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
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:
|
||||
This Protocol was introduced in UEFI Specification 2.1.
|
||||
|
||||
**/
|
||||
|
||||
|
||||
#ifndef __EFI_HII_CONFIG_ACCESS_H__
|
||||
#define __EFI_HII_CONFIG_ACCESS_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Protocol/FormBrowser2.h>
|
||||
|
||||
|
@ -121,7 +117,6 @@ EFI_STATUS
|
|||
OUT EFI_STRING *Results
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
This function applies changes in a driver's configuration.
|
||||
|
@ -221,5 +216,3 @@ struct _EFI_HII_CONFIG_ACCESS_PROTOCOL {
|
|||
extern EFI_GUID gEfiHiiConfigAccessProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -2,29 +2,24 @@
|
|||
The file provides Database manager for HII-related data
|
||||
structures.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
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:
|
||||
This Protocol was introduced in UEFI Specification 2.1.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __HII_DATABASE_H__
|
||||
#define __HII_DATABASE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_HII_DATABASE_PROTOCOL_GUID \
|
||||
{ 0xef9fc172, 0xa1b2, 0x4693, { 0xb3, 0x27, 0x6d, 0x32, 0xfc, 0x41, 0x60, 0x42 } }
|
||||
|
||||
|
||||
typedef struct _EFI_HII_DATABASE_PROTOCOL EFI_HII_DATABASE_PROTOCOL;
|
||||
|
||||
|
||||
///
|
||||
/// EFI_HII_DATABASE_NOTIFY_TYPE.
|
||||
///
|
||||
|
@ -34,6 +29,7 @@ typedef UINTN EFI_HII_DATABASE_NOTIFY_TYPE;
|
|||
#define EFI_HII_DATABASE_NOTIFY_REMOVE_PACK 0x00000002
|
||||
#define EFI_HII_DATABASE_NOTIFY_EXPORT_PACK 0x00000004
|
||||
#define EFI_HII_DATABASE_NOTIFY_ADD_PACK 0x00000008
|
||||
|
||||
/**
|
||||
|
||||
Functions which are registered to receive notification of
|
||||
|
@ -108,11 +104,10 @@ EFI_STATUS
|
|||
(EFIAPI *EFI_HII_DATABASE_NEW_PACK)(
|
||||
IN CONST EFI_HII_DATABASE_PROTOCOL *This,
|
||||
IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList,
|
||||
IN EFI_HANDLE DriverHandle, OPTIONAL
|
||||
IN EFI_HANDLE DriverHandle OPTIONAL,
|
||||
OUT EFI_HII_HANDLE *Handle
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
This function removes the package list that is associated with a
|
||||
|
@ -139,7 +134,6 @@ EFI_STATUS
|
|||
IN EFI_HII_HANDLE Handle
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
This function updates the existing package list (which has the
|
||||
|
@ -188,7 +182,6 @@ EFI_STATUS
|
|||
IN CONST EFI_HII_PACKAGE_LIST_HEADER *PackageList
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
This function returns a list of the package handles of the
|
||||
|
@ -292,7 +285,6 @@ EFI_STATUS
|
|||
OUT EFI_HII_PACKAGE_LIST_HEADER *Buffer
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
|
||||
|
@ -355,7 +347,6 @@ EFI_STATUS
|
|||
OUT EFI_HANDLE *NotifyHandle
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
Removes the specified HII database package-related notification.
|
||||
|
@ -378,7 +369,6 @@ EFI_STATUS
|
|||
IN EFI_HANDLE NotificationHandle
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
This routine retrieves an array of GUID values for each keyboard
|
||||
|
@ -419,7 +409,6 @@ EFI_STATUS
|
|||
OUT EFI_GUID *KeyGuidBuffer
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
This routine retrieves the requested keyboard layout. The layout
|
||||
|
@ -529,5 +518,3 @@ struct _EFI_HII_DATABASE_PROTOCOL {
|
|||
extern EFI_GUID gEfiHiiDatabaseProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -1,21 +1,18 @@
|
|||
/** @file
|
||||
The file provides services to retrieve font information.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
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:
|
||||
This Protocol was introduced in UEFI Specification 2.1.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __HII_FONT_H__
|
||||
#define __HII_FONT_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Protocol/GraphicsOutput.h>
|
||||
#include <ipxe/efi/Protocol/HiiImage.h>
|
||||
|
@ -227,8 +224,6 @@ EFI_STATUS
|
|||
OUT UINTN *ColumnInfoArray OPTIONAL
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
||||
This function renders a string as a bitmap or to the screen
|
||||
|
@ -365,7 +360,6 @@ EFI_STATUS
|
|||
OUT UINTN *ColumnInfoArray OPTIONAL
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
Convert the glyph for a single character into a bitmap.
|
||||
|
@ -452,7 +446,7 @@ EFI_STATUS
|
|||
(EFIAPI *EFI_HII_GET_FONT_INFO)(
|
||||
IN CONST EFI_HII_FONT_PROTOCOL *This,
|
||||
IN OUT EFI_FONT_HANDLE *FontHandle,
|
||||
IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn, OPTIONAL
|
||||
IN CONST EFI_FONT_DISPLAY_INFO *StringInfoIn OPTIONAL,
|
||||
OUT EFI_FONT_DISPLAY_INFO **StringInfoOut,
|
||||
IN CONST EFI_STRING String OPTIONAL
|
||||
);
|
||||
|
@ -469,6 +463,4 @@ struct _EFI_HII_FONT_PROTOCOL {
|
|||
|
||||
extern EFI_GUID gEfiHiiFontProtocolGuid;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,21 +1,18 @@
|
|||
/** @file
|
||||
The file provides services to access to images in the images database.
|
||||
|
||||
Copyright (c) 2006 - 2016, 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
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
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:
|
||||
This Protocol was introduced in UEFI Specification 2.1.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __HII_IMAGE_H__
|
||||
#define __HII_IMAGE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Protocol/GraphicsOutput.h>
|
||||
|
||||
|
@ -24,7 +21,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
typedef struct _EFI_HII_IMAGE_PROTOCOL EFI_HII_IMAGE_PROTOCOL;
|
||||
|
||||
|
||||
///
|
||||
/// Flags in EFI_IMAGE_INPUT
|
||||
///
|
||||
|
@ -55,7 +51,6 @@ typedef struct _EFI_IMAGE_INPUT {
|
|||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Bitmap;
|
||||
} EFI_IMAGE_INPUT;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
This function adds the image Image to the group of images
|
||||
|
@ -163,7 +158,6 @@ EFI_STATUS
|
|||
IN CONST EFI_IMAGE_INPUT *Image
|
||||
);
|
||||
|
||||
|
||||
///
|
||||
/// EFI_HII_DRAW_FLAGS describes how the image is to be drawn.
|
||||
/// These flags are defined as EFI_HII_DRAW_FLAG_***
|
||||
|
@ -201,7 +195,6 @@ typedef struct _EFI_IMAGE_OUTPUT {
|
|||
} Image;
|
||||
} EFI_IMAGE_OUTPUT;
|
||||
|
||||
|
||||
/**
|
||||
|
||||
This function renders an image to a bitmap or the screen using
|
||||
|
@ -339,7 +332,6 @@ IN UINTN BltX,
|
|||
IN UINTN BltY
|
||||
);
|
||||
|
||||
|
||||
///
|
||||
/// Services to access to images in the images database.
|
||||
///
|
||||
|
@ -354,5 +346,3 @@ struct _EFI_HII_IMAGE_PROTOCOL {
|
|||
extern EFI_GUID gEfiHiiImageProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -10,14 +10,8 @@
|
|||
Protocol (ICMP) and may include support for the Internet Group Management
|
||||
Protocol (IGMP).
|
||||
|
||||
Copyright (c) 2006 - 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.0.
|
||||
|
@ -27,7 +21,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __EFI_IP4_PROTOCOL_H__
|
||||
#define __EFI_IP4_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Protocol/ManagedNetwork.h>
|
||||
|
||||
|
@ -135,7 +129,6 @@ typedef struct {
|
|||
UINT32 TransmitTimeout;
|
||||
} EFI_IP4_CONFIG_DATA;
|
||||
|
||||
|
||||
typedef struct {
|
||||
EFI_IPv4_ADDRESS SubnetAddress;
|
||||
EFI_IPv4_ADDRESS SubnetMask;
|
||||
|
@ -207,13 +200,11 @@ typedef struct {
|
|||
} EFI_IP4_HEADER;
|
||||
#pragma pack()
|
||||
|
||||
|
||||
typedef struct {
|
||||
UINT32 FragmentLength;
|
||||
VOID *FragmentBuffer;
|
||||
} EFI_IP4_FRAGMENT_DATA;
|
||||
|
||||
|
||||
typedef struct {
|
||||
EFI_TIME TimeStamp;
|
||||
EFI_EVENT RecycleSignal;
|
||||
|
@ -226,7 +217,6 @@ typedef struct {
|
|||
EFI_IP4_FRAGMENT_DATA FragmentTable[1];
|
||||
} EFI_IP4_RECEIVE_DATA;
|
||||
|
||||
|
||||
typedef struct {
|
||||
EFI_IPv4_ADDRESS SourceAddress;
|
||||
EFI_IPv4_ADDRESS GatewayAddress;
|
||||
|
|
|
@ -2,23 +2,18 @@
|
|||
This file provides a definition of the EFI IPv4 Configuration
|
||||
Protocol.
|
||||
|
||||
Copyright (c) 2006 - 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.0.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_IP4CONFIG_PROTOCOL_H__
|
||||
#define __EFI_IP4CONFIG_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Protocol/Ip4.h>
|
||||
|
||||
|
@ -60,7 +55,6 @@ typedef struct {
|
|||
EFI_IP4_ROUTE_TABLE *RouteTable;
|
||||
} EFI_IP4_IPCONFIG_DATA;
|
||||
|
||||
|
||||
/**
|
||||
Starts running the configuration policy for the EFI IPv4 Protocol driver.
|
||||
|
||||
|
|
|
@ -7,21 +7,15 @@
|
|||
|
||||
UEFI 2.0 can boot from any device that produces a LoadFile protocol.
|
||||
|
||||
Copyright (c) 2006 - 2016, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_LOAD_FILE_PROTOCOL_H__
|
||||
#define __EFI_LOAD_FILE_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_LOAD_FILE_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
|
|
@ -7,21 +7,15 @@
|
|||
|
||||
UEFI 2.0 can boot from any device that produces a LoadFile protocol.
|
||||
|
||||
Copyright (c) 2006 - 2008, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_LOAD_FILE2_PROTOCOL_H__
|
||||
#define __EFI_LOAD_FILE2_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_LOAD_FILE2_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -35,7 +29,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
typedef struct _EFI_LOAD_FILE2_PROTOCOL EFI_LOAD_FILE2_PROTOCOL;
|
||||
|
||||
|
||||
/**
|
||||
Causes the driver to load a specified file.
|
||||
|
||||
|
|
|
@ -4,21 +4,15 @@
|
|||
Every EFI driver and application is passed an image handle when it is loaded.
|
||||
This image handle will contain a Loaded Image Protocol.
|
||||
|
||||
Copyright (c) 2006 - 2008, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __LOADED_IMAGE_PROTOCOL_H__
|
||||
#define __LOADED_IMAGE_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_LOADED_IMAGE_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
|
|
@ -2,14 +2,8 @@
|
|||
EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL as defined in UEFI 2.0.
|
||||
EFI_MANAGED_NETWORK_PROTOCOL as defined in UEFI 2.0.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.0
|
||||
|
@ -19,7 +13,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __EFI_MANAGED_NETWORK_PROTOCOL_H__
|
||||
#define __EFI_MANAGED_NETWORK_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Protocol/SimpleNetwork.h>
|
||||
|
||||
|
@ -123,7 +117,6 @@ typedef struct {
|
|||
EFI_MANAGED_NETWORK_FRAGMENT_DATA FragmentTable[1];
|
||||
} EFI_MANAGED_NETWORK_TRANSMIT_DATA;
|
||||
|
||||
|
||||
typedef struct {
|
||||
///
|
||||
/// This Event will be signaled after the Status field is updated
|
||||
|
@ -306,7 +299,6 @@ EFI_STATUS
|
|||
IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Aborts an asynchronous transmit or receive request.
|
||||
|
||||
|
|
|
@ -1,14 +1,8 @@
|
|||
/** @file
|
||||
EFI Multicast Trivial File Transfer Protocol Definition
|
||||
|
||||
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
|
||||
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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.0
|
||||
|
@ -18,7 +12,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __EFI_MTFTP4_PROTOCOL_H__
|
||||
#define __EFI_MTFTP4_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -151,7 +145,6 @@ typedef struct {
|
|||
UINT8 *ValueStr;
|
||||
} EFI_MTFTP4_OPTION;
|
||||
|
||||
|
||||
typedef struct {
|
||||
BOOLEAN UseDefaultSetting;
|
||||
EFI_IPv4_ADDRESS StationIp;
|
||||
|
@ -164,7 +157,6 @@ typedef struct {
|
|||
UINT16 TimeoutValue;
|
||||
} EFI_MTFTP4_CONFIG_DATA;
|
||||
|
||||
|
||||
typedef struct {
|
||||
EFI_MTFTP4_CONFIG_DATA ConfigData;
|
||||
UINT8 SupportedOptionCount;
|
||||
|
@ -173,7 +165,6 @@ typedef struct {
|
|||
UINT8 **UnsupportedOptoins;
|
||||
} EFI_MTFTP4_MODE_DATA;
|
||||
|
||||
|
||||
typedef struct {
|
||||
EFI_IPv4_ADDRESS GatewayIp;
|
||||
EFI_IPv4_ADDRESS ServerIp;
|
||||
|
@ -258,7 +249,6 @@ EFI_STATUS
|
|||
OUT VOID **Buffer
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Submits an asynchronous interrupt transfer to an interrupt endpoint of a USB device.
|
||||
|
||||
|
@ -277,7 +267,6 @@ EFI_STATUS
|
|||
OUT EFI_MTFTP4_MODE_DATA *ModeData
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Initializes, changes, or resets the default operational setting for this
|
||||
EFI MTFTPv4 Protocol driver instance.
|
||||
|
@ -307,7 +296,6 @@ EFI_STATUS
|
|||
IN EFI_MTFTP4_CONFIG_DATA *MtftpConfigData OPTIONAL
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Gets information about a file from an MTFTPv4 server.
|
||||
|
||||
|
@ -397,7 +385,6 @@ EFI_STATUS
|
|||
OUT EFI_MTFTP4_OPTION **OptionList OPTIONAL
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Downloads a file from an MTFTPv4 server.
|
||||
|
||||
|
@ -428,8 +415,6 @@ EFI_STATUS
|
|||
IN EFI_MTFTP4_TOKEN *Token
|
||||
);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
Sends a file to an MTFTPv4 server.
|
||||
|
||||
|
@ -458,7 +443,6 @@ EFI_STATUS
|
|||
IN EFI_MTFTP4_TOKEN *Token
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Downloads a data file "directory" from an MTFTPv4 server. May be unsupported in some EFI
|
||||
implementations.
|
||||
|
@ -592,4 +576,3 @@ extern EFI_GUID gEfiMtftp4ServiceBindingProtocolGuid;
|
|||
extern EFI_GUID gEfiMtftp4ProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,14 +1,8 @@
|
|||
/** @file
|
||||
EFI Network Interface Identifier Protocol.
|
||||
|
||||
Copyright (c) 2006 - 2013, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in EFI Specification 1.10.
|
||||
|
@ -18,7 +12,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __EFI_NETWORK_INTERFACE_IDENTIFER_H__
|
||||
#define __EFI_NETWORK_INTERFACE_IDENTIFER_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
//
|
||||
// GUID retired from UEFI Specification 2.1b
|
||||
|
@ -41,7 +35,6 @@ FILE_LICENCE ( BSD3 );
|
|||
//
|
||||
#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_REVISION 0x00020000
|
||||
|
||||
|
||||
///
|
||||
/// Revision defined in EFI1.1.
|
||||
///
|
||||
|
@ -79,7 +72,6 @@ struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL {
|
|||
UINT16 IfNum; ///< The network interface number that is being identified by this Network
|
||||
///< Interface Identifier Protocol. This field must be less than or
|
||||
///< equal to the (IFcnt | IFcntExt <<8 ) fields in the !PXE structure.
|
||||
|
||||
};
|
||||
|
||||
///
|
||||
|
|
|
@ -2,21 +2,15 @@
|
|||
EFI PCI I/O Protocol provides the basic Memory, I/O, PCI configuration,
|
||||
and DMA interfaces that a driver uses to access its PCI controller.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PCI_IO_H__
|
||||
#define __PCI_IO_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// Global ID for the PCI I/O Protocol
|
||||
|
@ -333,7 +327,7 @@ EFI_STATUS
|
|||
|
||||
/**
|
||||
Allocates pages that are suitable for an EfiPciIoOperationBusMasterCommonBuffer
|
||||
mapping.
|
||||
or EfiPciOperationBusMasterCommonBuffer64 mapping.
|
||||
|
||||
@param This A pointer to the EFI_PCI_IO_PROTOCOL instance.
|
||||
@param Type This parameter is not used and must be ignored.
|
||||
|
@ -346,7 +340,7 @@ EFI_STATUS
|
|||
|
||||
@retval EFI_SUCCESS The requested memory pages were allocated.
|
||||
@retval EFI_UNSUPPORTED Attributes is unsupported. The only legal attribute bits are
|
||||
MEMORY_WRITE_COMBINE and MEMORY_CACHED.
|
||||
MEMORY_WRITE_COMBINE, MEMORY_CACHED and DUAL_ADDRESS_CYCLE.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
|
||||
|
||||
|
@ -459,25 +453,24 @@ EFI_STATUS
|
|||
base address for resource range. The legal range for this field is 0..5.
|
||||
@param Supports A pointer to the mask of attributes that this PCI controller supports
|
||||
setting for this BAR with SetBarAttributes().
|
||||
@param Resources A pointer to the ACPI 2.0 resource descriptors that describe the current
|
||||
@param Resources A pointer to the resource descriptors that describe the current
|
||||
configuration of this BAR of the PCI controller.
|
||||
|
||||
@retval EFI_SUCCESS If Supports is not NULL, then the attributes that the PCI
|
||||
controller supports are returned in Supports. If Resources
|
||||
is not NULL, then the ACPI 2.0 resource descriptors that the PCI
|
||||
is not NULL, then the resource descriptors that the PCI
|
||||
controller is currently using are returned in Resources.
|
||||
@retval EFI_INVALID_PARAMETER Both Supports and Attributes are NULL.
|
||||
@retval EFI_UNSUPPORTED BarIndex not valid for this PCI controller.
|
||||
@retval EFI_OUT_OF_RESOURCES There are not enough resources available to allocate
|
||||
Resources.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PCI_IO_PROTOCOL_GET_BAR_ATTRIBUTES)(
|
||||
IN EFI_PCI_IO_PROTOCOL *This,
|
||||
IN UINT8 BarIndex,
|
||||
OUT UINT64 *Supports, OPTIONAL
|
||||
OUT UINT64 *Supports OPTIONAL,
|
||||
OUT VOID **Resources OPTIONAL
|
||||
);
|
||||
|
||||
|
|
|
@ -5,21 +5,15 @@
|
|||
and PCI Configuration cycles on a PCI Root Bridge. It also provides services to perform
|
||||
defferent types of bus mastering DMA.
|
||||
|
||||
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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PCI_ROOT_BRIDGE_IO_H__
|
||||
#define __PCI_ROOT_BRIDGE_IO_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Library/BaseLib.h>
|
||||
|
||||
|
@ -389,11 +383,11 @@ EFI_STATUS
|
|||
);
|
||||
|
||||
/**
|
||||
Retrieves the current resource settings of this PCI root bridge in the form of a set of ACPI 2.0
|
||||
Retrieves the current resource settings of this PCI root bridge in the form of a set of ACPI
|
||||
resource descriptors.
|
||||
|
||||
@param This A pointer to the EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL.
|
||||
@param Resources A pointer to the ACPI 2.0 resource descriptors that describe the current
|
||||
@param Resources A pointer to the resource descriptors that describe the current
|
||||
configuration of this PCI root bridge.
|
||||
|
||||
@retval EFI_SUCCESS The current configuration of this PCI root bridge was returned in
|
||||
|
|
|
@ -2,23 +2,21 @@
|
|||
EFI PXE Base Code Protocol definitions, which is used to access PXE-compatible
|
||||
devices for network access and network booting.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
|
||||
Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in EFI Specification 1.10.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PXE_BASE_CODE_PROTOCOL_H__
|
||||
#define __PXE_BASE_CODE_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// PXE Base Code protocol.
|
||||
|
@ -155,17 +153,18 @@ typedef UINT16 EFI_PXE_BASE_CODE_UDP_PORT;
|
|||
//
|
||||
#if defined (MDE_CPU_IA32)
|
||||
#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x0006
|
||||
#elif defined (MDE_CPU_IPF)
|
||||
#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x0002
|
||||
#elif defined (MDE_CPU_X64)
|
||||
#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x0007
|
||||
#elif defined (MDE_CPU_ARM)
|
||||
#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x000A
|
||||
#elif defined (MDE_CPU_AARCH64)
|
||||
#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x000B
|
||||
#elif defined (MDE_CPU_RISCV64)
|
||||
#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x001B
|
||||
#elif defined (MDE_CPU_LOONGARCH64)
|
||||
#define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x0027
|
||||
#endif
|
||||
|
||||
|
||||
///
|
||||
/// Discover() server list structure.
|
||||
///
|
||||
|
@ -627,11 +626,11 @@ EFI_STATUS
|
|||
IN UINT16 OpFlags,
|
||||
IN EFI_IP_ADDRESS *DestIp,
|
||||
IN EFI_PXE_BASE_CODE_UDP_PORT *DestPort,
|
||||
IN EFI_IP_ADDRESS *GatewayIp, OPTIONAL
|
||||
IN EFI_IP_ADDRESS *SrcIp, OPTIONAL
|
||||
IN OUT EFI_PXE_BASE_CODE_UDP_PORT *SrcPort, OPTIONAL
|
||||
IN UINTN *HeaderSize, OPTIONAL
|
||||
IN VOID *HeaderPtr, OPTIONAL
|
||||
IN EFI_IP_ADDRESS *GatewayIp OPTIONAL,
|
||||
IN EFI_IP_ADDRESS *SrcIp OPTIONAL,
|
||||
IN OUT EFI_PXE_BASE_CODE_UDP_PORT *SrcPort OPTIONAL,
|
||||
IN UINTN *HeaderSize OPTIONAL,
|
||||
IN VOID *HeaderPtr OPTIONAL,
|
||||
IN UINTN *BufferSize,
|
||||
IN VOID *BufferPtr
|
||||
);
|
||||
|
@ -679,12 +678,12 @@ EFI_STATUS
|
|||
(EFIAPI *EFI_PXE_BASE_CODE_UDP_READ)(
|
||||
IN EFI_PXE_BASE_CODE_PROTOCOL *This,
|
||||
IN UINT16 OpFlags,
|
||||
IN OUT EFI_IP_ADDRESS *DestIp, OPTIONAL
|
||||
IN OUT EFI_PXE_BASE_CODE_UDP_PORT *DestPort, OPTIONAL
|
||||
IN OUT EFI_IP_ADDRESS *SrcIp, OPTIONAL
|
||||
IN OUT EFI_PXE_BASE_CODE_UDP_PORT *SrcPort, OPTIONAL
|
||||
IN UINTN *HeaderSize, OPTIONAL
|
||||
IN VOID *HeaderPtr, OPTIONAL
|
||||
IN OUT EFI_IP_ADDRESS *DestIp OPTIONAL,
|
||||
IN OUT EFI_PXE_BASE_CODE_UDP_PORT *DestPort OPTIONAL,
|
||||
IN OUT EFI_IP_ADDRESS *SrcIp OPTIONAL,
|
||||
IN OUT EFI_PXE_BASE_CODE_UDP_PORT *SrcPort OPTIONAL,
|
||||
IN UINTN *HeaderSize OPTIONAL,
|
||||
IN VOID *HeaderPtr OPTIONAL,
|
||||
IN OUT UINTN *BufferSize,
|
||||
IN VOID *BufferPtr
|
||||
);
|
||||
|
@ -801,10 +800,10 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_PXE_BASE_CODE_SET_PARAMETERS)(
|
||||
IN EFI_PXE_BASE_CODE_PROTOCOL *This,
|
||||
IN BOOLEAN *NewAutoArp, OPTIONAL
|
||||
IN BOOLEAN *NewSendGUID, OPTIONAL
|
||||
IN UINT8 *NewTTL, OPTIONAL
|
||||
IN UINT8 *NewToS, OPTIONAL
|
||||
IN BOOLEAN *NewAutoArp OPTIONAL,
|
||||
IN BOOLEAN *NewSendGUID OPTIONAL,
|
||||
IN UINT8 *NewTTL OPTIONAL,
|
||||
IN UINT8 *NewToS OPTIONAL,
|
||||
IN BOOLEAN *NewMakeCallback OPTIONAL
|
||||
);
|
||||
|
||||
|
@ -835,7 +834,7 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_PXE_BASE_CODE_SET_STATION_IP)(
|
||||
IN EFI_PXE_BASE_CODE_PROTOCOL *This,
|
||||
IN EFI_IP_ADDRESS *NewStationIp, OPTIONAL
|
||||
IN EFI_IP_ADDRESS *NewStationIp OPTIONAL,
|
||||
IN EFI_IP_ADDRESS *NewSubnetMask OPTIONAL
|
||||
);
|
||||
|
||||
|
@ -874,17 +873,17 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_PXE_BASE_CODE_SET_PACKETS)(
|
||||
IN EFI_PXE_BASE_CODE_PROTOCOL *This,
|
||||
BOOLEAN *NewDhcpDiscoverValid, OPTIONAL
|
||||
BOOLEAN *NewDhcpAckReceived, OPTIONAL
|
||||
BOOLEAN *NewProxyOfferReceived, OPTIONAL
|
||||
BOOLEAN *NewPxeDiscoverValid, OPTIONAL
|
||||
BOOLEAN *NewPxeReplyReceived, OPTIONAL
|
||||
BOOLEAN *NewPxeBisReplyReceived, OPTIONAL
|
||||
IN EFI_PXE_BASE_CODE_PACKET *NewDhcpDiscover, OPTIONAL
|
||||
IN EFI_PXE_BASE_CODE_PACKET *NewDhcpAck, OPTIONAL
|
||||
IN EFI_PXE_BASE_CODE_PACKET *NewProxyOffer, OPTIONAL
|
||||
IN EFI_PXE_BASE_CODE_PACKET *NewPxeDiscover, OPTIONAL
|
||||
IN EFI_PXE_BASE_CODE_PACKET *NewPxeReply, OPTIONAL
|
||||
BOOLEAN *NewDhcpDiscoverValid OPTIONAL,
|
||||
BOOLEAN *NewDhcpAckReceived OPTIONAL,
|
||||
BOOLEAN *NewProxyOfferReceived OPTIONAL,
|
||||
BOOLEAN *NewPxeDiscoverValid OPTIONAL,
|
||||
BOOLEAN *NewPxeReplyReceived OPTIONAL,
|
||||
BOOLEAN *NewPxeBisReplyReceived OPTIONAL,
|
||||
IN EFI_PXE_BASE_CODE_PACKET *NewDhcpDiscover OPTIONAL,
|
||||
IN EFI_PXE_BASE_CODE_PACKET *NewDhcpAck OPTIONAL,
|
||||
IN EFI_PXE_BASE_CODE_PACKET *NewProxyOffer OPTIONAL,
|
||||
IN EFI_PXE_BASE_CODE_PACKET *NewPxeDiscover OPTIONAL,
|
||||
IN EFI_PXE_BASE_CODE_PACKET *NewPxeReply OPTIONAL,
|
||||
IN EFI_PXE_BASE_CODE_PACKET *NewPxeBisReply OPTIONAL
|
||||
);
|
||||
|
||||
|
|
|
@ -3,21 +3,15 @@
|
|||
The UEFI Random Number Generator Protocol is used to provide random bits for use
|
||||
in applications, or entropy for seeding other random number generators.
|
||||
|
||||
Copyright (c) 2013, 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.
|
||||
Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __EFI_RNG_PROTOCOL_H__
|
||||
#define __EFI_RNG_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// Global ID for the Random Number Generator Protocol
|
||||
|
@ -133,7 +127,7 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_RNG_GET_RNG)(
|
||||
IN EFI_RNG_PROTOCOL *This,
|
||||
IN EFI_RNG_ALGORITHM *RNGAlgorithm, OPTIONAL
|
||||
IN EFI_RNG_ALGORITHM *RNGAlgorithm OPTIONAL,
|
||||
IN UINTN RNGValueLength,
|
||||
OUT UINT8 *RNGValue
|
||||
);
|
||||
|
|
|
@ -4,27 +4,26 @@
|
|||
Abstraction of a basic serial device. Targeted at 16550 UART, but
|
||||
could be much more generic.
|
||||
|
||||
Copyright (c) 2006 - 2015, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __SERIAL_IO_PROTOCOL_H__
|
||||
#define __SERIAL_IO_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_SERIAL_IO_PROTOCOL_GUID \
|
||||
{ \
|
||||
0xBB25CF6F, 0xF1D4, 0x11D2, {0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0xFD } \
|
||||
}
|
||||
|
||||
#define EFI_SERIAL_TERMINAL_DEVICE_TYPE_GUID \
|
||||
{ \
|
||||
0X6AD9A60F, 0X5815, 0X4C7C, { 0X8A, 0X10, 0X50, 0X53, 0XD2, 0XBF, 0X7A, 0X1B } \
|
||||
}
|
||||
|
||||
///
|
||||
/// Protocol GUID defined in EFI1.1.
|
||||
///
|
||||
|
@ -32,7 +31,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
typedef struct _EFI_SERIAL_IO_PROTOCOL EFI_SERIAL_IO_PROTOCOL;
|
||||
|
||||
|
||||
///
|
||||
/// Backward-compatible with EFI1.1.
|
||||
///
|
||||
|
@ -90,6 +88,7 @@ typedef enum {
|
|||
//
|
||||
// Serial IO Member Functions
|
||||
//
|
||||
|
||||
/**
|
||||
Reset the serial device.
|
||||
|
||||
|
@ -128,7 +127,8 @@ EFI_STATUS
|
|||
stop bits.
|
||||
|
||||
@retval EFI_SUCCESS The device was reset.
|
||||
@retval EFI_DEVICE_ERROR The serial device could not be reset.
|
||||
@retval EFI_INVALID_PARAMETER One or more attributes has an unsupported value.
|
||||
@retval EFI_DEVICE_ERROR The serial device is not functioning correctly.
|
||||
|
||||
**/
|
||||
typedef
|
||||
|
@ -270,6 +270,7 @@ typedef struct {
|
|||
} EFI_SERIAL_IO_MODE;
|
||||
|
||||
#define EFI_SERIAL_IO_PROTOCOL_REVISION 0x00010000
|
||||
#define EFI_SERIAL_IO_PROTOCOL_REVISION1p1 0x00010001
|
||||
#define SERIAL_IO_INTERFACE_REVISION EFI_SERIAL_IO_PROTOCOL_REVISION
|
||||
|
||||
///
|
||||
|
@ -294,8 +295,17 @@ struct _EFI_SERIAL_IO_PROTOCOL {
|
|||
/// Pointer to SERIAL_IO_MODE data.
|
||||
///
|
||||
EFI_SERIAL_IO_MODE *Mode;
|
||||
///
|
||||
/// Pointer to a GUID identifying the device connected to the serial port.
|
||||
/// This field is NULL when the protocol is installed by the serial port
|
||||
/// driver and may be populated by a platform driver for a serial port
|
||||
/// with a known device attached. The field will remain NULL if there is
|
||||
/// no platform serial device identification information available.
|
||||
///
|
||||
CONST EFI_GUID *DeviceTypeGuid; // Revision 1.1
|
||||
};
|
||||
|
||||
extern EFI_GUID gEfiSerialIoProtocolGuid;
|
||||
extern EFI_GUID gEfiSerialTerminalDeviceTypeGuid;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -7,21 +7,15 @@
|
|||
|
||||
UEFI 2.0 can boot from any valid EFI image contained in a SimpleFileSystem.
|
||||
|
||||
Copyright (c) 2006 - 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __SIMPLE_FILE_SYSTEM_H__
|
||||
#define __SIMPLE_FILE_SYSTEM_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -442,7 +436,6 @@ EFI_STATUS
|
|||
IN OUT EFI_FILE_IO_TOKEN *Token
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Reads data from a file.
|
||||
|
||||
|
@ -466,7 +459,6 @@ EFI_STATUS
|
|||
IN OUT EFI_FILE_IO_TOKEN *Token
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Writes data to a file.
|
||||
|
||||
|
@ -558,7 +550,6 @@ struct _EFI_FILE_PROTOCOL {
|
|||
EFI_FILE_FLUSH_EX FlushEx;
|
||||
};
|
||||
|
||||
|
||||
extern EFI_GUID gEfiSimpleFileSystemProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -9,14 +9,8 @@
|
|||
MCast - MultiCast
|
||||
...
|
||||
|
||||
Copyright (c) 2006 - 2016, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in EFI Specification 1.10.
|
||||
|
@ -26,7 +20,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __SIMPLE_NETWORK_H__
|
||||
#define __SIMPLE_NETWORK_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_SIMPLE_NETWORK_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -35,7 +29,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
typedef struct _EFI_SIMPLE_NETWORK_PROTOCOL EFI_SIMPLE_NETWORK_PROTOCOL;
|
||||
|
||||
|
||||
///
|
||||
/// Protocol defined in EFI1.1.
|
||||
///
|
||||
|
@ -253,6 +246,7 @@ typedef struct {
|
|||
//
|
||||
// Protocol Member Functions
|
||||
//
|
||||
|
||||
/**
|
||||
Changes the state of a network interface from "stopped" to "started".
|
||||
|
||||
|
|
|
@ -3,21 +3,15 @@
|
|||
|
||||
Abstraction of a very simple pointer device like a mouse or trackball.
|
||||
|
||||
Copyright (c) 2006 - 2008, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __SIMPLE_POINTER_H__
|
||||
#define __SIMPLE_POINTER_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_SIMPLE_POINTER_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -117,7 +111,7 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_SIMPLE_POINTER_GET_STATE)(
|
||||
IN EFI_SIMPLE_POINTER_PROTOCOL *This,
|
||||
IN OUT EFI_SIMPLE_POINTER_STATE *State
|
||||
OUT EFI_SIMPLE_POINTER_STATE *State
|
||||
);
|
||||
|
||||
///
|
||||
|
|
|
@ -5,20 +5,14 @@
|
|||
terminal.
|
||||
|
||||
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.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __SIMPLE_TEXT_IN_PROTOCOL_H__
|
||||
#define __SIMPLE_TEXT_IN_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
|
|
@ -5,28 +5,21 @@
|
|||
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 - 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
|
||||
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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __SIMPLE_TEXT_IN_EX_H__
|
||||
#define __SIMPLE_TEXT_IN_EX_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#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;
|
||||
|
||||
/**
|
||||
|
@ -61,7 +54,6 @@ EFI_STATUS
|
|||
IN BOOLEAN ExtendedVerification
|
||||
);
|
||||
|
||||
|
||||
///
|
||||
/// EFI_KEY_TOGGLE_STATE. The toggle states are defined.
|
||||
/// They are: EFI_TOGGLE_STATE_VALID, EFI_SCROLL_LOCK_ACTIVE
|
||||
|
@ -192,12 +184,9 @@ typedef struct {
|
|||
pressed.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The keystroke information was
|
||||
returned.
|
||||
|
||||
@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
|
||||
@retval EFI_DEVICE_ERROR The keystroke information was not returned due to
|
||||
hardware errors.
|
||||
|
||||
|
||||
|
@ -253,18 +242,19 @@ EFI_STATUS
|
|||
|
||||
@param KeyData A pointer to a buffer that is filled in with
|
||||
the keystroke information for the key that was
|
||||
pressed.
|
||||
pressed. If KeyData.Key, KeyData.KeyState.KeyToggleState
|
||||
and KeyData.KeyState.KeyShiftState are 0, then any incomplete
|
||||
keystroke will trigger a notification of the KeyNotificationFunction.
|
||||
|
||||
@param KeyNotificationFunction Points to the function to be
|
||||
called when the key sequence
|
||||
is typed specified by KeyData.
|
||||
@param KeyNotificationFunction Points to the function to be called when the key sequence
|
||||
is typed specified by KeyData. This notification function
|
||||
should be called at <=TPL_CALLBACK.
|
||||
|
||||
|
||||
@param NotifyHandle Points to the unique handle assigned to
|
||||
the registered notification.
|
||||
|
||||
@retval EFI_SUCCESS The device state was set
|
||||
appropriately.
|
||||
@retval EFI_SUCCESS Key notify was registered successfully.
|
||||
|
||||
@retval EFI_OUT_OF_RESOURCES Unable to allocate necessary
|
||||
data structures.
|
||||
|
@ -288,7 +278,7 @@ EFI_STATUS
|
|||
@param NotificationHandle The handle of the notification
|
||||
function being unregistered.
|
||||
|
||||
@retval EFI_SUCCESS The device state was set appropriately.
|
||||
@retval EFI_SUCCESS Key notify was unregistered successfully.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The NotificationHandle is
|
||||
invalid.
|
||||
|
@ -301,7 +291,6 @@ EFI_STATUS
|
|||
IN VOID *NotificationHandle
|
||||
);
|
||||
|
||||
|
||||
///
|
||||
/// The EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL is used on the ConsoleIn
|
||||
/// device. It is an extension to the Simple Text Input protocol
|
||||
|
@ -320,8 +309,6 @@ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL{
|
|||
EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
|
||||
};
|
||||
|
||||
|
||||
extern EFI_GUID gEfiSimpleTextInputExProtocolGuid;
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -6,21 +6,15 @@
|
|||
a single hardware device or a virtual device that is an aggregation
|
||||
of multiple physical devices.
|
||||
|
||||
Copyright (c) 2006 - 2015, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __SIMPLE_TEXT_OUT_H__
|
||||
#define __SIMPLE_TEXT_OUT_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -40,7 +34,7 @@ typedef struct _EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL;
|
|||
typedef EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL SIMPLE_TEXT_OUTPUT_INTERFACE;
|
||||
|
||||
//
|
||||
// Define's for required EFI Unicode Box Draw characters
|
||||
// Defines for required EFI Unicode Box Draw characters
|
||||
//
|
||||
#define BOXDRAW_HORIZONTAL 0x2500
|
||||
#define BOXDRAW_VERTICAL 0x2502
|
||||
|
@ -159,7 +153,7 @@ typedef EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL SIMPLE_TEXT_OUTPUT_INTERFACE;
|
|||
#define EFI_WIDE_ATTRIBUTE 0x80
|
||||
|
||||
/**
|
||||
Reset the text output device hardware and optionaly run diagnostics
|
||||
Reset the text output device hardware and optionally run diagnostics
|
||||
|
||||
@param This The protocol instance pointer.
|
||||
@param ExtendedVerification Driver may perform more exhaustive verification
|
||||
|
@ -381,7 +375,7 @@ typedef struct {
|
|||
///
|
||||
INT32 CursorRow;
|
||||
///
|
||||
/// The cursor is currently visbile or not.
|
||||
/// The cursor is currently visible or not.
|
||||
///
|
||||
BOOLEAN CursorVisible;
|
||||
} EFI_SIMPLE_TEXT_OUTPUT_MODE;
|
||||
|
|
|
@ -2,21 +2,15 @@
|
|||
TCG Service Protocol as defined in TCG_EFI_Protocol_1_22_Final
|
||||
See http://trustedcomputinggroup.org for the latest specification
|
||||
|
||||
Copyright (c) 2007 - 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.
|
||||
Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _TCG_SERVICE_PROTOCOL_H_
|
||||
#define _TCG_SERVICE_PROTOCOL_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/IndustryStandard/UefiTcgPlatform.h>
|
||||
|
||||
|
|
|
@ -4,14 +4,8 @@
|
|||
and destroy child of the driver to communicate with other host using TCP protocol.
|
||||
The EFI TCPv4 Protocol provides services to send and receive data stream.
|
||||
|
||||
Copyright (c) 2006 - 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.0.
|
||||
|
@ -21,7 +15,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __EFI_TCP4_PROTOCOL_H__
|
||||
#define __EFI_TCP4_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Protocol/Ip4.h>
|
||||
|
||||
|
@ -289,7 +283,6 @@ EFI_STATUS
|
|||
IN EFI_TCP4_CONFIG_DATA *TcpConfigData OPTIONAL
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Add or delete a route entry to the route table
|
||||
|
||||
|
@ -361,7 +354,6 @@ EFI_STATUS
|
|||
IN EFI_TCP4_CONNECTION_TOKEN *ConnectionToken
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Listen on the passive instance to accept an incoming connection request. This is a nonblocking operation.
|
||||
|
||||
|
@ -428,7 +420,6 @@ EFI_STATUS
|
|||
IN EFI_TCP4_IO_TOKEN *Token
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Places an asynchronous receive request into the receiving queue.
|
||||
|
||||
|
@ -533,7 +524,6 @@ EFI_STATUS
|
|||
IN EFI_TCP4_COMPLETION_TOKEN *Token OPTIONAL
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Poll to receive incoming data and transmit outgoing segments.
|
||||
|
||||
|
|
|
@ -4,14 +4,8 @@
|
|||
The EFI UDPv4 Protocol provides simple packet-oriented services
|
||||
to transmit and receive UDP packets.
|
||||
|
||||
Copyright (c) 2006 - 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.0.
|
||||
|
@ -21,7 +15,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __EFI_UDP4_PROTOCOL_H__
|
||||
#define __EFI_UDP4_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Protocol/Ip4.h>
|
||||
//
|
||||
|
@ -116,7 +110,6 @@ typedef struct {
|
|||
EFI_UDP4_FRAGMENT_DATA FragmentTable[1];
|
||||
} EFI_UDP4_RECEIVE_DATA;
|
||||
|
||||
|
||||
typedef struct {
|
||||
EFI_EVENT Event;
|
||||
EFI_STATUS Status;
|
||||
|
@ -156,7 +149,6 @@ EFI_STATUS
|
|||
OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Initializes, changes, or resets the operational parameters for this instance of the EFI UDPv4
|
||||
Protocol.
|
||||
|
|
|
@ -3,22 +3,15 @@
|
|||
|
||||
Abstraction of a very simple graphics device.
|
||||
|
||||
Copyright (c) 2006 - 2008, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __UGA_DRAW_H__
|
||||
#define __UGA_DRAW_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_UGA_DRAW_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -135,14 +128,14 @@ typedef enum {
|
|||
|
||||
@retval EFI_SUCCESS - The Blt operation completed.
|
||||
@retval EFI_INVALID_PARAMETER - BltOperation is not valid.
|
||||
@retval EFI_DEVICE_ERROR - A hardware error occured writting to the video buffer.
|
||||
@retval EFI_DEVICE_ERROR - A hardware error occurred writting to the video buffer.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_UGA_DRAW_PROTOCOL_BLT)(
|
||||
IN EFI_UGA_DRAW_PROTOCOL *This,
|
||||
IN EFI_UGA_PIXEL * BltBuffer, OPTIONAL
|
||||
IN EFI_UGA_PIXEL *BltBuffer OPTIONAL,
|
||||
IN EFI_UGA_BLT_OPERATION BltOperation,
|
||||
IN UINTN SourceX,
|
||||
IN UINTN SourceY,
|
||||
|
|
|
@ -3,21 +3,15 @@
|
|||
This protocol is used to allow code running in the boot services environment
|
||||
to perform lexical comparison functions on Unicode strings for given languages.
|
||||
|
||||
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
|
||||
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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __UNICODE_COLLATION_H__
|
||||
#define __UNICODE_COLLATION_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_UNICODE_COLLATION_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -31,7 +25,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
typedef struct _EFI_UNICODE_COLLATION_PROTOCOL EFI_UNICODE_COLLATION_PROTOCOL;
|
||||
|
||||
|
||||
///
|
||||
/// Protocol GUID name defined in EFI1.1.
|
||||
///
|
||||
|
@ -50,6 +43,7 @@ typedef EFI_UNICODE_COLLATION_PROTOCOL UNICODE_COLLATION_INTERFACE;
|
|||
//
|
||||
// Protocol member functions
|
||||
//
|
||||
|
||||
/**
|
||||
Performs a case-insensitive comparison of two Null-terminated strings.
|
||||
|
||||
|
|
|
@ -4,21 +4,15 @@
|
|||
running in the EFI boot services environment, to perform data transactions over
|
||||
a USB bus. In addition, it provides an abstraction for the root hub of the USB bus.
|
||||
|
||||
Copyright (c) 2006 - 2015, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _USB2_HOSTCONTROLLER_H_
|
||||
#define _USB2_HOSTCONTROLLER_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Protocol/UsbIo.h>
|
||||
|
||||
|
@ -32,7 +26,6 @@ FILE_LICENCE ( BSD3 );
|
|||
///
|
||||
typedef struct _EFI_USB2_HC_PROTOCOL EFI_USB2_HC_PROTOCOL;
|
||||
|
||||
|
||||
typedef struct {
|
||||
UINT16 PortStatus; ///< Contains current port status bitmap.
|
||||
UINT16 PortChangeStatus; ///< Contains current port status change bitmap.
|
||||
|
@ -61,7 +54,6 @@ typedef struct {
|
|||
#define USB_PORT_STAT_C_OVERCURRENT 0x0008
|
||||
#define USB_PORT_STAT_C_RESET 0x0010
|
||||
|
||||
|
||||
///
|
||||
/// Usb port features value
|
||||
/// Each value indicates its bit index in the port status and status change bitmaps,
|
||||
|
@ -122,6 +114,7 @@ EFI_STATUS
|
|||
#define EFI_USB_HC_RESET_HOST_CONTROLLER 0x0002
|
||||
#define EFI_USB_HC_RESET_GLOBAL_WITH_DEBUG 0x0004
|
||||
#define EFI_USB_HC_RESET_HOST_WITH_DEBUG 0x0008
|
||||
|
||||
/**
|
||||
Provides software reset for the USB host controller.
|
||||
|
||||
|
|
|
@ -5,21 +5,15 @@
|
|||
running in the EFI boot services environment, to perform data transactions
|
||||
over a USB bus. In addition, it provides an abstraction for the root hub of the USB bus.
|
||||
|
||||
Copyright (c) 2006 - 2008, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _USB_HOSTCONTROLLER_H_
|
||||
#define _USB_HOSTCONTROLLER_H_
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Protocol/Usb2HostController.h>
|
||||
|
||||
|
@ -469,7 +463,6 @@ EFI_STATUS
|
|||
IN EFI_USB_PORT_FEATURE PortFeature
|
||||
);
|
||||
|
||||
|
||||
///
|
||||
/// The EFI_USB_HC_PROTOCOL provides USB host controller management, basic data transactions
|
||||
/// over a USB bus, and USB root hub access. A device driver that wishes to manage a USB bus in a
|
||||
|
|
|
@ -5,21 +5,15 @@
|
|||
mice and mass storage devices. In particular, functions for managing devices
|
||||
on USB buses are defined here.
|
||||
|
||||
Copyright (c) 2006 - 2008, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __USB_IO_H__
|
||||
#define __USB_IO_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/IndustryStandard/Usb.h>
|
||||
|
||||
|
@ -96,7 +90,6 @@ EFI_STATUS
|
|||
// Prototype for EFI USB I/O protocol
|
||||
//
|
||||
|
||||
|
||||
/**
|
||||
This function is used to manage a USB device with a control transfer pipe. A control transfer is
|
||||
typically used to perform device initialization and configuration.
|
||||
|
@ -114,7 +107,7 @@ EFI_STATUS
|
|||
|
||||
@retval EFI_SUCCESS The control transfer has been successfully executed.
|
||||
@retval EFI_DEVICE_ERROR The transfer failed. The transfer status is returned in Status.
|
||||
@retval EFI_INVALID_PARAMETE One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||
@retval EFI_TIMEOUT The control transfer fails due to timeout.
|
||||
|
||||
|
@ -157,7 +150,7 @@ EFI_STATUS
|
|||
|
||||
@retval EFI_SUCCESS The bulk transfer has been successfully executed.
|
||||
@retval EFI_DEVICE_ERROR The transfer failed. The transfer status is returned in Status.
|
||||
@retval EFI_INVALID_PARAMETE One or more parameters are invalid.
|
||||
@retval EFI_INVALID_PARAMETER One or more parameters are invalid.
|
||||
@retval EFI_OUT_OF_RESOURCES The request could not be submitted due to a lack of resources.
|
||||
@retval EFI_TIMEOUT The control transfer fails due to timeout.
|
||||
|
||||
|
|
|
@ -1,14 +1,8 @@
|
|||
/** @file
|
||||
EFI VLAN Config protocol is to provide manageability interface for VLAN configuration.
|
||||
|
||||
Copyright (c) 2009, 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.
|
||||
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is introduced in UEFI Specification 2.2
|
||||
|
@ -18,8 +12,7 @@
|
|||
#ifndef __EFI_VLANCONFIG_PROTOCOL_H__
|
||||
#define __EFI_VLANCONFIG_PROTOCOL_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#define EFI_VLAN_CONFIG_PROTOCOL_GUID \
|
||||
{ \
|
||||
|
@ -28,7 +21,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
typedef struct _EFI_VLAN_CONFIG_PROTOCOL EFI_VLAN_CONFIG_PROTOCOL;
|
||||
|
||||
|
||||
///
|
||||
/// EFI_VLAN_FIND_DATA
|
||||
///
|
||||
|
@ -37,7 +29,6 @@ typedef struct {
|
|||
UINT8 Priority; ///< Priority of this VLAN.
|
||||
} EFI_VLAN_FIND_DATA;
|
||||
|
||||
|
||||
/**
|
||||
Create a VLAN device or modify the configuration parameter of an
|
||||
already-configured VLAN.
|
||||
|
|
|
@ -6,24 +6,17 @@
|
|||
types defined via this include file and can be ported easily to any
|
||||
environment.
|
||||
|
||||
Copyright (c) 2006 - 2010, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PI_UEFI_H__
|
||||
#define __PI_UEFI_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Uefi/UefiBaseType.h>
|
||||
#include <ipxe/efi/Uefi/UefiSpec.h>
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,23 +1,19 @@
|
|||
/** @file
|
||||
Defines data types and constants introduced in UEFI.
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
|
||||
Portions copyright (c) 2011 - 2016, ARM Ltd. All rights reserved.<BR>
|
||||
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
|
||||
Copyright (c) 2022, Loongson Technology Corporation Limited. 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.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __UEFI_BASETYPE_H__
|
||||
#define __UEFI_BASETYPE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Base.h>
|
||||
|
||||
|
@ -85,7 +81,6 @@ typedef struct {
|
|||
UINT8 Pad2;
|
||||
} EFI_TIME;
|
||||
|
||||
|
||||
///
|
||||
/// 4-byte buffer. An IPv4 internet protocol address.
|
||||
///
|
||||
|
@ -113,7 +108,6 @@ typedef union {
|
|||
EFI_IPv6_ADDRESS v6;
|
||||
} EFI_IP_ADDRESS;
|
||||
|
||||
|
||||
///
|
||||
/// Enumeration of EFI_STATUS.
|
||||
///@{
|
||||
|
@ -248,39 +242,57 @@ typedef union {
|
|||
///
|
||||
#define EFI_IMAGE_MACHINE_AARCH64 0xAA64
|
||||
|
||||
///
|
||||
/// PE32+ Machine type for RISC-V 32/64/128
|
||||
///
|
||||
#define EFI_IMAGE_MACHINE_RISCV32 0x5032
|
||||
#define EFI_IMAGE_MACHINE_RISCV64 0x5064
|
||||
#define EFI_IMAGE_MACHINE_RISCV128 0x5128
|
||||
|
||||
///
|
||||
/// PE32+ Machine type for LoongArch 32/64 images.
|
||||
///
|
||||
#define EFI_IMAGE_MACHINE_LOONGARCH32 0x6232
|
||||
#define EFI_IMAGE_MACHINE_LOONGARCH64 0x6264
|
||||
|
||||
#if !defined (EFI_IMAGE_MACHINE_TYPE_VALUE) && !defined (EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE)
|
||||
#if defined (MDE_CPU_IA32)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
|
||||
(((Machine) == EFI_IMAGE_MACHINE_IA32) || ((Machine) == EFI_IMAGE_MACHINE_EBC))
|
||||
((Machine) == EFI_IMAGE_MACHINE_IA32)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_X64)
|
||||
|
||||
#elif defined (MDE_CPU_IPF)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
|
||||
(((Machine) == EFI_IMAGE_MACHINE_IA64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))
|
||||
|
||||
#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
|
||||
|
||||
#elif defined (MDE_CPU_X64)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
|
||||
(((Machine) == EFI_IMAGE_MACHINE_X64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))
|
||||
((Machine) == EFI_IMAGE_MACHINE_X64)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_IA32)
|
||||
|
||||
#elif defined (MDE_CPU_ARM)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
|
||||
(((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) || ((Machine) == EFI_IMAGE_MACHINE_EBC))
|
||||
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED)
|
||||
#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
|
||||
|
||||
#elif defined (MDE_CPU_AARCH64)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
|
||||
(((Machine) == EFI_IMAGE_MACHINE_AARCH64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))
|
||||
((Machine) == EFI_IMAGE_MACHINE_AARCH64)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
|
||||
|
||||
#elif defined (MDE_CPU_RISCV64)
|
||||
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
|
||||
((Machine) == EFI_IMAGE_MACHINE_RISCV64)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
|
||||
|
||||
#elif defined (MDE_CPU_LOONGARCH64)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
|
||||
((Machine) == EFI_IMAGE_MACHINE_LOONGARCH64)
|
||||
|
||||
#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
|
||||
|
||||
|
@ -297,5 +309,17 @@ typedef union {
|
|||
#else
|
||||
#error Unknown Processor Type
|
||||
#endif
|
||||
#else
|
||||
#if defined (EFI_IMAGE_MACHINE_TYPE_VALUE)
|
||||
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_TYPE_VALUE)
|
||||
#else
|
||||
#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) (FALSE)
|
||||
#endif
|
||||
#if defined (EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE)
|
||||
#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_CROSS_TYPE_VALUE)
|
||||
#else
|
||||
#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,21 +1,15 @@
|
|||
/** @file
|
||||
EFI Guid Partition Table Format Definition.
|
||||
|
||||
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
|
||||
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.
|
||||
Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __UEFI_GPT_H__
|
||||
#define __UEFI_GPT_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// The primary GUID Partition Table Header must be
|
||||
|
@ -26,6 +20,10 @@ FILE_LICENCE ( BSD3 );
|
|||
/// EFI Partition Table Signature: "EFI PART".
|
||||
///
|
||||
#define EFI_PTAB_HEADER_ID SIGNATURE_64 ('E','F','I',' ','P','A','R','T')
|
||||
///
|
||||
/// Minimum bytes reserve for EFI entry array buffer.
|
||||
///
|
||||
#define EFI_GPT_PART_ENTRY_MIN_SIZE 16384
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
|
@ -139,5 +137,3 @@ typedef struct {
|
|||
|
||||
#pragma pack()
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -3,15 +3,9 @@
|
|||
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 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<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.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
These definitions are from UEFI 2.1 and 2.2.
|
||||
|
@ -21,7 +15,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __UEFI_INTERNAL_FORMREPRESENTATION_H__
|
||||
#define __UEFI_INTERNAL_FORMREPRESENTATION_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Guid/HiiFormMapMethodGuid.h>
|
||||
|
||||
|
@ -41,8 +35,6 @@ typedef UINT16 EFI_DEFAULT_ID;
|
|||
|
||||
typedef UINT32 EFI_HII_FONT_STYLE;
|
||||
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
//
|
||||
|
@ -833,6 +825,7 @@ typedef struct _EFI_IFR_QUESTION_HEADER {
|
|||
#define EFI_IFR_FLAG_READ_ONLY 0x01
|
||||
#define EFI_IFR_FLAG_CALLBACK 0x04
|
||||
#define EFI_IFR_FLAG_RESET_REQUIRED 0x10
|
||||
#define EFI_IFR_FLAG_REST_STYLE 0x20
|
||||
#define EFI_IFR_FLAG_RECONNECT_REQUIRED 0x40
|
||||
#define EFI_IFR_FLAG_OPTIONS_ONLY 0x80
|
||||
|
||||
|
@ -2116,8 +2109,6 @@ typedef struct _EFI_HII_AIBT_SKIP2_BLOCK {
|
|||
|
||||
#pragma pack()
|
||||
|
||||
|
||||
|
||||
///
|
||||
/// References to string tokens must use this macro to enable scanning for
|
||||
/// token usages.
|
||||
|
|
|
@ -1,22 +1,38 @@
|
|||
/** @file
|
||||
This includes some definitions introduced in UEFI that will be used in both PEI and DXE phases.
|
||||
|
||||
Copyright (c) 2006 - 2015, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __UEFI_MULTIPHASE_H__
|
||||
#define __UEFI_MULTIPHASE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// Attributes of variable.
|
||||
///
|
||||
#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_HARDWARE_ERROR_RECORD 0x00000008
|
||||
///
|
||||
/// Attributes of Authenticated Variable
|
||||
///
|
||||
#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020
|
||||
#define EFI_VARIABLE_APPEND_WRITE 0x00000040
|
||||
///
|
||||
/// NOTE: EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated and should be considered reserved.
|
||||
///
|
||||
#define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010
|
||||
|
||||
#ifndef VFRCOMPILE
|
||||
#include <ipxe/efi/Guid/WinCertificate.h>
|
||||
///
|
||||
/// Enumeration of memory types introduced in UEFI.
|
||||
|
@ -89,6 +105,11 @@ typedef enum {
|
|||
/// however it happens to also support byte-addressable non-volatility.
|
||||
///
|
||||
EfiPersistentMemory,
|
||||
///
|
||||
/// A memory region that describes system memory that has not been accepted
|
||||
/// by a corresponding call to the underlying isolation architecture.
|
||||
///
|
||||
EfiUnacceptedMemoryType,
|
||||
EfiMaxMemoryType
|
||||
} EFI_MEMORY_TYPE;
|
||||
|
||||
|
@ -157,25 +178,6 @@ typedef struct {
|
|||
UINT32 Reserved;
|
||||
} EFI_TABLE_HEADER;
|
||||
|
||||
///
|
||||
/// Attributes of variable.
|
||||
///
|
||||
#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_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
|
||||
|
@ -229,5 +231,6 @@ typedef struct {
|
|||
///
|
||||
WIN_CERTIFICATE_UEFI_GUID AuthInfo;
|
||||
} EFI_VARIABLE_AUTHENTICATION_2;
|
||||
#endif // VFRCOMPILE
|
||||
|
||||
#endif
|
||||
|
|
|
@ -3,14 +3,8 @@
|
|||
structure prototypes, global variables and constants that
|
||||
are needed for porting PXE to EFI.
|
||||
|
||||
Copyright (c) 2006 - 2016, 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.
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
@par Revision Reference:
|
||||
32/64-bit PXE specification:
|
||||
|
@ -21,7 +15,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
#ifndef __EFI_PXE_H__
|
||||
#define __EFI_PXE_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
|
@ -62,7 +56,6 @@ FILE_LICENCE ( BSD3 );
|
|||
(((PXE_UINT64)(n) & 0x00FF000000000000ULL) >> 40) | \
|
||||
(((PXE_UINT64)(n) & 0xFF00000000000000ULL) >> 56))
|
||||
|
||||
|
||||
#define PXE_CPBSIZE_NOT_USED 0 ///< zero
|
||||
#define PXE_DBSIZE_NOT_USED 0 ///< zero
|
||||
#define PXE_CPBADDR_NOT_USED (PXE_UINT64) 0 ///< zero
|
||||
|
@ -917,9 +910,7 @@ typedef union pxe_device {
|
|||
PXE_UINT16 Bus;
|
||||
PXE_UINT8 Device;
|
||||
PXE_UINT8 Function;
|
||||
}
|
||||
PCI, PCC;
|
||||
|
||||
} PCI, PCC;
|
||||
} PXE_DEVICE;
|
||||
|
||||
///
|
||||
|
@ -1667,8 +1658,7 @@ typedef struct s_pxe_cpb_fill_header_fragmented {
|
|||
///
|
||||
PXE_UINT32 reserved;
|
||||
} FragDesc[MAX_XMIT_FRAGMENTS];
|
||||
}
|
||||
PXE_CPB_FILL_HEADER_FRAGMENTED;
|
||||
} PXE_CPB_FILL_HEADER_FRAGMENTED;
|
||||
|
||||
typedef struct s_pxe_cpb_transmit {
|
||||
///
|
||||
|
@ -1730,8 +1720,7 @@ typedef struct s_pxe_cpb_transmit_fragments {
|
|||
///
|
||||
PXE_UINT32 reserved;
|
||||
} FragDesc[MAX_XMIT_FRAGMENTS];
|
||||
}
|
||||
PXE_CPB_TRANSMIT_FRAGMENTS;
|
||||
} PXE_CPB_TRANSMIT_FRAGMENTS;
|
||||
|
||||
typedef struct s_pxe_cpb_receive {
|
||||
///
|
||||
|
@ -1786,7 +1775,6 @@ typedef struct s_pxe_db_receive {
|
|||
/// Reserved, must be zero.
|
||||
///
|
||||
PXE_UINT8 reserved[7];
|
||||
|
||||
} PXE_DB_RECEIVE;
|
||||
|
||||
#pragma pack()
|
||||
|
|
|
@ -1,25 +1,22 @@
|
|||
/** @file
|
||||
Include file that supports UEFI.
|
||||
|
||||
This include file must contain things defined in the UEFI 2.6 specification.
|
||||
If a code construct is defined in the UEFI 2.6 specification it must be included
|
||||
This include file must contain things defined in the UEFI 2.7 specification.
|
||||
If a code construct is defined in the UEFI 2.7 specification it must be included
|
||||
by this include file.
|
||||
|
||||
Copyright (c) 2006 - 2016, 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.
|
||||
Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
|
||||
Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
|
||||
Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __UEFI_SPEC_H__
|
||||
#define __UEFI_SPEC_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
#include <ipxe/efi/Uefi/UefiMultiPhase.h>
|
||||
|
||||
|
@ -90,11 +87,38 @@ typedef enum {
|
|||
// If all memory has the same reliability, then this bit is not used.
|
||||
//
|
||||
#define EFI_MEMORY_MORE_RELIABLE 0x0000000000010000ULL
|
||||
|
||||
//
|
||||
// Note: UEFI spec 2.8 and following:
|
||||
//
|
||||
// Specific-purpose memory (SPM). The memory is earmarked for
|
||||
// specific purposes such as for specific device drivers or applications.
|
||||
// The SPM attribute serves as a hint to the OS to avoid allocating this
|
||||
// memory for core OS data or code that can not be relocated.
|
||||
//
|
||||
#define EFI_MEMORY_SP 0x0000000000040000ULL
|
||||
//
|
||||
// If this flag is set, the memory region is capable of being
|
||||
// protected with the CPU's memory cryptographic
|
||||
// capabilities. If this flag is clear, the memory region is not
|
||||
// capable of being protected with the CPU's memory
|
||||
// cryptographic capabilities or the CPU does not support CPU
|
||||
// memory cryptographic capabilities.
|
||||
//
|
||||
#define EFI_MEMORY_CPU_CRYPTO 0x0000000000080000ULL
|
||||
|
||||
//
|
||||
// Runtime memory attribute
|
||||
//
|
||||
#define EFI_MEMORY_RUNTIME 0x8000000000000000ULL
|
||||
|
||||
//
|
||||
// Attributes bitmasks, grouped by type
|
||||
//
|
||||
#define EFI_CACHE_ATTRIBUTE_MASK (EFI_MEMORY_UC | EFI_MEMORY_WC | EFI_MEMORY_WT | EFI_MEMORY_WB | EFI_MEMORY_UCE | EFI_MEMORY_WP)
|
||||
#define EFI_MEMORY_ACCESS_MASK (EFI_MEMORY_RP | EFI_MEMORY_XP | EFI_MEMORY_RO)
|
||||
#define EFI_MEMORY_ATTRIBUTE_MASK (EFI_MEMORY_ACCESS_MASK | EFI_MEMORY_SP | EFI_MEMORY_CPU_CRYPTO)
|
||||
|
||||
///
|
||||
/// Memory descriptor version number.
|
||||
///
|
||||
|
@ -105,21 +129,28 @@ typedef enum {
|
|||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// Type of the memory region. See EFI_MEMORY_TYPE.
|
||||
/// Type of the memory region.
|
||||
/// Type EFI_MEMORY_TYPE is defined in the
|
||||
/// AllocatePages() function description.
|
||||
///
|
||||
UINT32 Type;
|
||||
///
|
||||
/// Physical address of the first byte of the memory region. Must aligned
|
||||
/// on a 4 KB boundary.
|
||||
/// Physical address of the first byte in the memory region. PhysicalStart must be
|
||||
/// aligned on a 4 KiB boundary, and must not be above 0xfffffffffffff000. Type
|
||||
/// EFI_PHYSICAL_ADDRESS is defined in the AllocatePages() function description
|
||||
///
|
||||
EFI_PHYSICAL_ADDRESS PhysicalStart;
|
||||
///
|
||||
/// Virtual address of the first byte of the memory region. Must aligned
|
||||
/// on a 4 KB boundary.
|
||||
/// Virtual address of the first byte in the memory region.
|
||||
/// VirtualStart must be aligned on a 4 KiB boundary,
|
||||
/// and must not be above 0xfffffffffffff000.
|
||||
///
|
||||
EFI_VIRTUAL_ADDRESS VirtualStart;
|
||||
///
|
||||
/// Number of 4KB pages in the memory region.
|
||||
/// NumberOfPagesNumber of 4 KiB pages in the memory region.
|
||||
/// NumberOfPages must not be 0, and must not be any value
|
||||
/// that would represent a memory page with a start address,
|
||||
/// either physical or virtual, above 0xfffffffffffff000.
|
||||
///
|
||||
UINT64 NumberOfPages;
|
||||
///
|
||||
|
@ -190,7 +221,7 @@ EFI_STATUS
|
|||
On output, it is the size of the buffer returned by the firmware if
|
||||
the buffer was large enough, or the size of the buffer needed to contain
|
||||
the map if the buffer was too small.
|
||||
@param[in, out] MemoryMap A pointer to the buffer in which firmware places the current memory
|
||||
@param[out] MemoryMap A pointer to the buffer in which firmware places the current memory
|
||||
map.
|
||||
@param[out] MapKey A pointer to the location in which firmware returns the key for the
|
||||
current memory map.
|
||||
|
@ -211,7 +242,7 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_GET_MEMORY_MAP)(
|
||||
IN OUT UINTN *MemoryMapSize,
|
||||
IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap,
|
||||
OUT EFI_MEMORY_DESCRIPTOR *MemoryMap,
|
||||
OUT UINTN *MapKey,
|
||||
OUT UINTN *DescriptorSize,
|
||||
OUT UINT32 *DescriptorVersion
|
||||
|
@ -316,8 +347,8 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_CONNECT_CONTROLLER)(
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN EFI_HANDLE *DriverImageHandle, OPTIONAL
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath, OPTIONAL
|
||||
IN EFI_HANDLE *DriverImageHandle OPTIONAL,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL,
|
||||
IN BOOLEAN Recursive
|
||||
);
|
||||
|
||||
|
@ -349,12 +380,10 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_DISCONNECT_CONTROLLER)(
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN EFI_HANDLE DriverImageHandle, OPTIONAL
|
||||
IN EFI_HANDLE DriverImageHandle OPTIONAL,
|
||||
IN EFI_HANDLE ChildHandle OPTIONAL
|
||||
);
|
||||
|
||||
|
||||
|
||||
//
|
||||
// ConvertPointer DebugDisposition type.
|
||||
//
|
||||
|
@ -382,7 +411,6 @@ EFI_STATUS
|
|||
IN OUT VOID **Address
|
||||
);
|
||||
|
||||
|
||||
//
|
||||
// These types can be ORed together as needed - for example,
|
||||
// EVT_TIMER might be Ored with EVT_NOTIFY_WAIT or
|
||||
|
@ -403,7 +431,6 @@ EFI_STATUS
|
|||
//
|
||||
#define EVT_RUNTIME_CONTEXT 0x20000000
|
||||
|
||||
|
||||
/**
|
||||
Invoke a notification event
|
||||
|
||||
|
@ -583,7 +610,6 @@ EFI_STATUS
|
|||
IN EFI_EVENT Event
|
||||
);
|
||||
|
||||
|
||||
//
|
||||
// Task priority level
|
||||
//
|
||||
|
@ -592,7 +618,6 @@ EFI_STATUS
|
|||
#define TPL_NOTIFY 16
|
||||
#define TPL_HIGH_LEVEL 31
|
||||
|
||||
|
||||
/**
|
||||
Raises a task's priority level and returns its previous level.
|
||||
|
||||
|
@ -648,7 +673,7 @@ EFI_STATUS
|
|||
(EFIAPI *EFI_GET_VARIABLE)(
|
||||
IN CHAR16 *VariableName,
|
||||
IN EFI_GUID *VendorGuid,
|
||||
OUT UINT32 *Attributes, OPTIONAL
|
||||
OUT UINT32 *Attributes OPTIONAL,
|
||||
IN OUT UINTN *DataSize,
|
||||
OUT VOID *Data OPTIONAL
|
||||
);
|
||||
|
@ -656,7 +681,8 @@ EFI_STATUS
|
|||
/**
|
||||
Enumerates the current variable names.
|
||||
|
||||
@param[in, out] VariableNameSize The size of the VariableName buffer.
|
||||
@param[in, out] VariableNameSize The size of the VariableName buffer. The size must be large
|
||||
enough to fit input string supplied in VariableName buffer.
|
||||
@param[in, out] VariableName On input, supplies the last VariableName that was returned
|
||||
by GetNextVariableName(). On output, returns the Nullterminated
|
||||
string of the current variable.
|
||||
|
@ -667,9 +693,14 @@ EFI_STATUS
|
|||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NOT_FOUND The next variable was not found.
|
||||
@retval EFI_BUFFER_TOO_SMALL The VariableNameSize is too small for the result.
|
||||
VariableNameSize has been updated with the size needed to complete the request.
|
||||
@retval EFI_INVALID_PARAMETER VariableNameSize is NULL.
|
||||
@retval EFI_INVALID_PARAMETER VariableName is NULL.
|
||||
@retval EFI_INVALID_PARAMETER VendorGuid is NULL.
|
||||
@retval EFI_INVALID_PARAMETER The input values of VariableName and VendorGuid are not a name and
|
||||
GUID of an existing variable.
|
||||
@retval EFI_INVALID_PARAMETER Null-terminator is not found in the first VariableNameSize bytes of
|
||||
the input VariableName buffer.
|
||||
@retval EFI_DEVICE_ERROR The variable could not be retrieved due to a hardware error.
|
||||
|
||||
**/
|
||||
|
@ -690,8 +721,7 @@ EFI_STATUS
|
|||
then EFI_INVALID_PARAMETER is returned.
|
||||
@param[in] VendorGuid A unique identifier for the vendor.
|
||||
@param[in] Attributes Attributes bitmask to set for the variable.
|
||||
@param[in] DataSize The size in bytes of the Data buffer. Unless the EFI_VARIABLE_APPEND_WRITE,
|
||||
EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS, or
|
||||
@param[in] DataSize The size in bytes of the Data buffer. Unless the EFI_VARIABLE_APPEND_WRITE or
|
||||
EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS attribute is set, a size of zero
|
||||
causes the variable to be deleted. When the EFI_VARIABLE_APPEND_WRITE attribute is
|
||||
set, then a SetVariable() call with a DataSize of zero will not cause any change to
|
||||
|
@ -710,9 +740,8 @@ EFI_STATUS
|
|||
@retval EFI_DEVICE_ERROR The variable could not be retrieved due to a hardware error.
|
||||
@retval EFI_WRITE_PROTECTED The variable in question is read-only.
|
||||
@retval EFI_WRITE_PROTECTED The variable in question cannot be deleted.
|
||||
@retval EFI_SECURITY_VIOLATION The variable could not be written due to EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS
|
||||
or EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACESS being set, but the AuthInfo
|
||||
does NOT pass the validation check carried out by the firmware.
|
||||
@retval EFI_SECURITY_VIOLATION The variable could not be written due to EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACESS being set,
|
||||
but the AuthInfo does NOT pass the validation check carried out by the firmware.
|
||||
|
||||
@retval EFI_NOT_FOUND The variable trying to be updated or deleted was not found.
|
||||
|
||||
|
@ -727,7 +756,6 @@ EFI_STATUS
|
|||
IN VOID *Data
|
||||
);
|
||||
|
||||
|
||||
///
|
||||
/// This provides the capabilities of the
|
||||
/// real time clock device as exposed through the EFI interfaces.
|
||||
|
@ -1011,10 +1039,10 @@ EFI_STATUS
|
|||
EfiResetShutdown the data buffer starts with a Null-terminated
|
||||
string, optionally followed by additional binary data.
|
||||
The string is a description that the caller may use to further
|
||||
indicate the reason for the system reset. ResetData is only
|
||||
valid if ResetStatus is something other than EFI_SUCCESS
|
||||
unless the ResetType is EfiResetPlatformSpecific
|
||||
where a minimum amount of ResetData is always required.
|
||||
indicate the reason for the system reset.
|
||||
For a ResetType of EfiResetPlatformSpecific the data buffer
|
||||
also starts with a Null-terminated string that is followed
|
||||
by an EFI_GUID that describes the specific type of reset to perform.
|
||||
**/
|
||||
typedef
|
||||
VOID
|
||||
|
@ -1306,13 +1334,12 @@ EFI_STATUS
|
|||
(EFIAPI *EFI_OPEN_PROTOCOL)(
|
||||
IN EFI_HANDLE Handle,
|
||||
IN EFI_GUID *Protocol,
|
||||
OUT VOID **Interface, OPTIONAL
|
||||
OUT VOID **Interface OPTIONAL,
|
||||
IN EFI_HANDLE AgentHandle,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN UINT32 Attributes
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Closes a protocol on a handle that was opened using OpenProtocol().
|
||||
|
||||
|
@ -1474,8 +1501,8 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_LOCATE_HANDLE)(
|
||||
IN EFI_LOCATE_SEARCH_TYPE SearchType,
|
||||
IN EFI_GUID *Protocol, OPTIONAL
|
||||
IN VOID *SearchKey, OPTIONAL
|
||||
IN EFI_GUID *Protocol OPTIONAL,
|
||||
IN VOID *SearchKey OPTIONAL,
|
||||
IN OUT UINTN *BufferSize,
|
||||
OUT EFI_HANDLE *Buffer
|
||||
);
|
||||
|
@ -1531,7 +1558,7 @@ EFI_STATUS
|
|||
@param[in] Protocol Provides the protocol to search by.
|
||||
This parameter is only valid for a SearchType of ByProtocol.
|
||||
@param[in] SearchKey Supplies the search key depending on the SearchType.
|
||||
@param[in, out] NoHandles The number of handles returned in Buffer.
|
||||
@param[out] NoHandles The number of handles returned in Buffer.
|
||||
@param[out] Buffer A pointer to the buffer to return the requested array of handles that
|
||||
support Protocol.
|
||||
|
||||
|
@ -1547,9 +1574,9 @@ typedef
|
|||
EFI_STATUS
|
||||
(EFIAPI *EFI_LOCATE_HANDLE_BUFFER)(
|
||||
IN EFI_LOCATE_SEARCH_TYPE SearchType,
|
||||
IN EFI_GUID *Protocol, OPTIONAL
|
||||
IN VOID *SearchKey, OPTIONAL
|
||||
IN OUT UINTN *NoHandles,
|
||||
IN EFI_GUID *Protocol OPTIONAL,
|
||||
IN VOID *SearchKey OPTIONAL,
|
||||
OUT UINTN *NoHandles,
|
||||
OUT EFI_HANDLE **Buffer
|
||||
);
|
||||
|
||||
|
@ -1567,13 +1594,14 @@ EFI_STATUS
|
|||
@retval EFI_NOT_FOUND No protocol instances were found that match Protocol and
|
||||
Registration.
|
||||
@retval EFI_INVALID_PARAMETER Interface is NULL.
|
||||
Protocol is NULL.
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_LOCATE_PROTOCOL)(
|
||||
IN EFI_GUID *Protocol,
|
||||
IN VOID *Registration, OPTIONAL
|
||||
IN VOID *Registration OPTIONAL,
|
||||
OUT VOID **Interface
|
||||
);
|
||||
|
||||
|
@ -1757,11 +1785,14 @@ EFI_STATUS
|
|||
#define EFI_OS_INDICATIONS_FMP_CAPSULE_SUPPORTED 0x0000000000000008
|
||||
#define EFI_OS_INDICATIONS_CAPSULE_RESULT_VAR_SUPPORTED 0x0000000000000010
|
||||
#define EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY 0x0000000000000040
|
||||
#define EFI_OS_INDICATIONS_JSON_CONFIG_DATA_REFRESH 0x0000000000000080
|
||||
|
||||
//
|
||||
// EFI Runtime Services Table
|
||||
//
|
||||
#define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' ','S','Y','S','T')
|
||||
#define EFI_2_80_SYSTEM_TABLE_REVISION ((2 << 16) | (80))
|
||||
#define EFI_2_70_SYSTEM_TABLE_REVISION ((2 << 16) | (70))
|
||||
#define EFI_2_60_SYSTEM_TABLE_REVISION ((2 << 16) | (60))
|
||||
#define EFI_2_50_SYSTEM_TABLE_REVISION ((2 << 16) | (50))
|
||||
#define EFI_2_40_SYSTEM_TABLE_REVISION ((2 << 16) | (40))
|
||||
|
@ -1772,7 +1803,7 @@ EFI_STATUS
|
|||
#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_60_SYSTEM_TABLE_REVISION
|
||||
#define EFI_SYSTEM_TABLE_REVISION EFI_2_70_SYSTEM_TABLE_REVISION
|
||||
#define EFI_SPECIFICATION_VERSION EFI_SYSTEM_TABLE_REVISION
|
||||
|
||||
#define EFI_RUNTIME_SERVICES_SIGNATURE SIGNATURE_64 ('R','U','N','T','S','E','R','V')
|
||||
|
@ -1826,7 +1857,6 @@ typedef struct {
|
|||
EFI_QUERY_VARIABLE_INFO QueryVariableInfo;
|
||||
} EFI_RUNTIME_SERVICES;
|
||||
|
||||
|
||||
#define EFI_BOOT_SERVICES_SIGNATURE SIGNATURE_64 ('B','O','O','T','S','E','R','V')
|
||||
#define EFI_BOOT_SERVICES_REVISION EFI_SPECIFICATION_VERSION
|
||||
|
||||
|
@ -2173,11 +2203,12 @@ typedef struct {
|
|||
#define EFI_REMOVABLE_MEDIA_FILE_NAME_X64 L"\\EFI\\BOOT\\BOOTX64.EFI"
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM L"\\EFI\\BOOT\\BOOTARM.EFI"
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64.EFI"
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 L"\\EFI\\BOOT\\BOOTRISCV64.EFI"
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME_LOONGARCH64 L"\\EFI\\BOOT\\BOOTLOONGARCH64.EFI"
|
||||
|
||||
#if !defined (EFI_REMOVABLE_MEDIA_FILE_NAME)
|
||||
#if defined (MDE_CPU_IA32)
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA32
|
||||
#elif defined (MDE_CPU_IPF)
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA64
|
||||
#elif defined (MDE_CPU_X64)
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_X64
|
||||
#elif defined (MDE_CPU_EBC)
|
||||
|
@ -2185,9 +2216,19 @@ typedef struct {
|
|||
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_ARM
|
||||
#elif defined (MDE_CPU_AARCH64)
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64
|
||||
#elif defined (MDE_CPU_RISCV64)
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64
|
||||
#elif defined (MDE_CPU_LOONGARCH64)
|
||||
#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_LOONGARCH64
|
||||
#else
|
||||
#error Unknown Processor Type
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// The directory within the active EFI System Partition defined for delivery of capsule to firmware
|
||||
//
|
||||
#define EFI_CAPSULE_FILE_DIRECTORY L"\\EFI\\UpdateCapsule\\"
|
||||
|
||||
#include <ipxe/efi/Uefi/UefiPxe.h>
|
||||
#include <ipxe/efi/Uefi/UefiGpt.h>
|
||||
|
|
|
@ -1,21 +1,15 @@
|
|||
/** @file
|
||||
Processor or Compiler specific defines and types x64 (Intel 64, AMD64).
|
||||
|
||||
Copyright (c) 2006 - 2015, 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.
|
||||
Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PROCESSOR_BIND_H__
|
||||
#define __PROCESSOR_BIND_H__
|
||||
|
||||
FILE_LICENCE ( BSD3 );
|
||||
FILE_LICENCE ( BSD2_PATENT );
|
||||
|
||||
///
|
||||
/// Define the processor type so other code can make processor based choices
|
||||
|
@ -29,7 +23,7 @@ FILE_LICENCE ( BSD3 );
|
|||
#pragma pack()
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) && defined(__pic__) && !defined(USING_LTO)
|
||||
#if defined (__GNUC__) && defined (__pic__) && !defined (USING_LTO) && !defined (__APPLE__)
|
||||
//
|
||||
// Mark all symbol declarations and references as hidden, meaning they will
|
||||
// not be subject to symbol preemption. This allows the compiler to refer to
|
||||
|
@ -70,7 +64,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
#endif
|
||||
|
||||
|
||||
#if defined (_MSC_EXTENSIONS)
|
||||
|
||||
//
|
||||
|
@ -109,7 +102,7 @@ FILE_LICENCE ( BSD3 );
|
|||
//
|
||||
#pragma warning ( disable : 4206 )
|
||||
|
||||
#if _MSC_VER == 1800 || _MSC_VER == 1900
|
||||
#if defined (_MSC_VER) && _MSC_VER >= 1800
|
||||
|
||||
//
|
||||
// Disable these warnings for VS2013.
|
||||
|
@ -131,7 +124,6 @@ FILE_LICENCE ( BSD3 );
|
|||
|
||||
#endif
|
||||
|
||||
|
||||
#if defined (_MSC_EXTENSIONS)
|
||||
//
|
||||
// use Microsoft C compiler dependent integer width types
|
||||
|
@ -243,7 +235,6 @@ typedef UINT64 UINTN;
|
|||
///
|
||||
typedef INT64 INTN;
|
||||
|
||||
|
||||
//
|
||||
// Processor specific defines
|
||||
//
|
||||
|
@ -262,12 +253,22 @@ typedef INT64 INTN;
|
|||
///
|
||||
#define MAX_ADDRESS 0xFFFFFFFFFFFFFFFFULL
|
||||
|
||||
///
|
||||
/// Maximum usable address at boot time
|
||||
///
|
||||
#define MAX_ALLOC_ADDRESS MAX_ADDRESS
|
||||
|
||||
///
|
||||
/// Maximum legal x64 INTN and UINTN values.
|
||||
///
|
||||
#define MAX_INTN ((INTN)0x7FFFFFFFFFFFFFFFULL)
|
||||
#define MAX_UINTN ((UINTN)0xFFFFFFFFFFFFFFFFULL)
|
||||
|
||||
///
|
||||
/// Minimum legal x64 INTN value.
|
||||
///
|
||||
#define MIN_INTN (((INTN)-9223372036854775807LL) - 1)
|
||||
|
||||
///
|
||||
/// The stack alignment required for x64
|
||||
///
|
||||
|
@ -311,7 +312,7 @@ typedef INT64 INTN;
|
|||
#define EFIAPI
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#if defined (__GNUC__) || defined (__clang__)
|
||||
///
|
||||
/// For GNU assembly code, .global or .globl can declare global symbols.
|
||||
/// Define this macro to unify the usage.
|
||||
|
@ -336,4 +337,3 @@ typedef INT64 INTN;
|
|||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue