Changeset 85718 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg
- Timestamp:
- Aug 12, 2020 4:09:12 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 139865
- Location:
- trunk/src/VBox/Devices/EFI/FirmwareNew
- Files:
-
- 53 added
- 2 deleted
- 139 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/FirmwareNew
-
Property svn:mergeinfo
changed from (toggle deleted branches)
to (toggle deleted branches)/vendor/edk2/current 103735-103757,103769-103776,129194-133213 /vendor/edk2/current 103735-103757,103769-103776,129194-139864
-
Property svn:mergeinfo
changed from (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Base.h
r80721 r85718 29 29 #endif 30 30 31 /**32 Verifies the storage size of a given data type.33 34 This macro generates a divide by zero error or a zero size array declaration in35 the preprocessor if the size is incorrect. These are declared as "extern" so36 the space for these arrays will not be in the modules.37 38 @param TYPE The date type to determine the size of.39 @param Size The expected size for the TYPE.40 41 **/42 #define VERIFY_SIZE_OF(TYPE, Size) extern UINT8 _VerifySizeof##TYPE[(sizeof(TYPE) == (Size)) / (sizeof(TYPE) == (Size))]43 44 //45 // Verify that ProcessorBind.h produced UEFI Data Types that are compliant with46 // Section 2.3.1 of the UEFI 2.3 Specification.47 //48 VERIFY_SIZE_OF (BOOLEAN, 1);49 VERIFY_SIZE_OF (INT8, 1);50 VERIFY_SIZE_OF (UINT8, 1);51 VERIFY_SIZE_OF (INT16, 2);52 VERIFY_SIZE_OF (UINT16, 2);53 VERIFY_SIZE_OF (INT32, 4);54 VERIFY_SIZE_OF (UINT32, 4);55 VERIFY_SIZE_OF (INT64, 8);56 VERIFY_SIZE_OF (UINT64, 8);57 VERIFY_SIZE_OF (CHAR8, 1);58 VERIFY_SIZE_OF (CHAR16, 2);59 60 //61 // The following three enum types are used to verify that the compiler62 // configuration for enum types is compliant with Section 2.3.1 of the63 // UEFI 2.3 Specification. These enum types and enum values are not64 // intended to be used. A prefix of '__' is used avoid conflicts with65 // other types.66 //67 typedef enum {68 __VerifyUint8EnumValue = 0xff69 } __VERIFY_UINT8_ENUM_SIZE;70 71 typedef enum {72 __VerifyUint16EnumValue = 0xffff73 } __VERIFY_UINT16_ENUM_SIZE;74 75 typedef enum {76 __VerifyUint32EnumValue = 0xffffffff77 } __VERIFY_UINT32_ENUM_SIZE;78 79 VERIFY_SIZE_OF (__VERIFY_UINT8_ENUM_SIZE, 4);80 VERIFY_SIZE_OF (__VERIFY_UINT16_ENUM_SIZE, 4);81 VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE, 4);82 83 31 // 84 32 // The Microsoft* C compiler can removed references to unreferenced data items … … 86 34 // a non standard extension 87 35 // 88 #if defined(_MSC_ EXTENSIONS) && _MSC_VER < 1800 && !defined (MDE_CPU_EBC)36 #if defined(_MSC_VER) && _MSC_VER < 1800 && !defined (MDE_CPU_EBC) 89 37 /// 90 38 /// Remove global variable from the linked image if there are no references to … … 248 196 #define ASM_PFX(name) _CONCATENATE (__USER_LABEL_PREFIX__, name) 249 197 250 #if __APPLE__198 #ifdef __APPLE__ 251 199 // 252 200 // Apple extension that is used by the linker to optimize code size … … 674 622 #define VA_COPY(Dest, Start) ((void)((Dest) = (Start))) 675 623 676 #elif defined(__GNUC__) 624 #elif defined(__GNUC__) || defined(__clang__) 677 625 678 626 #if defined(MDE_CPU_X64) && !defined(NO_MSABI_VA_FUNCS) … … 834 782 835 783 **/ 836 #ifdef __GNUC__ 837 #if __GNUC__ >= 4 784 #if (defined(__GNUC__) && __GNUC__ >= 4) || defined(__clang__) 838 785 #define OFFSET_OF(TYPE, Field) ((UINTN) __builtin_offsetof(TYPE, Field)) 839 #endif840 786 #endif 841 787 … … 843 789 #define OFFSET_OF(TYPE, Field) ((UINTN) &(((TYPE *)0)->Field)) 844 790 #endif 791 792 /** 793 Portable definition for compile time assertions. 794 Equivalent to C11 static_assert macro from assert.h. 795 796 @param Expression Boolean expression. 797 @param Message Raised compiler diagnostic message when expression is false. 798 799 **/ 800 #ifdef MDE_CPU_EBC 801 #define STATIC_ASSERT(Expression, Message) 802 #elif defined(_MSC_EXTENSIONS) 803 #define STATIC_ASSERT static_assert 804 #else 805 #define STATIC_ASSERT _Static_assert 806 #endif 807 808 // 809 // Verify that ProcessorBind.h produced UEFI Data Types that are compliant with 810 // Section 2.3.1 of the UEFI 2.3 Specification. 811 // 812 813 STATIC_ASSERT (sizeof (BOOLEAN) == 1, "sizeof (BOOLEAN) does not meet UEFI Specification Data Type requirements"); 814 STATIC_ASSERT (sizeof (INT8) == 1, "sizeof (INT8) does not meet UEFI Specification Data Type requirements"); 815 STATIC_ASSERT (sizeof (UINT8) == 1, "sizeof (UINT8) does not meet UEFI Specification Data Type requirements"); 816 STATIC_ASSERT (sizeof (INT16) == 2, "sizeof (INT16) does not meet UEFI Specification Data Type requirements"); 817 STATIC_ASSERT (sizeof (UINT16) == 2, "sizeof (UINT16) does not meet UEFI Specification Data Type requirements"); 818 STATIC_ASSERT (sizeof (INT32) == 4, "sizeof (INT32) does not meet UEFI Specification Data Type requirements"); 819 STATIC_ASSERT (sizeof (UINT32) == 4, "sizeof (UINT32) does not meet UEFI Specification Data Type requirements"); 820 STATIC_ASSERT (sizeof (INT64) == 8, "sizeof (INT64) does not meet UEFI Specification Data Type requirements"); 821 STATIC_ASSERT (sizeof (UINT64) == 8, "sizeof (UINT64) does not meet UEFI Specification Data Type requirements"); 822 STATIC_ASSERT (sizeof (CHAR8) == 1, "sizeof (CHAR8) does not meet UEFI Specification Data Type requirements"); 823 STATIC_ASSERT (sizeof (CHAR16) == 2, "sizeof (CHAR16) does not meet UEFI Specification Data Type requirements"); 824 825 // 826 // The following three enum types are used to verify that the compiler 827 // configuration for enum types is compliant with Section 2.3.1 of the 828 // UEFI 2.3 Specification. These enum types and enum values are not 829 // intended to be used. A prefix of '__' is used avoid conflicts with 830 // other types. 831 // 832 typedef enum { 833 __VerifyUint8EnumValue = 0xff 834 } __VERIFY_UINT8_ENUM_SIZE; 835 836 typedef enum { 837 __VerifyUint16EnumValue = 0xffff 838 } __VERIFY_UINT16_ENUM_SIZE; 839 840 typedef enum { 841 __VerifyUint32EnumValue = 0xffffffff 842 } __VERIFY_UINT32_ENUM_SIZE; 843 844 STATIC_ASSERT (sizeof (__VERIFY_UINT8_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements"); 845 STATIC_ASSERT (sizeof (__VERIFY_UINT16_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements"); 846 STATIC_ASSERT (sizeof (__VERIFY_UINT32_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements"); 845 847 846 848 /** … … 1271 1273 **/ 1272 1274 #define RETURN_ADDRESS(L) ((L == 0) ? _ReturnAddress() : (VOID *) 0) 1273 #elif defined (__GNUC__)1275 #elif defined (__GNUC__) || defined (__clang__) 1274 1276 void * __builtin_return_address (unsigned int level); 1275 1277 /** -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Guid/CapsuleReport.h
r80721 r85718 94 94 } EFI_CAPSULE_RESULT_VARIABLE_FMP; 95 95 96 typedef struct { 97 98 /// 99 /// Version of this structure, currently 0x00000001 100 /// 101 UINT32 Version; 102 103 /// 104 /// The unique identifier of the capsule whose processing result is recorded in this variable. 105 /// 0x00000000 - 0xEFFFFFFF - Implementation Reserved 106 /// 0xF0000000 - 0xFFFFFFFF - Specification Reserved 107 /// #define REDFISH_DEFINED_JSON_SCHEMA 0xF000000 108 /// The JSON payload shall conform to a Redfish-defined JSON schema, see DMTF-Redfish 109 /// Specification. 110 /// 111 UINT32 CapsuleId; 112 113 /// 114 /// The length of Resp in bytes. 115 /// 116 UINT32 RespLength; 117 118 /// 119 /// Variable length buffer containing the replied JSON payload to the caller who delivered JSON 120 /// capsule to system. The definition of the JSON schema used in the replied payload is beyond 121 /// the scope of this specification. 122 /// 123 UINT8 Resp[]; 124 } EFI_CAPSULE_RESULT_VARIABLE_JSON; 96 125 97 126 extern EFI_GUID gEfiCapsuleReportGuid; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Guid/Cper.h
r80721 r85718 95 95 { \ 96 96 0x667DD791, 0xC6B3, 0x4c27, { 0x8A, 0x6B, 0x0F, 0x8E, 0x72, 0x2D, 0xEB, 0x41 } \ 97 } 98 #define EFI_EVENT_NOTIFICATION_TYPE_DMAR_SEA \ 99 { \ 100 0x9A78788A, 0xBBE8, 0x11E4, { 0x80, 0x9E, 0x67, 0x61, 0x1E, 0x5D, 0x46, 0xB0 } \ 101 } 102 #define EFI_EVENT_NOTIFICATION_TYPE_DMAR_SEI \ 103 { \ 104 0x5C284C81, 0xB0AE, 0x4E87, { 0xA3, 0x22, 0xB0, 0x4C, 0x85, 0x62, 0x43, 0x23 } \ 105 } 106 #define EFI_EVENT_NOTIFICATION_TYPE_DMAR_PEI \ 107 { \ 108 0x09A9D5AC, 0x5204, 0x4214, { 0x96, 0xE5, 0x94, 0x99, 0x2E, 0x75, 0x2B, 0xCD } \ 97 109 } 98 110 ///@} … … 1208 1220 extern EFI_GUID gEfiEventNotificationTypeBootGuid; 1209 1221 extern EFI_GUID gEfiEventNotificationTypeDmarGuid; 1222 extern EFI_GUID gEfiEventNotificationTypeSeaGuid; 1223 extern EFI_GUID gEfiEventNotificationTypeSeiGuid; 1224 extern EFI_GUID gEfiEventNotificationTypePeiGuid; 1210 1225 1211 1226 extern EFI_GUID gEfiProcessorGenericErrorSectionGuid; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Guid/FmpCapsule.h
r80721 r85718 80 80 /// 81 81 UINT64 UpdateHardwareInstance; 82 83 /// 84 /// A 64-bit bitmask that determines what sections are added to the payload. 85 /// #define CAPSULE_SUPPORT_AUTHENTICATION 0x0000000000000001 86 /// #define CAPSULE_SUPPORT_DEPENDENCY 0x0000000000000002 87 /// 88 UINT64 ImageCapsuleSupport; 82 89 } EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER; 83 90 … … 86 93 87 94 #define EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER_INIT_VERSION 0x00000001 88 #define EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION 0x00000002 95 #define EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION 0x00000003 96 #define CAPSULE_SUPPORT_AUTHENTICATION 0x0000000000000001 97 #define CAPSULE_SUPPORT_DEPENDENCY 0x0000000000000002 89 98 90 99 extern EFI_GUID gEfiFmpCapsuleGuid; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Guid/HiiPlatformSetupFormset.h
r80721 r85718 23 23 { 0x337f4407, 0x5aee, 0x4b83, { 0xb2, 0xa7, 0x4e, 0xad, 0xca, 0x30, 0x88, 0xcd } } 24 24 25 #define EFI_HII_REST_STYLE_FORMSET_GUID \ 26 { 0x790217bd, 0xbecf, 0x485b, { 0x91, 0x70, 0x5f, 0xf7, 0x11, 0x31, 0x8b, 0x27 } } 27 25 28 extern EFI_GUID gEfiHiiPlatformSetupFormsetGuid; 26 29 extern EFI_GUID gEfiHiiDriverHealthFormsetGuid; 27 30 extern EFI_GUID gEfiHiiUserCredentialFormsetGuid; 31 extern EFI_GUID gEfiHiiRestStyleFormsetGuid; 28 32 29 33 #endif -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Guid/SystemResourceTable.h
r80721 r85718 2 2 Guid & data structure used for EFI System Resource Table (ESRT) 3 3 4 Copyright (c) 2015 , Intel Corporation. All rights reserved.<BR>4 Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR> 5 5 SPDX-License-Identifier: BSD-2-Clause-Patent 6 6 … … 35 35 /// Last Attempt Status Values 36 36 /// 37 #define LAST_ATTEMPT_STATUS_SUCCESS 0x00000000 38 #define LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL 0x00000001 39 #define LAST_ATTEMPT_STATUS_ERROR_INSUFFICIENT_RESOURCES 0x00000002 40 #define LAST_ATTEMPT_STATUS_ERROR_INCORRECT_VERSION 0x00000003 41 #define LAST_ATTEMPT_STATUS_ERROR_INVALID_FORMAT 0x00000004 42 #define LAST_ATTEMPT_STATUS_ERROR_AUTH_ERROR 0x00000005 43 #define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_AC 0x00000006 44 #define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_BATT 0x00000007 37 #define LAST_ATTEMPT_STATUS_SUCCESS 0x00000000 38 #define LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL 0x00000001 39 #define LAST_ATTEMPT_STATUS_ERROR_INSUFFICIENT_RESOURCES 0x00000002 40 #define LAST_ATTEMPT_STATUS_ERROR_INCORRECT_VERSION 0x00000003 41 #define LAST_ATTEMPT_STATUS_ERROR_INVALID_FORMAT 0x00000004 42 #define LAST_ATTEMPT_STATUS_ERROR_AUTH_ERROR 0x00000005 43 #define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_AC 0x00000006 44 #define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_BATT 0x00000007 45 #define LAST_ATTEMPT_STATUS_ERROR_UNSATISFIED_DEPENDENCIES 0x00000008 45 46 46 47 typedef struct { -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ia32/ProcessorBind.h
r80721 r85718 88 88 #pragma warning ( disable : 4206 ) 89 89 90 #if _MSC_VER == 1800 || _MSC_VER == 1900 || _MSC_VER >= 191090 #if defined(_MSC_VER) && _MSC_VER >= 1800 91 91 92 92 // … … 282 282 /// 283 283 #define EFIAPI __cdecl 284 #elif defined(__GNUC__) 284 #elif defined(__GNUC__) || defined(__clang__) 285 285 /// 286 286 /// GCC specific method for EFIAPI calling convention. … … 295 295 #endif 296 296 297 #if defined(__GNUC__) 297 #if defined(__GNUC__) || defined(__clang__) 298 298 /// 299 299 /// For GNU assembly code, .global or .globl can declare global symbols. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Acpi10.h
r80721 r85718 38 38 39 39 // 40 // Define for Des riptor40 // Define for Descriptor 41 41 // 42 42 #define ACPI_SMALL_ITEM_FLAG 0x00 … … 110 110 111 111 /// 112 /// The common ddefinition of QWORD, DWORD, and WORD112 /// The common definition of QWORD, DWORD, and WORD 113 113 /// Address Space Descriptors. 114 114 /// -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Acpi20.h
r80721 r85718 12 12 13 13 // 14 // Define for Des riptor14 // Define for Descriptor 15 15 // 16 16 #define ACPI_LARGE_GENERIC_REGISTER_DESCRIPTOR_NAME 0x02 … … 506 506 507 507 /// 508 /// "SPCR" Serial Port Con cole Redirection Table508 /// "SPCR" Serial Port Console Redirection Table 509 509 /// 510 510 #define EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R') -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Acpi30.h
r80721 r85718 12 12 13 13 // 14 // Define for Des riptor14 // Define for Descriptor 15 15 // 16 16 #define ACPI_LARGE_EXTENDED_ADDRESS_SPACE_DESCRIPTOR_NAME 0x0B … … 685 685 686 686 /// 687 /// "SPCR" Serial Port Con cole Redirection Table687 /// "SPCR" Serial Port Console Redirection Table 688 688 /// 689 689 #define EFI_ACPI_3_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R') -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Acpi40.h
r80721 r85718 1265 1265 1266 1266 /// 1267 /// "SPCR" Serial Port Con cole Redirection Table1267 /// "SPCR" Serial Port Console Redirection Table 1268 1268 /// 1269 1269 #define EFI_ACPI_4_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R') -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Acpi50.h
r80721 r85718 4 4 Copyright (c) 2014 Hewlett-Packard Development Company, L.P.<BR> 5 5 Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR> 6 Copyright (c) 2020, ARM Ltd. All rights reserved.<BR> 6 7 SPDX-License-Identifier: BSD-2-Clause-Patent 7 8 **/ … … 13 14 14 15 // 15 // Define for Des riptor16 // Define for Descriptor 16 17 // 17 18 #define ACPI_SMALL_FIXED_DMA_DESCRIPTOR_NAME 0x0A … … 1202 1203 UINT64 ExitBootServicesEntry; 1203 1204 /// 1204 /// Timer value logged at the point just prior to when the OS loader gaining1205 /// Timer value logged at the point just prior to when the OS loader gaining 1205 1206 /// control back from calls the ExitBootServices function for UEFI compatible firmware. 1206 1207 /// For non-UEFI compatible boots, this field must be zero. … … 2059 2060 2060 2061 /// 2062 /// "PCCT" Platform Communications Channel Table 2063 /// 2064 #define EFI_ACPI_5_0_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T') 2065 2066 /// 2061 2067 /// "SLIC" MS Software Licensing Table Specification 2062 2068 /// … … 2064 2070 2065 2071 /// 2066 /// "SPCR" Serial Port Con cole Redirection Table2072 /// "SPCR" Serial Port Console Redirection Table 2067 2073 /// 2068 2074 #define EFI_ACPI_5_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R') -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Acpi51.h
r80721 r85718 5 5 Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR> 6 6 (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> 7 Copyright (c) 2020, ARM Ltd. All rights reserved.<BR> 7 8 SPDX-License-Identifier: BSD-2-Clause-Patent 8 9 **/ … … 1155 1156 UINT64 ExitBootServicesEntry; 1156 1157 /// 1157 /// Timer value logged at the point just prior to when the OS loader gaining1158 /// Timer value logged at the point just prior to when the OS loader gaining 1158 1159 /// control back from calls the ExitBootServices function for UEFI compatible firmware. 1159 1160 /// For non-UEFI compatible boots, this field must be zero. … … 2080 2081 2081 2082 /// 2083 /// "PCCT" Platform Communications Channel Table 2084 /// 2085 #define EFI_ACPI_5_1_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T') 2086 2087 /// 2082 2088 /// "SLIC" MS Software Licensing Table Specification 2083 2089 /// … … 2085 2091 2086 2092 /// 2087 /// "SPCR" Serial Port Con cole Redirection Table2093 /// "SPCR" Serial Port Console Redirection Table 2088 2094 /// 2089 2095 #define EFI_ACPI_5_1_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R') -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Acpi60.h
r80721 r85718 4 4 Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR> 5 5 (C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR> 6 Copyright (c) 2020, ARM Ltd. All rights reserved.<BR> 6 7 SPDX-License-Identifier: BSD-2-Clause-Patent 7 8 **/ … … 1170 1171 UINT64 ExitBootServicesEntry; 1171 1172 /// 1172 /// Timer value logged at the point just prior to when the OS loader gaining1173 /// Timer value logged at the point just prior to when the OS loader gaining 1173 1174 /// control back from calls the ExitBootServices function for UEFI compatible firmware. 1174 1175 /// For non-UEFI compatible boots, this field must be zero. … … 2323 2324 2324 2325 /// 2326 /// "PCCT" Platform Communications Channel Table 2327 /// 2328 #define EFI_ACPI_6_0_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T') 2329 2330 /// 2325 2331 /// "SLIC" MS Software Licensing Table Specification 2326 2332 /// … … 2328 2334 2329 2335 /// 2330 /// "SPCR" Serial Port Con cole Redirection Table2336 /// "SPCR" Serial Port Console Redirection Table 2331 2337 /// 2332 2338 #define EFI_ACPI_6_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R') -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Acpi61.h
r80721 r85718 4 4 Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR> 5 5 (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR> 6 Copyright (c) 2020, ARM Ltd. All rights reserved.<BR> 6 7 SPDX-License-Identifier: BSD-2-Clause-Patent 7 8 **/ … … 1170 1171 UINT64 ExitBootServicesEntry; 1171 1172 /// 1172 /// Timer value logged at the point just prior to when the OS loader gaining1173 /// Timer value logged at the point just prior to when the OS loader gaining 1173 1174 /// control back from calls the ExitBootServices function for UEFI compatible firmware. 1174 1175 /// For non-UEFI compatible boots, this field must be zero. … … 2355 2356 2356 2357 /// 2358 /// "PCCT" Platform Communications Channel Table 2359 /// 2360 #define EFI_ACPI_6_1_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T') 2361 2362 /// 2357 2363 /// "SLIC" MS Software Licensing Table Specification 2358 2364 /// … … 2360 2366 2361 2367 /// 2362 /// "SPCR" Serial Port Con cole Redirection Table2368 /// "SPCR" Serial Port Console Redirection Table 2363 2369 /// 2364 2370 #define EFI_ACPI_6_1_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R') -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Acpi62.h
r80721 r85718 3 3 4 4 Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> 5 Copyright (c) 2020, ARM Ltd. All rights reserved.<BR> 5 6 SPDX-License-Identifier: BSD-2-Clause-Patent 6 7 **/ … … 1282 1283 UINT64 ExitBootServicesEntry; 1283 1284 /// 1284 /// Timer value logged at the point just prior to when the OS loader gaining1285 /// Timer value logged at the point just prior to when the OS loader gaining 1285 1286 /// control back from calls the ExitBootServices function for UEFI compatible firmware. 1286 1287 /// For non-UEFI compatible boots, this field must be zero. … … 1651 1652 1652 1653 /// 1653 /// Secure Dev cice types1654 /// Secure Device types 1654 1655 /// 1655 1656 #define EFI_ACPI_6_2_SDEV_TYPE_PCIE_ENDPOINT_DEVICE 0x01 … … 1657 1658 1658 1659 /// 1659 /// Secure Dev cice flags1660 /// Secure Device flags 1660 1661 /// 1661 1662 #define EFI_ACPI_6_2_SDEV_FLAG_ALLOW_HANDOFF BIT0 … … 2881 2882 2882 2883 /// 2884 /// "PCCT" Platform Communications Channel Table 2885 /// 2886 #define EFI_ACPI_6_2_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T') 2887 2888 /// 2883 2889 /// "SDEI" Software Delegated Exceptions Interface Table 2884 2890 /// … … 2891 2897 2892 2898 /// 2893 /// "SPCR" Serial Port Con cole Redirection Table2899 /// "SPCR" Serial Port Console Redirection Table 2894 2900 /// 2895 2901 #define EFI_ACPI_6_2_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE SIGNATURE_32('S', 'P', 'C', 'R') -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Acpi63.h
r80721 r85718 3 3 4 4 Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> 5 Copyright (c) 2019 , ARM Ltd. All rights reserved.<BR>5 Copyright (c) 2019 - 2020, ARM Ltd. All rights reserved.<BR> 6 6 7 7 SPDX-License-Identifier: BSD-2-Clause-Patent … … 2882 2882 2883 2883 /// 2884 /// "PCCT" Platform Communications Channel Table 2885 /// 2886 #define EFI_ACPI_6_3_PLATFORM_COMMUNICATIONS_CHANNEL_TABLE_SIGNATURE SIGNATURE_32('P', 'C', 'C', 'T') 2887 2888 /// 2884 2889 /// "SDEI" Software Delegated Exceptions Interface Table 2885 2890 /// -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/AcpiAml.h
r80721 r85718 3 3 4 4 Copyright (c) 2011, Intel Corporation. All rights reserved.<BR> 5 Copyright (c) 2019, ARM Limited. All rights reserved.<BR> 5 6 SPDX-License-Identifier: BSD-2-Clause-Patent 6 7 … … 31 32 #define AML_VAR_PACKAGE_OP 0x13 32 33 #define AML_METHOD_OP 0x14 34 #define AML_EXTERNAL_OP 0x15 33 35 #define AML_DUAL_NAME_PREFIX 0x2e 34 36 #define AML_MULTI_NAME_PREFIX 0x2f … … 167 169 #define AML_EXT_DATA_REGION_OP 0x88 168 170 171 // 172 // FieldElement OpCode 173 // 174 #define AML_FIELD_RESERVED_OP 0x00 175 #define AML_FIELD_ACCESS_OP 0x01 176 #define AML_FIELD_CONNECTION_OP 0x02 177 #define AML_FIELD_EXT_ACCESS_OP 0x03 178 169 179 #endif -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Atapi.h
r80721 r85718 485 485 // ATA Packet Command Code 486 486 // 487 #define ATA_CMD_FORMAT_UNIT 0x04 ///< defined in ATAPI Removable Rewritable Media Dev cies487 #define ATA_CMD_FORMAT_UNIT 0x04 ///< defined in ATAPI Removable Rewritable Media Devices 488 488 #define ATA_CMD_SOFT_RESET 0x08 ///< defined from ATA-3 489 489 #define ATA_CMD_PACKET 0xA0 ///< defined from ATA-3 … … 492 492 #define ATA_CMD_TEST_UNIT_READY 0x00 ///< defined from ATA-1 493 493 #define ATA_CMD_REQUEST_SENSE 0x03 ///< defined from ATA-4 494 #define ATA_CMD_INQUIRY 0x12 ///< defined in ATAPI Removable Rewritable Media Dev cies495 #define ATA_CMD_READ_FORMAT_CAPACITY 0x23 ///< defined in ATAPI Removable Rewritable Media Dev cies496 #define ATA_CMD_READ_CAPACITY 0x25 ///< defined in ATAPI Removable Rewritable Media Dev cies497 #define ATA_CMD_READ_10 0x28 ///< defined in ATAPI Removable Rewritable Media Dev cies498 #define ATA_CMD_WRITE_10 0x2A ///< defined in ATAPI Removable Rewritable Media Dev cies499 #define ATA_CMD_ATAPI_SEEK 0x2B ///< defined in ATAPI Removable Rewritable Media Dev cies500 #define ATA_CMD_WRITE_AND_VERIFY 0x2E ///< defined in ATAPI Removable Rewritable Media Dev cies501 #define ATA_CMD_VERIFY 0x2F ///< defined in ATAPI Removable Rewritable Media Dev cies502 #define ATA_CMD_READ_12 0xA8 ///< defined in ATAPI Removable Rewritable Media Dev cies503 #define ATA_CMD_WRITE_12 0xAA ///< defined in ATAPI Removable Rewritable Media Dev cies504 #define ATA_CMD_START_STOP_UNIT 0x1B ///< defined in ATAPI Removable Rewritable Media Dev cies505 #define ATA_CMD_PREVENT_ALLOW_MEDIA_REMOVAL 0x1E ///< defined in ATAPI Removable Rewritable Media Dev cies506 #define ATA_CMD_MODE_SELECT 0x55 ///< defined in ATAPI Removable Rewritable Media Dev cies507 508 #define ATA_CMD_MODE_SENSE 0x5A ///< defined in ATAPI Removable Rewritable Media Dev cies509 #define ATA_PAGE_CODE_READ_WRITE_ERROR 0x01 ///< defined in ATAPI Removable Rewritable Media Dev cies510 #define ATA_PAGE_CODE_CACHING_PAGE 0x08 ///< defined in ATAPI Removable Rewritable Media Dev cies511 #define ATA_PAGE_CODE_REMOVABLE_BLOCK_CAPABILITIES 0x1B ///< defined in ATAPI Removable Rewritable Media Dev cies512 #define ATA_PAGE_CODE_TIMER_PROTECT_PAGE 0x1C ///< defined in ATAPI Removable Rewritable Media Dev cies513 #define ATA_PAGE_CODE_RETURN_ALL_PAGES 0x3F ///< defined in ATAPI Removable Rewritable Media Dev cies494 #define ATA_CMD_INQUIRY 0x12 ///< defined in ATAPI Removable Rewritable Media Devices 495 #define ATA_CMD_READ_FORMAT_CAPACITY 0x23 ///< defined in ATAPI Removable Rewritable Media Devices 496 #define ATA_CMD_READ_CAPACITY 0x25 ///< defined in ATAPI Removable Rewritable Media Devices 497 #define ATA_CMD_READ_10 0x28 ///< defined in ATAPI Removable Rewritable Media Devices 498 #define ATA_CMD_WRITE_10 0x2A ///< defined in ATAPI Removable Rewritable Media Devices 499 #define ATA_CMD_ATAPI_SEEK 0x2B ///< defined in ATAPI Removable Rewritable Media Devices 500 #define ATA_CMD_WRITE_AND_VERIFY 0x2E ///< defined in ATAPI Removable Rewritable Media Devices 501 #define ATA_CMD_VERIFY 0x2F ///< defined in ATAPI Removable Rewritable Media Devices 502 #define ATA_CMD_READ_12 0xA8 ///< defined in ATAPI Removable Rewritable Media Devices 503 #define ATA_CMD_WRITE_12 0xAA ///< defined in ATAPI Removable Rewritable Media Devices 504 #define ATA_CMD_START_STOP_UNIT 0x1B ///< defined in ATAPI Removable Rewritable Media Devices 505 #define ATA_CMD_PREVENT_ALLOW_MEDIA_REMOVAL 0x1E ///< defined in ATAPI Removable Rewritable Media Devices 506 #define ATA_CMD_MODE_SELECT 0x55 ///< defined in ATAPI Removable Rewritable Media Devices 507 508 #define ATA_CMD_MODE_SENSE 0x5A ///< defined in ATAPI Removable Rewritable Media Devices 509 #define ATA_PAGE_CODE_READ_WRITE_ERROR 0x01 ///< defined in ATAPI Removable Rewritable Media Devices 510 #define ATA_PAGE_CODE_CACHING_PAGE 0x08 ///< defined in ATAPI Removable Rewritable Media Devices 511 #define ATA_PAGE_CODE_REMOVABLE_BLOCK_CAPABILITIES 0x1B ///< defined in ATAPI Removable Rewritable Media Devices 512 #define ATA_PAGE_CODE_TIMER_PROTECT_PAGE 0x1C ///< defined in ATAPI Removable Rewritable Media Devices 513 #define ATA_PAGE_CODE_RETURN_ALL_PAGES 0x3F ///< defined in ATAPI Removable Rewritable Media Devices 514 514 515 515 #define ATA_CMD_GET_CONFIGURATION 0x46 ///< defined in ATAPI Multimedia Devices -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Dhcp.h
r80721 r85718 4 4 5 5 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> 6 Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 6 7 SPDX-License-Identifier: BSD-2-Clause-Patent 7 8 **/ … … 267 268 #define PXE_CLIENT_ARCH_ARM 0x000A /// Arm uefi 32 for PXE 268 269 #define PXE_CLIENT_ARCH_AARCH64 0x000B /// Arm uefi 64 for PXE 270 #define PXE_CLIENT_ARCH_RISCV32 0x0019 /// RISC-V uefi 32 for PXE 271 #define PXE_CLIENT_ARCH_RISCV64 0x001B /// RISC-V uefi 64 for PXE 272 #define PXE_CLIENT_ARCH_RISCV128 0x001D /// RISC-V uefi 128 for PXE 269 273 270 274 #define HTTP_CLIENT_ARCH_IA32 0x000F /// x86 uefi boot from http … … 273 277 #define HTTP_CLIENT_ARCH_ARM 0x0012 /// Arm uefi 32 boot from http 274 278 #define HTTP_CLIENT_ARCH_AARCH64 0x0013 /// Arm uefi 64 boot from http 279 #define HTTP_CLIENT_ARCH_RISCV32 0x001A /// RISC-V uefi 32 boot from http 280 #define HTTP_CLIENT_ARCH_RISCV64 0x001C /// RISC-V uefi 64 boot from http 281 #define HTTP_CLIENT_ARCH_RISCV128 0x001E /// RISC-V uefi 128 boot from http 275 282 276 283 #endif -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/ElTorito.h
r80721 r85718 1 1 /** @file 2 2 ElTorito Partitions Format Definition. 3 This file includes some defin tions from3 This file includes some definitions from 4 4 1. "El Torito" Bootable CD-ROM Format Specification, Version 1.0. 5 5 2. Volume and File Structure of CDROM for Information Interchange, … … 76 76 77 77 /// 78 /// Primary Volum nDescriptor, defined in ISO 9660.78 /// Primary Volume Descriptor, defined in ISO 9660. 79 79 /// 80 80 struct { -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Emmc.h
r80721 r85718 225 225 UINT8 Reserved17; // Reserved [211] 226 226 UINT8 SecCount[4]; // Sector Count [215:212] 227 UINT8 SleepNotificationTime; // Sleep Notification Tim out [216]227 UINT8 SleepNotificationTime; // Sleep Notification Timeout [216] 228 228 UINT8 SATimeout; // Sleep/awake timeout [217] 229 229 UINT8 ProductionStateAwarenessTimeout; // Production state awareness timeout [218] -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/IpmiNetFnBridge.h
r80721 r85718 128 128 129 129 // 130 // Definitions for Prepare for Discove ery command130 // Definitions for Prepare for Discovery command 131 131 // 132 132 #define IPMI_BRIDGE_PREPARE_FOR_DISCOVERY 0x10 133 133 134 134 // 135 // Constants and Structure definitions for "Prepare for Discove ery" command to follow here135 // Constants and Structure definitions for "Prepare for Discovery" command to follow here 136 136 // 137 137 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Nvme.h
r80721 r85718 310 310 UINT8 Rrt:5; /* Relative Read Throughput */ 311 311 UINT8 Rsvd3:3; /* Reserved as of Nvm Express 1.1 Spec */ 312 UINT8 Rrl:5; /* Relative Read L eatency */312 UINT8 Rrl:5; /* Relative Read Latency */ 313 313 UINT8 Rsvd4:3; /* Reserved as of Nvm Express 1.1 Spec */ 314 314 UINT8 Rwt:5; /* Relative Write Throughput */ 315 315 UINT8 Rsvd5:3; /* Reserved as of Nvm Express 1.1 Spec */ 316 UINT8 Rwl:5; /* Relative Write L eatency */316 UINT8 Rwl:5; /* Relative Write Latency */ 317 317 UINT8 Rsvd6:3; /* Reserved as of Nvm Express 1.1 Spec */ 318 318 UINT8 Rsvd7[16]; /* Reserved as of Nvm Express 1.1 Spec */ … … 330 330 UINT8 Sn[20]; /* Product serial number */ 331 331 332 UINT8 Mn[40]; /* Pro educt model number */332 UINT8 Mn[40]; /* Product model number */ 333 333 UINT8 Fr[8]; /* Firmware Revision */ 334 334 UINT8 Rab; /* Recommended Arbitration Burst */ … … 658 658 typedef struct { 659 659 // 660 // CDW 0, Common to all com nmands660 // CDW 0, Common to all commands 661 661 // 662 662 UINT8 Opc; // Opcode … … 870 870 UINT8 AvailableSpareThreshold; 871 871 // 872 // Contains a vendor specific estimate of the percentage of NVM subsystem life used based on the actual usage and the manufacturer ?s prediction of NVM life. A value of 100 indicates that the estimated endurance of the NVM in the NVM subsystem has been consumed, but may not indicate an NVM subsystem failure. The value is allowed to exceed 100. Percentages greater than 254 shall be represented as 255. This value shall be updated once per power-on hour (when the controller is not in a sleep state).872 // Contains a vendor specific estimate of the percentage of NVM subsystem life used based on the actual usage and the manufacturer's prediction of NVM life. A value of 100 indicates that the estimated endurance of the NVM in the NVM subsystem has been consumed, but may not indicate an NVM subsystem failure. The value is allowed to exceed 100. Percentages greater than 254 shall be represented as 255. This value shall be updated once per power-on hour (when the controller is not in a sleep state). 873 873 // 874 874 UINT8 PercentageUsed; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Pci22.h
r80721 r85718 6 6 PCI-to-PCI Bridge Architecture Specification, Revision 1.2 7 7 PC Card Standard, 8.0 8 PCI Power Management Interface Specific tion, Revision 1.28 PCI Power Management Interface Specification, Revision 1.2 9 9 10 10 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> … … 112 112 113 113 /// 114 /// CardBus Con roller Configuration Space,114 /// CardBus Controller Configuration Space, 115 115 /// Section 4.5.1, PC Card Standard. 8.0 116 116 /// 117 117 typedef struct { 118 UINT32 CardBusSocketReg; ///< Card us Socket/ExCA Base118 UINT32 CardBusSocketReg; ///< Cardbus Socket/ExCA Base 119 119 UINT8 Cap_Ptr; 120 120 UINT8 Reserved; … … 223 223 #define PCI_IF_ISA_PIC 0x01 224 224 #define PCI_IF_EISA_PIC 0x02 225 #define PCI_IF_APIC_CONTROLLER 0x10 ///< I/O APIC interrupt controller , 32 by e none-prefectable memory.225 #define PCI_IF_APIC_CONTROLLER 0x10 ///< I/O APIC interrupt controller , 32 byte none-prefetchable memory. 226 226 #define PCI_IF_APIC_CONTROLLER2 0x20 227 227 #define PCI_SUBCLASS_DMA 0x01 … … 510 510 511 511 /// 512 /// Rom Base Address in Bridge, defined in PCI-to-PCI Bridge Architec ure Specification,512 /// Rom Base Address in Bridge, defined in PCI-to-PCI Bridge Architecture Specification, 513 513 /// 514 514 #define PCI_BRIDGE_ROMBAR 0x38 … … 643 643 /// 644 644 /// PMC - Power Management Capabilities 645 /// Section 3.2.3, PCI Power Management Interface Specific tion, Revision 1.2645 /// Section 3.2.3, PCI Power Management Interface Specification, Revision 1.2 646 646 /// 647 647 typedef union { … … 663 663 /// 664 664 /// PMCSR - Power Management Control/Status 665 /// Section 3.2.4, PCI Power Management Interface Specific tion, Revision 1.2665 /// Section 3.2.4, PCI Power Management Interface Specification, Revision 1.2 666 666 /// 667 667 typedef union { … … 686 686 /// 687 687 /// PMCSR_BSE - PMCSR PCI-to-PCI Bridge Support Extensions 688 /// Section 3.2.5, PCI Power Management Interface Specific tion, Revision 1.2688 /// Section 3.2.5, PCI Power Management Interface Specification, Revision 1.2 689 689 /// 690 690 typedef union { … … 699 699 /// 700 700 /// Power Management Register Block Definition 701 /// Section 3.2, PCI Power Management Interface Specific tion, Revision 1.2701 /// Section 3.2, PCI Power Management Interface Specification, Revision 1.2 702 702 /// 703 703 typedef struct { … … 733 733 /// 734 734 /// Slot Numbering Capabilities Register 735 /// Section 3.2.6, PCI-to-PCI Bridge Archite ture Specification, Revision 1.2735 /// Section 3.2.6, PCI-to-PCI Bridge Architecture Specification, Revision 1.2 736 736 /// 737 737 typedef struct { -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/PciExpress21.h
r80721 r85718 305 305 UINT16 IdoRequest : 1; 306 306 UINT16 IdoCompletion : 1; 307 UINT16 LtrMechanism : 2;307 UINT16 LtrMechanism : 1; 308 308 UINT16 EmergencyPowerReductionRequest : 1; 309 309 UINT16 TenBitTagRequesterEnable : 1; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/PciExpress40.h
r80721 r85718 5 5 6 6 Copyright (c) 2018, American Megatrends, Inc. All rights reserved.<BR> 7 Copyright (c) 2020, Intel Corporation. All rights reserved.<BR> 7 8 SPDX-License-Identifier: BSD-2-Clause-Patent 8 9 … … 79 80 ///@} 80 81 82 /// The Designated Vendor Specific Capability definitions 83 /// Based on section 7.9.6 of PCI Express Base Specification 4.0. 84 ///@{ 85 typedef union { 86 struct { 87 UINT32 DvsecVendorId : 16; //bit 0..15 88 UINT32 DvsecRevision : 4; //bit 16..19 89 UINT32 DvsecLength : 12; //bit 20..31 90 }Bits; 91 UINT32 Uint32; 92 }PCI_EXPRESS_DESIGNATED_VENDOR_SPECIFIC_HEADER_1; 93 94 typedef union { 95 struct { 96 UINT16 DvsecId : 16; //bit 0..15 97 }Bits; 98 UINT16 Uint16; 99 }PCI_EXPRESS_DESIGNATED_VENDOR_SPECIFIC_HEADER_2; 100 101 typedef struct { 102 PCI_EXPRESS_EXTENDED_CAPABILITIES_HEADER Header; 103 PCI_EXPRESS_DESIGNATED_VENDOR_SPECIFIC_HEADER_1 DesignatedVendorSpecificHeader1; 104 PCI_EXPRESS_DESIGNATED_VENDOR_SPECIFIC_HEADER_2 DesignatedVendorSpecificHeader2; 105 UINT8 DesignatedVendorSpecific[1]; 106 }PCI_EXPRESS_EXTENDED_CAPABILITIES_DESIGNATED_VENDOR_SPECIFIC; 107 ///@} 108 81 109 #pragma pack() 82 110 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/PeImage.h
r80721 r85718 10 10 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> 11 11 Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 12 Portions Copyright (c) 2016 - 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 13 12 14 SPDX-License-Identifier: BSD-2-Clause-Patent 13 15 … … 35 37 #define IMAGE_FILE_MACHINE_ARMTHUMB_MIXED 0x01c2 36 38 #define IMAGE_FILE_MACHINE_ARM64 0xAA64 39 #define IMAGE_FILE_MACHINE_RISCV32 0x5032 40 #define IMAGE_FILE_MACHINE_RISCV64 0x5064 41 #define IMAGE_FILE_MACHINE_RISCV128 0x5128 37 42 38 43 // … … 93 98 #define EFI_IMAGE_FILE_RELOCS_STRIPPED BIT0 ///< 0x0001 Relocation info stripped from file. 94 99 #define EFI_IMAGE_FILE_EXECUTABLE_IMAGE BIT1 ///< 0x0002 File is executable (i.e. no unresolved externel references). 95 #define EFI_IMAGE_FILE_LINE_NUMS_STRIPPED BIT2 ///< 0x0004 Line nu nbers stripped from file.100 #define EFI_IMAGE_FILE_LINE_NUMS_STRIPPED BIT2 ///< 0x0004 Line numbers stripped from file. 96 101 #define EFI_IMAGE_FILE_LOCAL_SYMS_STRIPPED BIT3 ///< 0x0008 Local symbols stripped from file. 97 102 #define EFI_IMAGE_FILE_BYTES_REVERSED_LO BIT7 ///< 0x0080 Bytes of machine word are reversed. … … 495 500 496 501 /// 502 /// Relocation types of RISC-V processor. 503 /// 504 #define EFI_IMAGE_REL_BASED_RISCV_HI20 5 505 #define EFI_IMAGE_REL_BASED_RISCV_LOW12I 7 506 #define EFI_IMAGE_REL_BASED_RISCV_LOW12S 8 507 508 /// 497 509 /// Line number format. 498 510 /// -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Scsi.h
r80721 r85718 2 2 Support for SCSI-2 standard 3 3 4 Copyright (c) 2006 - 20 18, Intel Corporation. All rights reserved.<BR>4 Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.<BR> 5 5 SPDX-License-Identifier: BSD-2-Clause-Patent 6 6 … … 155 155 156 156 // 157 // Additional commands for Communi tion Devices157 // Additional commands for Communication Devices 158 158 // 159 159 #define EFI_SCSI_OP_GET_MESSAGE6 0x08 … … 165 165 166 166 // 167 // Additional commands for Secure Transactions 168 // 169 #define EFI_SCSI_OP_SECURITY_PROTOCOL_IN 0xa2 170 #define EFI_SCSI_OP_SECURITY_PROTOCOL_OUT 0xb5 171 172 // 167 173 // SCSI Data Transfer Direction 168 174 // … … 171 177 172 178 // 179 // SCSI Block Command Cache Control Parameters 180 // 181 #define EFI_SCSI_BLOCK_FUA BIT3 ///< Force Unit Access 182 #define EFI_SCSI_BLOCK_DPO BIT4 ///< Disable Page Out 183 184 // 173 185 // Peripheral Device Type Definitions 174 186 // 175 #define EFI_SCSI_TYPE_DISK 0x00 ///< Direct-access device (e.g. magnetic disk) 176 #define EFI_SCSI_TYPE_TAPE 0x01 ///< Sequential-access device (e.g. magnetic tape) 177 #define EFI_SCSI_TYPE_PRINTER 0x02 ///< Printer device 178 #define EFI_SCSI_TYPE_PROCESSOR 0x03 ///< Processor device 179 #define EFI_SCSI_TYPE_WORM 0x04 ///< Write-once device (e.g. some optical disks) 180 #define EFI_SCSI_TYPE_CDROM 0x05 ///< CD-ROM device 181 #define EFI_SCSI_TYPE_SCANNER 0x06 ///< Scanner device 182 #define EFI_SCSI_TYPE_OPTICAL 0x07 ///< Optical memory device (e.g. some optical disks) 183 #define EFI_SCSI_TYPE_MEDIUMCHANGER 0x08 ///< Medium changer device (e.g. jukeboxes) 184 #define EFI_SCSI_TYPE_COMMUNICATION 0x09 ///< Communications device 185 #define EFI_SCSI_TYPE_ASCIT8_1 0x0A ///< Defined by ASC IT8 (Graphic arts pre-press devices) 186 #define EFI_SCSI_TYPE_ASCIT8_2 0x0B ///< Defined by ASC IT8 (Graphic arts pre-press devices) 187 // 188 // 0Ch - 1Eh are reserved 189 // 190 #define EFI_SCSI_TYPE_UNKNOWN 0x1F ///< Unknown or no device type 187 #define EFI_SCSI_TYPE_DISK 0x00 ///< Direct-access device (e.g. magnetic disk) 188 #define EFI_SCSI_TYPE_TAPE 0x01 ///< Sequential-access device (e.g. magnetic tape) 189 #define EFI_SCSI_TYPE_PRINTER 0x02 ///< Printer device 190 #define EFI_SCSI_TYPE_PROCESSOR 0x03 ///< Processor device 191 #define EFI_SCSI_TYPE_WORM 0x04 ///< Write-once device (e.g. some optical disks) 192 #define EFI_SCSI_TYPE_CDROM 0x05 ///< CD/DVD device 193 #define EFI_SCSI_TYPE_SCANNER 0x06 ///< Scanner device (obsolete) 194 #define EFI_SCSI_TYPE_OPTICAL 0x07 ///< Optical memory device (e.g. some optical disks) 195 #define EFI_SCSI_TYPE_MEDIUMCHANGER 0x08 ///< Medium changer device (e.g. jukeboxes) 196 #define EFI_SCSI_TYPE_COMMUNICATION 0x09 ///< Communications device (obsolete) 197 #define EFI_SCSI_TYPE_ASCIT8_1 0x0A ///< Defined by ASC IT8 (Graphic arts pre-press devices) 198 #define EFI_SCSI_TYPE_ASCIT8_2 0x0B ///< Defined by ASC IT8 (Graphic arts pre-press devices) 199 #define EFI_SCSI_TYPE_RAID 0x0C ///< Storage array controller device (e.g., RAID) 200 #define EFI_SCSI_TYPE_SES 0x0D ///< Enclosure services device 201 #define EFI_SCSI_TYPE_RBC 0x0E ///< Simplified direct-access device (e.g., magnetic disk) 202 #define EFI_SCSI_TYPE_OCRW 0x0F ///< Optical card reader/writer device 203 #define EFI_SCSI_TYPE_BRIDGE 0x10 ///< Bridge Controller Commands 204 #define EFI_SCSI_TYPE_OSD 0x11 ///< Object-based Storage Device 205 #define EFI_SCSI_TYPE_AUTOMATION 0x12 ///< Automation/Drive Interface 206 #define EFI_SCSI_TYPE_SECURITYMANAGER 0x13 ///< Security manager device 207 #define EFI_SCSI_TYPE_RESERVED_LOW 0x14 ///< Reserved (low) 208 #define EFI_SCSI_TYPE_RESERVED_HIGH 0x1D ///< Reserved (high) 209 #define EFI_SCSI_TYPE_WLUN 0x1E ///< Well known logical unit 210 #define EFI_SCSI_TYPE_UNKNOWN 0x1F ///< Unknown or no device type 191 211 192 212 // -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/SerialPortConsoleRedirectionTable.h
r80721 r85718 91 91 #define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_ARM_SBSA_GENERIC_UART 0x0e 92 92 93 /// 94 /// ARM DCC 95 /// 96 #define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_DCC 0x0f 97 98 /// 99 /// BCM2835 UART 100 /// 101 #define EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_INTERFACE_TYPE_BCM2835_UART 0x10 102 93 103 // 94 104 // Interrupt Type -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/SmBios.h
r80721 r85718 1 1 /** @file 2 Industry Standard Definitions of SMBIOS Table Specification v3. 2.0.3 4 Copyright (c) 2006 - 201 8, Intel Corporation. All rights reserved.<BR>2 Industry Standard Definitions of SMBIOS Table Specification v3.3.0. 3 4 Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> 5 5 (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP<BR> 6 (C) Copyright 2015 - 2019 Hewlett Packard Enterprise Development LP<BR> 6 7 SPDX-License-Identifier: BSD-2-Clause-Patent 7 8 … … 47 48 48 49 // 49 // SMBIOS type macros which is according to SMBIOS 2.7specification.50 // SMBIOS type macros which is according to SMBIOS 3.3.0 specification. 50 51 // 51 52 #define SMBIOS_TYPE_BIOS_INFORMATION 0 … … 93 94 #define SMBIOS_TYPE_MANAGEMENT_CONTROLLER_HOST_INTERFACE 42 94 95 #define SMBIOS_TYPE_TPM_DEVICE 43 96 #define SMBIOS_TYPE_PROCESSOR_ADDITIONAL_INFORMATION 44 95 97 96 98 /// … … 728 730 ProcessorFamilyWinChip = 0x0140, 729 731 ProcessorFamilyDSP = 0x015E, 730 ProcessorFamilyVideoProcessor = 0x01F4 732 ProcessorFamilyVideoProcessor = 0x01F4, 733 ProcessorFamilyRiscvRV32 = 0x0200, 734 ProcessorFamilyRiscVRV64 = 0x0201, 735 ProcessorFamilyRiscVRV128 = 0x0202 731 736 } PROCESSOR_FAMILY2_DATA; 732 737 … … 858 863 859 864 typedef struct { 865 UINT32 ProcessorReserved1 :1; 866 UINT32 ProcessorUnknown :1; 867 UINT32 Processor64BitCapble :1; 868 UINT32 ProcessorMultiCore :1; 869 UINT32 ProcessorHardwareThread :1; 870 UINT32 ProcessorExecuteProtection :1; 871 UINT32 ProcessorEnhancedVirtulization :1; 872 UINT32 ProcessorPowerPerformanceCtrl :1; 873 UINT32 Processor128bitCapble :1; 874 UINT32 ProcessorReserved2 :7; 875 } PROCESSOR_CHARACTERISTIC_FLAGS; 876 877 typedef struct { 860 878 PROCESSOR_SIGNATURE Signature; 861 879 PROCESSOR_FEATURE_FLAGS FeatureFlags; … … 1268 1286 SlotTypePciExpressMini52pinWithoutBSKO = 0x22, ///< PCI Express Mini 52-pin (CEM spec. 2.0) without bottom-side keep-outs. 1269 1287 SlotTypePciExpressMini76pin = 0x23, ///< PCI Express Mini 76-pin (CEM spec. 2.0) Corresponds to Display-Mini card. 1288 SlotTypeCXLFlexbus10 = 0x30, 1270 1289 SlotTypePC98C20 = 0xA0, 1271 1290 SlotTypePC98C24 = 0xA1, … … 1290 1309 SlotTypePciExpressGen3X4 = 0xB4, 1291 1310 SlotTypePciExpressGen3X8 = 0xB5, 1292 SlotTypePciExpressGen3X16 = 0xB6 1311 SlotTypePciExpressGen3X16 = 0xB6, 1312 SlotTypePciExpressGen4 = 0xB8, 1313 SlotTypePciExpressGen4X1 = 0xB9, 1314 SlotTypePciExpressGen4X2 = 0xBA, 1315 SlotTypePciExpressGen4X4 = 0xBB, 1316 SlotTypePciExpressGen4X8 = 0xBC, 1317 SlotTypePciExpressGen4X16 = 0xBD 1293 1318 } MISC_SLOT_TYPE; 1294 1319 … … 1589 1614 MemoryArrayLocationPc98C24AddonCard = 0xA1, 1590 1615 MemoryArrayLocationPc98EAddonCard = 0xA2, 1591 MemoryArrayLocationPc98LocalBusAddonCard = 0xA3 1616 MemoryArrayLocationPc98LocalBusAddonCard = 0xA3, 1617 MemoryArrayLocationCXLFlexbus10AddonCard = 0xA4 1592 1618 } MEMORY_ARRAY_LOCATION; 1593 1619 … … 1656 1682 MemoryFormFactorSodimm = 0x0D, 1657 1683 MemoryFormFactorSrimm = 0x0E, 1658 MemoryFormFactorFbDimm = 0x0F 1684 MemoryFormFactorFbDimm = 0x0F, 1685 MemoryFormFactorDie = 0x10 1659 1686 } MEMORY_FORM_FACTOR; 1660 1687 … … 1690 1717 MemoryTypeLpddr3 = 0x1D, 1691 1718 MemoryTypeLpddr4 = 0x1E, 1692 MemoryTypeLogicalNonVolatileDevice = 0x1F 1719 MemoryTypeLogicalNonVolatileDevice = 0x1F, 1720 MemoryTypeHBM = 0x20, 1721 MemoryTypeHBM2 = 0x21 1693 1722 } MEMORY_DEVICE_TYPE; 1694 1723 … … 1725 1754 MemoryTechnologyNvdimmF = 0x05, 1726 1755 MemoryTechnologyNvdimmP = 0x06, 1756 // 1757 // This definition is updated to represent Intel 1758 // Optane DC Presistent Memory in SMBIOS spec 3.3.0 1759 // 1727 1760 MemoryTechnologyIntelPersistentMemory = 0x07 1728 1761 } MEMORY_DEVICE_TECHNOLOGY; … … 1811 1844 UINT64 CacheSize; 1812 1845 UINT64 LogicalSize; 1846 // 1847 // Add for smbios 3.3.0 1848 // 1849 UINT32 ExtendedSpeed; 1850 UINT32 ExtendedConfiguredMemorySpeed; 1813 1851 } SMBIOS_TABLE_TYPE17; 1814 1852 … … 2508 2546 UINT8 InterfaceTypeSpecificData[4]; ///< This field has a minimum of four bytes 2509 2547 } SMBIOS_TABLE_TYPE42; 2548 2549 2550 /// 2551 /// Processor Specific Block - Processor Architecture Type 2552 /// 2553 typedef enum{ 2554 ProcessorSpecificBlockArchTypeReserved = 0x00, 2555 ProcessorSpecificBlockArchTypeIa32 = 0x01, 2556 ProcessorSpecificBlockArchTypeX64 = 0x02, 2557 ProcessorSpecificBlockArchTypeItanium = 0x03, 2558 ProcessorSpecificBlockArchTypeAarch32 = 0x04, 2559 ProcessorSpecificBlockArchTypeAarch64 = 0x05, 2560 ProcessorSpecificBlockArchTypeRiscVRV32 = 0x06, 2561 ProcessorSpecificBlockArchTypeRiscVRV64 = 0x07, 2562 ProcessorSpecificBlockArchTypeRiscVRV128 = 0x08 2563 } PROCESSOR_SPECIFIC_BLOCK_ARCH_TYPE; 2564 2565 /// 2566 /// Processor Specific Block is the standard container of processor-specific data. 2567 /// 2568 typedef struct { 2569 UINT8 Length; 2570 UINT8 ProcessorArchType; 2571 /// 2572 /// Below followed by Processor-specific data 2573 /// 2574 /// 2575 } PROCESSOR_SPECIFIC_BLOCK; 2576 2577 /// 2578 /// Processor Additional Information(Type 44). 2579 /// 2580 /// The information in this structure defines the processor additional information in case 2581 /// SMBIOS type 4 is not sufficient to describe processor characteristics. 2582 /// The SMBIOS type 44 structure has a reference handle field to link back to the related 2583 /// SMBIOS type 4 structure. There may be multiple SMBIOS type 44 structures linked to the 2584 /// same SMBIOS type 4 structure. For example, when cores are not identical in a processor, 2585 /// SMBIOS type 44 structures describe different core-specific information. 2586 /// 2587 /// SMBIOS type 44 defines the standard header for the processor-specific block, while the 2588 /// contents of processor-specific data are maintained by processor 2589 /// architecture workgroups or vendors in separate documents. 2590 /// 2591 typedef struct { 2592 SMBIOS_STRUCTURE Hdr; 2593 SMBIOS_HANDLE RefHandle; ///< This field refer to associated SMBIOS type 4 2594 /// 2595 /// Below followed by Processor-specific block 2596 /// 2597 PROCESSOR_SPECIFIC_BLOCK ProcessorSpecificBlock; 2598 } SMBIOS_TABLE_TYPE44; 2510 2599 2511 2600 /// … … 2587 2676 SMBIOS_TABLE_TYPE42 *Type42; 2588 2677 SMBIOS_TABLE_TYPE43 *Type43; 2678 SMBIOS_TABLE_TYPE44 *Type44; 2589 2679 SMBIOS_TABLE_TYPE126 *Type126; 2590 2680 SMBIOS_TABLE_TYPE127 *Type127; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/SmBus.h
r80721 r85718 1 1 /** @file 2 This file declares the SMBus definitions defined in SmBus Specif ciation V2.02 This file declares the SMBus definitions defined in SmBus Specification V2.0 3 3 and defined in PI1.0 specification volume 5. 4 4 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Tpm12.h
r80721 r85718 598 598 /// 599 599 /// Part 2, section 5.12: TPM_MIGRATIONKEYAUTH 600 /// dec alared after section 10 to catch declaration of TPM_PUBKEY600 /// declared after section 10 to catch declaration of TPM_PUBKEY 601 601 /// 602 602 /// Part 2 section 10.1: TPM_KEY_PARMS -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/Tpm2Acpi.h
r80721 r85718 28 28 //UINT8 PlatformSpecificParameters[]; // size up to 12 29 29 //UINT32 Laml; // Optional 30 //UINT 32Lasa; // Optional30 //UINT64 Lasa; // Optional 31 31 } EFI_TPM2_ACPI_TABLE; 32 32 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
r80721 r85718 1 1 /** @file 2 TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final 3 4 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> 2 TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final and 3 TCG PC Client Platform Firmware Profile Specification, Revision 1.05 4 5 Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> 5 6 SPDX-License-Identifier: BSD-2-Clause-Patent 6 7 … … 22 23 #define EV_SEPARATOR ((TCG_EVENTTYPE) 0x00000004) 23 24 #define EV_ACTION ((TCG_EVENTTYPE) 0x00000005) 25 #define EV_EVENT_TAG ((TCG_EVENTTYPE) 0x00000006) 24 26 #define EV_S_CRTM_CONTENTS ((TCG_EVENTTYPE) 0x00000007) 25 27 #define EV_S_CRTM_VERSION ((TCG_EVENTTYPE) 0x00000008) … … 46 48 #define EV_EFI_PLATFORM_FIRMWARE_BLOB (EV_EFI_EVENT_BASE + 8) 47 49 #define EV_EFI_HANDOFF_TABLES (EV_EFI_EVENT_BASE + 9) 50 #define EV_EFI_PLATFORM_FIRMWARE_BLOB2 (EV_EFI_EVENT_BASE + 0xA) 51 #define EV_EFI_HANDOFF_TABLES2 (EV_EFI_EVENT_BASE + 0xB) 48 52 #define EV_EFI_HCRTM_EVENT (EV_EFI_EVENT_BASE + 0x10) 49 53 #define EV_EFI_VARIABLE_AUTHORITY (EV_EFI_EVENT_BASE + 0xE0) 54 #define EV_EFI_SPDM_FIRMWARE_BLOB (EV_EFI_EVENT_BASE + 0xE1) 55 #define EV_EFI_SPDM_FIRMWARE_CONFIG (EV_EFI_EVENT_BASE + 0xE2) 50 56 51 57 #define EFI_CALLING_EFI_APPLICATION \ … … 79 85 #define OPROM_LEN (sizeof(EV_POSTCODE_INFO_OPROM) - 1) 80 86 87 #define EV_POSTCODE_INFO_EMBEDDED_UEFI_DRIVER "Embedded UEFI Driver" 88 #define EMBEDDED_UEFI_DRIVER_LEN (sizeof(EV_POSTCODE_INFO_EMBEDDED_UEFI_DRIVER) - 1) 89 81 90 #define FIRMWARE_DEBUGGER_EVENT_STRING "UEFI Debug Mode" 82 91 #define FIRMWARE_DEBUGGER_EVENT_STRING_LEN (sizeof(FIRMWARE_DEBUGGER_EVENT_STRING) - 1) … … 125 134 126 135 /// 136 /// UEFI_PLATFORM_FIRMWARE_BLOB 137 /// 138 /// This structure is used in EV_EFI_PLATFORM_FIRMWARE_BLOB 139 /// event to facilitate the measurement of firmware volume. 140 /// 141 typedef struct tdUEFI_PLATFORM_FIRMWARE_BLOB { 142 EFI_PHYSICAL_ADDRESS BlobBase; 143 UINT64 BlobLength; 144 } UEFI_PLATFORM_FIRMWARE_BLOB; 145 146 /// 147 /// UEFI_PLATFORM_FIRMWARE_BLOB2 148 /// 149 /// This structure is used in EV_EFI_PLATFORM_FIRMWARE_BLOB2 150 /// event to facilitate the measurement of firmware volume. 151 /// 152 typedef struct tdUEFI_PLATFORM_FIRMWARE_BLOB2 { 153 UINT8 BlobDescriptionSize; 154 //UINT8 BlobDescription[BlobDescriptionSize]; 155 //EFI_PHYSICAL_ADDRESS BlobBase; 156 //UINT64 BlobLength; 157 } UEFI_PLATFORM_FIRMWARE_BLOB2; 158 159 /// 127 160 /// EFI_IMAGE_LOAD_EVENT 128 161 /// … … 139 172 140 173 /// 174 /// UEFI_IMAGE_LOAD_EVENT 175 /// 176 /// This structure is used in EV_EFI_BOOT_SERVICES_APPLICATION, 177 /// EV_EFI_BOOT_SERVICES_DRIVER and EV_EFI_RUNTIME_SERVICES_DRIVER 178 /// 179 typedef struct tdUEFI_IMAGE_LOAD_EVENT { 180 EFI_PHYSICAL_ADDRESS ImageLocationInMemory; 181 UINT64 ImageLengthInMemory; 182 UINT64 ImageLinkTimeAddress; 183 UINT64 LengthOfDevicePath; 184 EFI_DEVICE_PATH_PROTOCOL DevicePath[1]; 185 } UEFI_IMAGE_LOAD_EVENT; 186 187 /// 141 188 /// EFI_HANDOFF_TABLE_POINTERS 142 189 /// … … 148 195 EFI_CONFIGURATION_TABLE TableEntry[1]; 149 196 } EFI_HANDOFF_TABLE_POINTERS; 197 198 /// 199 /// UEFI_HANDOFF_TABLE_POINTERS 200 /// 201 /// This structure is used in EV_EFI_HANDOFF_TABLES event to facilitate 202 /// the measurement of given configuration tables. 203 /// 204 typedef struct tdUEFI_HANDOFF_TABLE_POINTERS { 205 UINT64 NumberOfTables; 206 EFI_CONFIGURATION_TABLE TableEntry[1]; 207 } UEFI_HANDOFF_TABLE_POINTERS; 208 209 /// 210 /// UEFI_HANDOFF_TABLE_POINTERS2 211 /// 212 /// This structure is used in EV_EFI_HANDOFF_TABLES2 event to facilitate 213 /// the measurement of given configuration tables. 214 /// 215 typedef struct tdUEFI_HANDOFF_TABLE_POINTERS2 { 216 UINT8 TableDescriptionSize; 217 //UINT8 TableDescription[TableDescriptionSize]; 218 //UINT64 NumberOfTables; 219 //EFI_CONFIGURATION_TABLE TableEntry[1]; 220 } UEFI_HANDOFF_TABLE_POINTERS2; 150 221 151 222 /// … … 198 269 } EFI_GPT_DATA; 199 270 271 typedef struct tdUEFI_GPT_DATA { 272 EFI_PARTITION_TABLE_HEADER EfiPartitionHeader; 273 UINT64 NumberOfPartitions; 274 EFI_PARTITION_ENTRY Partitions[1]; 275 } UEFI_GPT_DATA; 276 277 #define TCG_DEVICE_SECURITY_EVENT_DATA_SIGNATURE "SPDM Device Sec" 278 #define TCG_DEVICE_SECURITY_EVENT_DATA_VERSION 0 279 280 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_NULL 0 281 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_PCI 1 282 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_USB 2 283 284 /// 285 /// TCG_DEVICE_SECURITY_EVENT_DATA_HEADER 286 /// This is the header of TCG_DEVICE_SECURITY_EVENT_DATA, which is 287 /// used in EV_EFI_SPDM_FIRMWARE_BLOB and EV_EFI_SPDM_FIRMWARE_CONFIG. 288 /// 289 typedef struct { 290 UINT8 Signature[16]; 291 UINT16 Version; 292 UINT16 Length; 293 UINT32 SpdmHashAlgo; 294 UINT32 DeviceType; 295 //SPDM_MEASUREMENT_BLOCK SpdmMeasurementBlock; 296 } TCG_DEVICE_SECURITY_EVENT_DATA_HEADER; 297 298 #define TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT_VERSION 0 299 300 /// 301 /// TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT 302 /// This is the PCI context data of TCG_DEVICE_SECURITY_EVENT_DATA, which is 303 /// used in EV_EFI_SPDM_FIRMWARE_BLOB and EV_EFI_SPDM_FIRMWARE_CONFIG. 304 /// 305 typedef struct { 306 UINT16 Version; 307 UINT16 Length; 308 UINT16 VendorId; 309 UINT16 DeviceId; 310 UINT8 RevisionID; 311 UINT8 ClassCode[3]; 312 UINT16 SubsystemVendorID; 313 UINT16 SubsystemID; 314 } TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT; 315 316 #define TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT_VERSION 0 317 318 /// 319 /// TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT 320 /// This is the USB context data of TCG_DEVICE_SECURITY_EVENT_DATA, which is 321 /// used in EV_EFI_SPDM_FIRMWARE_BLOB and EV_EFI_SPDM_FIRMWARE_CONFIG. 322 /// 323 typedef struct { 324 UINT16 Version; 325 UINT16 Length; 326 //UINT8 DeviceDescriptor[DescLen]; 327 //UINT8 BodDescriptor[DescLen]; 328 //UINT8 ConfigurationDescriptor[DescLen][NumOfConfiguration]; 329 } TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT; 330 200 331 // 201 332 // Crypto Agile Log Entry Format … … 244 375 #define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MINOR_TPM2 0 245 376 #define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2 0 377 #define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2_REV_105 105 246 378 247 379 typedef struct { … … 300 432 } TCG_EfiSpecIDEventStruct; 301 433 302 434 typedef struct tdTCG_PCClientTaggedEvent { 435 UINT32 taggedEventID; 436 UINT32 taggedEventDataSize; 437 //UINT8 taggedEventData[taggedEventDataSize]; 438 } TCG_PCClientTaggedEvent; 439 440 #define TCG_Sp800_155_PlatformId_Event_SIGNATURE "SP800-155 Event" 441 #define TCG_Sp800_155_PlatformId_Event2_SIGNATURE "SP800-155 Event2" 442 443 typedef struct tdTCG_Sp800_155_PlatformId_Event2 { 444 UINT8 Signature[16]; 445 // 446 // Where Vendor ID is an integer defined 447 // at http://www.iana.org/assignments/enterprisenumbers 448 // 449 UINT32 VendorId; 450 // 451 // 16-byte identifier of a given platform's static configuration of code 452 // 453 EFI_GUID ReferenceManifestGuid; 454 // 455 // Below structure is newly added in TCG_Sp800_155_PlatformId_Event2. 456 // 457 //UINT8 PlatformManufacturerStrSize; 458 //UINT8 PlatformManufacturerStr[PlatformManufacturerStrSize]; 459 //UINT8 PlatformModelSize; 460 //UINT8 PlatformModel[PlatformModelSize]; 461 //UINT8 PlatformVersionSize; 462 //UINT8 PlatformVersion[PlatformVersionSize]; 463 //UINT8 PlatformModelSize; 464 //UINT8 PlatformModel[PlatformModelSize]; 465 //UINT8 FirmwareManufacturerStrSize; 466 //UINT8 FirmwareManufacturerStr[FirmwareManufacturerStrSize]; 467 //UINT32 FirmwareManufacturerId; 468 //UINT8 FirmwareVersion; 469 //UINT8 FirmwareVersion[FirmwareVersionSize]]; 470 } TCG_Sp800_155_PlatformId_Event2; 303 471 304 472 #define TCG_EfiStartupLocalityEvent_SIGNATURE "StartupLocality" … … 306 474 307 475 // 308 // PC Client PTP spec Table 8 Relationship between Locality and Locality Attribute 309 // 310 #define LOCALITY_0_INDICATOR 0x01 311 #define LOCALITY_1_INDICATOR 0x02 312 #define LOCALITY_2_INDICATOR 0x03 313 #define LOCALITY_3_INDICATOR 0x04 314 #define LOCALITY_4_INDICATOR 0x05 315 476 // The Locality Indicator which sent the TPM2_Startup command 477 // 478 #define LOCALITY_0_INDICATOR 0x00 479 #define LOCALITY_3_INDICATOR 0x03 316 480 317 481 // -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/BaseLib.h
r80721 r85718 5 5 Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> 6 6 Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 7 Copyright (c) Microsoft Corporation.<BR> 8 Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 9 7 10 SPDX-License-Identifier: BSD-2-Clause-Patent 8 11 … … 125 128 #endif // defined (MDE_CPU_AARCH64) 126 129 130 #if defined (MDE_CPU_RISCV64) 131 /// 132 /// The RISC-V architecture context buffer used by SetJump() and LongJump(). 133 /// 134 typedef struct { 135 UINT64 RA; 136 UINT64 S0; 137 UINT64 S1; 138 UINT64 S2; 139 UINT64 S3; 140 UINT64 S4; 141 UINT64 S5; 142 UINT64 S6; 143 UINT64 S7; 144 UINT64 S8; 145 UINT64 S9; 146 UINT64 S10; 147 UINT64 S11; 148 UINT64 SP; 149 } BASE_LIBRARY_JUMP_BUFFER; 150 151 #define BASE_LIBRARY_JUMP_BUFFER_ALIGNMENT 8 152 153 #endif // defined (MDE_CPU_RISCV64) 127 154 128 155 // … … 190 217 If Destination is not aligned on a 16-bit boundary, then ASSERT(). 191 218 If Source is not aligned on a 16-bit boundary, then ASSERT(). 192 If an error would be returned, then the function will also ASSERT().193 219 194 220 If an error is returned, then the Destination is unmodified. … … 226 252 If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT(). 227 253 If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT(). 228 If an error would be returned, then the function will also ASSERT().229 254 230 255 If an error is returned, then the Destination is unmodified. … … 264 289 If Destination is not aligned on a 16-bit boundary, then ASSERT(). 265 290 If Source is not aligned on a 16-bit boundary, then ASSERT(). 266 If an error would be returned, then the function will also ASSERT().267 291 268 292 If an error is returned, then the Destination is unmodified. … … 304 328 If Destination is not aligned on a 16-bit boundary, then ASSERT(). 305 329 If Source is not aligned on a 16-bit boundary, then ASSERT(). 306 If an error would be returned, then the function will also ASSERT().307 330 308 331 If an error is returned, then the Destination is unmodified. … … 351 374 valid decimal character or a Null-terminator, whichever one comes first. 352 375 353 If String is NULL, then ASSERT().354 If Data is NULL, then ASSERT().355 376 If String is not aligned in a 16-bit boundary, then ASSERT(). 356 If PcdMaximumUnicodeStringLength is not zero, and String contains more than357 PcdMaximumUnicodeStringLength Unicode characters, not including the358 Null-terminator, then ASSERT().359 377 360 378 If String has no valid decimal digits in the above format, then 0 is stored … … 407 425 valid decimal character or a Null-terminator, whichever one comes first. 408 426 409 If String is NULL, then ASSERT().410 If Data is NULL, then ASSERT().411 427 If String is not aligned in a 16-bit boundary, then ASSERT(). 412 If PcdMaximumUnicodeStringLength is not zero, and String contains more than413 PcdMaximumUnicodeStringLength Unicode characters, not including the414 Null-terminator, then ASSERT().415 428 416 429 If String has no valid decimal digits in the above format, then 0 is stored … … 468 481 whichever one comes first. 469 482 470 If String is NULL, then ASSERT().471 If Data is NULL, then ASSERT().472 483 If String is not aligned in a 16-bit boundary, then ASSERT(). 473 If PcdMaximumUnicodeStringLength is not zero, and String contains more than474 PcdMaximumUnicodeStringLength Unicode characters, not including the475 Null-terminator, then ASSERT().476 484 477 485 If String has no valid hexadecimal digits in the above format, then 0 is … … 529 537 whichever one comes first. 530 538 531 If String is NULL, then ASSERT().532 If Data is NULL, then ASSERT().533 539 If String is not aligned in a 16-bit boundary, then ASSERT(). 534 If PcdMaximumUnicodeStringLength is not zero, and String contains more than535 PcdMaximumUnicodeStringLength Unicode characters, not including the536 Null-terminator, then ASSERT().537 540 538 541 If String has no valid hexadecimal digits in the above format, then 0 is … … 623 626 This function is similar as strcpy_s defined in C11. 624 627 625 If an error would be returned, then the function will also ASSERT().626 627 628 If an error is returned, then the Destination is unmodified. 628 629 … … 656 657 657 658 This function is similar as strncpy_s defined in C11. 658 659 If an error would be returned, then the function will also ASSERT().660 659 661 660 If an error is returned, then the Destination is unmodified. … … 692 691 693 692 This function is similar as strcat_s defined in C11. 694 695 If an error would be returned, then the function will also ASSERT().696 693 697 694 If an error is returned, then the Destination is unmodified. … … 731 728 This function is similar as strncat_s defined in C11. 732 729 733 If an error would be returned, then the function will also ASSERT().734 735 730 If an error is returned, then the Destination is unmodified. 736 731 … … 778 773 valid decimal character or a Null-terminator, whichever one comes first. 779 774 780 If String is NULL, then ASSERT().781 If Data is NULL, then ASSERT().782 If PcdMaximumAsciiStringLength is not zero, and String contains more than783 PcdMaximumAsciiStringLength Ascii characters, not including the784 Null-terminator, then ASSERT().785 786 775 If String has no valid decimal digits in the above format, then 0 is stored 787 776 at the location pointed to by Data. … … 833 822 valid decimal character or a Null-terminator, whichever one comes first. 834 823 835 If String is NULL, then ASSERT().836 If Data is NULL, then ASSERT().837 If PcdMaximumAsciiStringLength is not zero, and String contains more than838 PcdMaximumAsciiStringLength Ascii characters, not including the839 Null-terminator, then ASSERT().840 841 824 If String has no valid decimal digits in the above format, then 0 is stored 842 825 at the location pointed to by Data. … … 892 875 whichever on comes first. 893 876 894 If String is NULL, then ASSERT().895 If Data is NULL, then ASSERT().896 If PcdMaximumAsciiStringLength is not zero, and String contains more than897 PcdMaximumAsciiStringLength Ascii characters, not including the898 Null-terminator, then ASSERT().899 900 877 If String has no valid hexadecimal digits in the above format, then 0 is 901 878 stored at the location pointed to by Data. … … 950 927 character that is a not a valid hexadecimal character or Null-terminator, 951 928 whichever on comes first. 952 953 If String is NULL, then ASSERT().954 If Data is NULL, then ASSERT().955 If PcdMaximumAsciiStringLength is not zero, and String contains more than956 PcdMaximumAsciiStringLength Ascii characters, not including the957 Null-terminator, then ASSERT().958 929 959 930 If String has no valid hexadecimal digits in the above format, then 0 is … … 1507 1478 The "::" can only appear once in the String. 1508 1479 1509 If String is NULL, then ASSERT().1510 1511 If Address is NULL, then ASSERT().1512 1513 1480 If String is not aligned in a 16-bit boundary, then ASSERT(). 1514 1515 If PcdMaximumUnicodeStringLength is not zero, and String contains more than1516 PcdMaximumUnicodeStringLength Unicode characters, not including the1517 Null-terminator, then ASSERT().1518 1481 1519 1482 If EndPointer is not NULL and Address is translated from String, a pointer … … 1568 1531 a valid decimal digit character after P is converted. 1569 1532 1570 If String is NULL, then ASSERT().1571 1572 If Address is NULL, then ASSERT().1573 1574 1533 If String is not aligned in a 16-bit boundary, then ASSERT(). 1575 1576 If PcdMaximumUnicodeStringLength is not zero, and String contains more than1577 PcdMaximumUnicodeStringLength Unicode characters, not including the1578 Null-terminator, then ASSERT().1579 1534 1580 1535 If EndPointer is not NULL and Address is translated from String, a pointer … … 1641 1596 pp Data4[56:63] 1642 1597 1643 If String is NULL, then ASSERT().1644 If Guid is NULL, then ASSERT().1645 1598 If String is not aligned in a 16-bit boundary, then ASSERT(). 1646 1599 … … 1676 1629 1677 1630 If String is not aligned in a 16-bit boundary, then ASSERT(). 1678 1679 If String is NULL, then ASSERT().1680 1681 If Buffer is NULL, then ASSERT().1682 1683 If Length is not multiple of 2, then ASSERT().1684 1685 If PcdMaximumUnicodeStringLength is not zero and Length is greater than1686 PcdMaximumUnicodeStringLength, then ASSERT().1687 1688 If MaxBufferSize is less than (Length / 2), then ASSERT().1689 1631 1690 1632 @param String Pointer to a Null-terminated Unicode string. … … 1778 1720 1779 1721 If Source is not aligned on a 16-bit boundary, then ASSERT(). 1780 If an error would be returned, then the function will also ASSERT().1781 1722 1782 1723 If an error is returned, then the Destination is unmodified. … … 1825 1766 bits, then ASSERT(). 1826 1767 If Source is not aligned on a 16-bit boundary, then ASSERT(). 1827 If an error would be returned, then the function will also ASSERT().1828 1768 1829 1769 If an error is returned, then the Destination is unmodified. … … 2389 2329 The "::" can only appear once in the String. 2390 2330 2391 If String is NULL, then ASSERT().2392 2393 If Address is NULL, then ASSERT().2394 2395 2331 If EndPointer is not NULL and Address is translated from String, a pointer 2396 2332 to the character that stopped the scan is stored at the location pointed to … … 2443 2379 When /P is in the String, the function stops at the first character that is not 2444 2380 a valid decimal digit character after P is converted. 2445 2446 If String is NULL, then ASSERT().2447 2448 If Address is NULL, then ASSERT().2449 2381 2450 2382 If EndPointer is not NULL and Address is translated from String, a pointer … … 2509 2441 pp Data4[56:63] 2510 2442 2511 If String is NULL, then ASSERT().2512 If Guid is NULL, then ASSERT().2513 2514 2443 @param String Pointer to a Null-terminated ASCII string. 2515 2444 @param Guid Pointer to the converted GUID. … … 2541 2470 decoding stops after Length of characters and outputs Buffer containing 2542 2471 (Length / 2) bytes. 2543 2544 If String is NULL, then ASSERT().2545 2546 If Buffer is NULL, then ASSERT().2547 2548 If Length is not multiple of 2, then ASSERT().2549 2550 If PcdMaximumAsciiStringLength is not zero and Length is greater than2551 PcdMaximumAsciiStringLength, then ASSERT().2552 2553 If MaxBufferSize is less than (Length / 2), then ASSERT().2554 2472 2555 2473 @param String Pointer to a Null-terminated ASCII string. … … 2633 2551 2634 2552 If Destination is not aligned on a 16-bit boundary, then ASSERT(). 2635 If an error would be returned, then the function will also ASSERT().2636 2553 2637 2554 If an error is returned, then the Destination is unmodified. … … 2679 2596 2680 2597 If Destination is not aligned on a 16-bit boundary, then ASSERT(). 2681 If an error would be returned, then the function will also ASSERT().2682 2598 2683 2599 If an error is returned, then Destination and DestinationLength are … … 2973 2889 #define INITIALIZE_LIST_HEAD_VARIABLE(ListHead) {&(ListHead), &(ListHead)} 2974 2890 2891 /** 2892 Iterates over each node in a doubly linked list using each node's forward link. 2893 2894 @param Entry A pointer to a list node used as a loop cursor during iteration 2895 @param ListHead The head node of the doubly linked list 2896 2897 **/ 2898 #define BASE_LIST_FOR_EACH(Entry, ListHead) \ 2899 for(Entry = (ListHead)->ForwardLink; Entry != (ListHead); Entry = Entry->ForwardLink) 2900 2901 /** 2902 Iterates over each node in a doubly linked list using each node's forward link 2903 with safety against node removal. 2904 2905 This macro uses NextEntry to temporarily store the next list node so the node 2906 pointed to by Entry may be deleted in the current loop iteration step and 2907 iteration can continue from the node pointed to by NextEntry. 2908 2909 @param Entry A pointer to a list node used as a loop cursor during iteration 2910 @param NextEntry A pointer to a list node used to temporarily store the next node 2911 @param ListHead The head node of the doubly linked list 2912 2913 **/ 2914 #define BASE_LIST_FOR_EACH_SAFE(Entry, NextEntry, ListHead) \ 2915 for(Entry = (ListHead)->ForwardLink, NextEntry = Entry->ForwardLink;\ 2916 Entry != (ListHead); Entry = NextEntry, NextEntry = Entry->ForwardLink) 2975 2917 2976 2918 /** … … 5388 5330 ///< Unmasked SIMD Floating Point 5389 5331 ///< Exceptions. 5390 UINT32 Reserved_2:1; ///< Reserved.5332 UINT32 UMIP:1; ///< User-Mode Instruction Prevention. 5391 5333 UINT32 LA57:1; ///< Linear Address 57bit. 5392 UINT32 VMXE:1; ///< VMX Enable 5393 UINT32 Reserved_1:18; ///< Reserved. 5334 UINT32 VMXE:1; ///< VMX Enable. 5335 UINT32 SMXE:1; ///< SMX Enable. 5336 UINT32 Reserved_3:1; ///< Reserved. 5337 UINT32 FSGSBASE:1; ///< FSGSBASE Enable. 5338 UINT32 PCIDE:1; ///< PCID Enable. 5339 UINT32 OSXSAVE:1; ///< XSAVE and Processor Extended States Enable. 5340 UINT32 Reserved_4:1; ///< Reserved. 5341 UINT32 SMEP:1; ///< SMEP Enable. 5342 UINT32 SMAP:1; ///< SMAP Enable. 5343 UINT32 PKE:1; ///< Protection-Key Enable. 5344 UINT32 Reserved_5:9; ///< Reserved. 5394 5345 } Bits; 5395 5346 UINTN UintN; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/DebugLib.h
r80721 r85718 9 9 defined, then debug and assert related macros wrapped by it are the NULL implementations. 10 10 11 Copyright (c) 2006 - 20 19, Intel Corporation. All rights reserved.<BR>11 Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.<BR> 12 12 SPDX-License-Identifier: BSD-2-Clause-Patent 13 13 … … 290 290 291 291 **/ 292 #if defined(__clang__) && defined(__FILE_NAME__) 293 #define _ASSERT(Expression) DebugAssert (__FILE_NAME__, __LINE__, #Expression) 294 #else 292 295 #define _ASSERT(Expression) DebugAssert (__FILE__, __LINE__, #Expression) 296 #endif 293 297 294 298 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/DxeServicesLib.h
r80721 r85718 172 172 173 173 /** 174 Searches the FFS file the thecurrently executing module was loaded from and returns the first matching FFS section.174 Searches the FFS file the currently executing module was loaded from and returns the first matching FFS section. 175 175 176 176 This function searches the FFS file that the currently executing module was loaded from for a FFS sections of type SectionType. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/PciCf8Lib.h
r80721 r85718 1028 1028 configuration registers from a single PCI function to be read. Size is 1029 1029 returned. When possible 32-bit PCI configuration read cycles are used to read 1030 from StartAd ress to StartAddress + Size. Due to alignment restrictions, 8-bit1030 from StartAddress to StartAddress + Size. Due to alignment restrictions, 8-bit 1031 1031 and 16-bit PCI configuration read cycles may be used at the beginning and the 1032 1032 end of the range. … … 1061 1061 configuration registers from a single PCI function to be written. Size is 1062 1062 returned. When possible 32-bit PCI configuration write cycles are used to 1063 write from StartAd ress to StartAddress + Size. Due to alignment restrictions,1063 write from StartAddress to StartAddress + Size. Due to alignment restrictions, 1064 1064 8-bit and 16-bit PCI configuration write cycles may be used at the beginning 1065 1065 and the end of the range. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/PciExpressLib.h
r80721 r85718 998 998 configuration registers from a single PCI function to be read. Size is 999 999 returned. When possible 32-bit PCI configuration read cycles are used to read 1000 from StartAd ress to StartAddress + Size. Due to alignment restrictions, 8-bit1000 from StartAddress to StartAddress + Size. Due to alignment restrictions, 8-bit 1001 1001 and 16-bit PCI configuration read cycles may be used at the beginning and the 1002 1002 end of the range. … … 1030 1030 configuration registers from a single PCI function to be written. Size is 1031 1031 returned. When possible 32-bit PCI configuration write cycles are used to 1032 write from StartAd ress to StartAddress + Size. Due to alignment restrictions,1032 write from StartAddress to StartAddress + Size. Due to alignment restrictions, 1033 1033 8-bit and 16-bit PCI configuration write cycles may be used at the beginning 1034 1034 and the end of the range. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/PciLib.h
r80721 r85718 998 998 configuration registers from a single PCI function to be read. Size is 999 999 returned. When possible 32-bit PCI configuration read cycles are used to read 1000 from StartAd ress to StartAddress + Size. Due to alignment restrictions, 8-bit1000 from StartAddress to StartAddress + Size. Due to alignment restrictions, 8-bit 1001 1001 and 16-bit PCI configuration read cycles may be used at the beginning and the 1002 1002 end of the range. … … 1030 1030 configuration registers from a single PCI function to be written. Size is 1031 1031 returned. When possible 32-bit PCI configuration write cycles are used to 1032 write from StartAd ress to StartAddress + Size. Due to alignment restrictions,1032 write from StartAddress to StartAddress + Size. Due to alignment restrictions, 1033 1033 8-bit and 16-bit PCI configuration write cycles may be used at the beginning 1034 1034 and the end of the range. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/PciSegmentLib.h
r80721 r85718 985 985 configuration registers from a single PCI function to be read. Size is 986 986 returned. When possible 32-bit PCI configuration read cycles are used to read 987 from StartAd ress to StartAddress + Size. Due to alignment restrictions, 8-bit987 from StartAddress to StartAddress + Size. Due to alignment restrictions, 8-bit 988 988 and 16-bit PCI configuration read cycles may be used at the beginning and the 989 989 end of the range. … … 1017 1017 configuration registers from a single PCI function to be written. Size is 1018 1018 returned. When possible 32-bit PCI configuration write cycles are used to 1019 write from StartAd ress to StartAddress + Size. Due to alignment restrictions,1019 write from StartAddress to StartAddress + Size. Due to alignment restrictions, 1020 1020 8-bit and 16-bit PCI configuration write cycles may be used at the beginning 1021 1021 and the end of the range. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/SmmLib.h
r80721 r85718 46 46 47 47 @retval TRUE A software SMI triggered at boot time happened. 48 @retval F LASE No software SMI happened, or the software SMI was triggered at run time.48 @retval FALSE No software SMI happened, or the software SMI was triggered at run time. 49 49 50 50 **/ … … 63 63 64 64 @retval TRUE A software SMI triggered at run time happened. 65 @retval F LASE No software SMI happened or the software SMI was triggered at boot time.65 @retval FALSE No software SMI happened or the software SMI was triggered at boot time. 66 66 67 67 **/ -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/SmmMemLib.h
r80721 r85718 68 68 @param Length The number of bytes to copy from SourceBuffer to DestinationBuffer. 69 69 70 @retval EFI_SECURITY_VIOLATION The Des inationBuffer is invalid per processor architecture or overlap with SMRAM.70 @retval EFI_SECURITY_VIOLATION The DestinationBuffer is invalid per processor architecture or overlap with SMRAM. 71 71 @retval EFI_SUCCESS Memory is copied. 72 72 … … 93 93 @param Length The number of bytes to copy from SourceBuffer to DestinationBuffer. 94 94 95 @retval EFI_SECURITY_VIOLATION The Des inationBuffer is invalid per processor architecture or overlap with SMRAM.95 @retval EFI_SECURITY_VIOLATION The DestinationBuffer is invalid per processor architecture or overlap with SMRAM. 96 96 @retval EFI_SECURITY_VIOLATION The SourceBuffer is invalid per processor architecture or overlap with SMRAM. 97 97 @retval EFI_SUCCESS Memory is copied. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/SmmPeriodicSmiLib.h
r80721 r85718 65 65 periodic SMI for the currently executing handler is triggered, the periodic 66 66 SMI handler will be resumed and this function will return. Use of this 67 function requires a sep erate stack for the periodic SMI handler. A non zero67 function requires a separate stack for the periodic SMI handler. A non zero 68 68 stack size must be specified in PeriodicSmiEnable() for this function to be 69 69 used. … … 114 114 @param[in] Context Optional content to pass into DispatchFunction. 115 115 @param[in] TickPeriod The requested tick period in 100ns units that 116 control should be giv ien to the periodic SMI116 control should be given to the periodic SMI 117 117 handler. Must be one of the supported values 118 118 returned by PeriodicSmiSupportedPickPeriod(). … … 138 138 periodic SMI handler. 139 139 @retval EFI_OUT_OF_RESOURCES There are not enough resources to allocate the 140 stack spe ficied by StackSize.140 stack specified by StackSize. 141 141 @retval EFI_SUCCESS The periodic SMI handler was enabled. 142 142 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/UefiLib.h
r80721 r85718 460 460 IN CONST EFI_HANDLE ChildHandle, 461 461 IN CONST EFI_GUID *ProtocolGuid 462 ); 463 464 /** 465 This function checks the supported languages list for a target language, 466 This only supports RFC 4646 Languages. 467 468 @param SupportedLanguages The supported languages 469 @param TargetLanguage The target language 470 471 @retval Returns EFI_SUCCESS if the language is supported, 472 EFI_UNSUPPORTED otherwise 473 474 **/ 475 EFI_STATUS 476 EFIAPI 477 IsLanguageSupported ( 478 IN CONST CHAR8 *SupportedLanguages, 479 IN CONST CHAR8 *TargetLanguage 462 480 ); 463 481 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/UefiScsiLib.h
r80721 r85718 6 6 This library class depends on SCSI I/O Protocol defined in UEFI Specification and SCSI-2 industry standard. 7 7 8 Copyright (c) 2006 - 201 8, Intel Corporation. All rights reserved.<BR>8 Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> 9 9 SPDX-License-Identifier: BSD-2-Clause-Patent 10 10 … … 815 815 816 816 /** 817 Execute Security Protocol In SCSI command on a specific SCSI target. 818 819 Executes the SCSI Security Protocol In command on the SCSI target specified by ScsiIo. 820 If Timeout is zero, then this function waits indefinitely for the command to complete. 821 If Timeout is greater than zero, then the command is executed and will timeout after 822 Timeout 100 ns units. 823 If ScsiIo is NULL, then ASSERT(). 824 If SenseDataLength is NULL, then ASSERT(). 825 If HostAdapterStatus is NULL, then ASSERT(). 826 If TargetStatus is NULL, then ASSERT(). 827 If TransferLength is NULL, then ASSERT(). 828 829 If SenseDataLength is non-zero and SenseData is not NULL, SenseData must meet buffer 830 alignment requirement defined in EFI_SCSI_IO_PROTOCOL. Otherwise EFI_INVALID_PARAMETER 831 gets returned. 832 833 If DataLength is non-zero and DataBuffer is not NULL, DataBuffer must meet buffer 834 alignment requirement defined in EFI_SCSI_IO_PROTOCOL. Otherwise EFI_INVALID_PARAMETER 835 gets returned. 836 837 @param[in] ScsiIo SCSI IO Protocol to use. 838 @param[in] Timeout The length of timeout period. 839 @param[in, out] SenseData A pointer to output sense data. 840 @param[in, out] SenseDataLength The length of output sense data. 841 @param[out] HostAdapterStatus The status of Host Adapter. 842 @param[out] TargetStatus The status of the target. 843 @param[in] SecurityProtocol The Security Protocol to use. 844 @param[in] SecurityProtocolSpecific The Security Protocol Specific data. 845 @param[in] Inc512 If TRUE, 512 increment (INC_512) bit will be set for the 846 SECURITY PROTOCOL IN command. 847 @param[in] DataLength The size in bytes of the data buffer. 848 @param[in, out] DataBuffer A pointer to a data buffer. 849 @param[out] TransferLength A pointer to a buffer to store the size in 850 bytes of the data written to the data buffer. 851 852 @retval EFI_SUCCESS Command is executed successfully. 853 @retval EFI_BAD_BUFFER_SIZE The SCSI Request Packet was executed, but the entire DataBuffer could 854 not be transferred. The actual number of bytes transferred is returned in TransferLength. 855 @retval EFI_NOT_READY The SCSI Request Packet could not be sent because there are too many 856 SCSI Command Packets already queued. 857 @retval EFI_DEVICE_ERROR A device error occurred while attempting to send SCSI Request Packet. 858 @retval EFI_UNSUPPORTED The command described by the SCSI Request Packet is not supported by 859 the SCSI initiator(i.e., SCSI Host Controller) 860 @retval EFI_TIMEOUT A timeout occurred while waiting for the SCSI Request Packet to execute. 861 @retval EFI_INVALID_PARAMETER The contents of the SCSI Request Packet are invalid. 862 863 **/ 864 EFI_STATUS 865 EFIAPI 866 ScsiSecurityProtocolInCommand ( 867 IN EFI_SCSI_IO_PROTOCOL *ScsiIo, 868 IN UINT64 Timeout, 869 IN OUT VOID *SenseData, OPTIONAL 870 IN OUT UINT8 *SenseDataLength, 871 OUT UINT8 *HostAdapterStatus, 872 OUT UINT8 *TargetStatus, 873 IN UINT8 SecurityProtocol, 874 IN UINT16 SecurityProtocolSpecific, 875 IN BOOLEAN Inc512, 876 IN UINTN DataLength, 877 IN OUT VOID *DataBuffer, OPTIONAL 878 OUT UINTN *TransferLength 879 ); 880 881 882 /** 883 Execute Security Protocol Out SCSI command on a specific SCSI target. 884 885 Executes the SCSI Security Protocol Out command on the SCSI target specified by ScsiIo. 886 If Timeout is zero, then this function waits indefinitely for the command to complete. 887 If Timeout is greater than zero, then the command is executed and will timeout after 888 Timeout 100 ns units. 889 If ScsiIo is NULL, then ASSERT(). 890 If SenseDataLength is NULL, then ASSERT(). 891 If HostAdapterStatus is NULL, then ASSERT(). 892 If TargetStatus is NULL, then ASSERT(). 893 894 If SenseDataLength is non-zero and SenseData is not NULL, SenseData must meet buffer 895 alignment requirement defined in EFI_SCSI_IO_PROTOCOL. Otherwise EFI_INVALID_PARAMETER 896 gets returned. 897 898 If DataLength is non-zero and DataBuffer is not NULL, DataBuffer must meet buffer 899 alignment requirement defined in EFI_SCSI_IO_PROTOCOL. Otherwise EFI_INVALID_PARAMETER 900 gets returned. 901 902 @param[in] ScsiIo SCSI IO Protocol to use. 903 @param[in] Timeout The length of timeout period. 904 @param[in, out] SenseData A pointer to output sense data. 905 @param[in, out] SenseDataLength The length of output sense data. 906 @param[out] HostAdapterStatus The status of Host Adapter. 907 @param[out] TargetStatus The status of the target. 908 @param[in] SecurityProtocol The Security Protocol to use. 909 @param[in] SecurityProtocolSpecific The Security Protocol Specific data. 910 @param[in] Inc512 If TRUE, 512 increment (INC_512) bit will be set for the 911 SECURITY PROTOCOL OUT command. 912 @param[in] DataLength The size in bytes of the transfer data. 913 @param[in, out] DataBuffer A pointer to a data buffer. 914 915 @retval EFI_SUCCESS Command is executed successfully. 916 @retval EFI_BAD_BUFFER_SIZE The SCSI Request Packet was executed, but the entire DataBuffer could 917 not be transferred. The actual number of bytes transferred is returned in DataLength. 918 @retval EFI_NOT_READY The SCSI Request Packet could not be sent because there are too many 919 SCSI Command Packets already queued. 920 @retval EFI_DEVICE_ERROR A device error occurred while attempting to send SCSI Request Packet. 921 @retval EFI_UNSUPPORTED The command described by the SCSI Request Packet is not supported by 922 the SCSI initiator(i.e., SCSI Host Controller) 923 @retval EFI_TIMEOUT A timeout occurred while waiting for the SCSI Request Packet to execute. 924 @retval EFI_INVALID_PARAMETER The contents of the SCSI Request Packet are invalid. 925 926 **/ 927 EFI_STATUS 928 EFIAPI 929 ScsiSecurityProtocolOutCommand ( 930 IN EFI_SCSI_IO_PROTOCOL *ScsiIo, 931 IN UINT64 Timeout, 932 IN OUT VOID *SenseData, OPTIONAL 933 IN OUT UINT8 *SenseDataLength, 934 OUT UINT8 *HostAdapterStatus, 935 OUT UINT8 *TargetStatus, 936 IN UINT8 SecurityProtocol, 937 IN UINT16 SecurityProtocolSpecific, 938 IN BOOLEAN Inc512, 939 IN UINTN DataLength, 940 IN OUT VOID *DataBuffer OPTIONAL 941 ); 942 943 944 /** 817 945 Execute blocking/non-blocking Read(10) SCSI command on a specific SCSI 818 946 target. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Pi/PiDxeCis.h
r80721 r85718 6 6 7 7 @par Revision Reference: 8 PI Version 1. 68 PI Version 1.7 9 9 10 10 **/ … … 691 691 #define DXE_SERVICES_SIGNATURE 0x565245535f455844ULL 692 692 #define DXE_SPECIFICATION_MAJOR_REVISION 1 693 #define DXE_SPECIFICATION_MINOR_REVISION 60693 #define DXE_SPECIFICATION_MINOR_REVISION 70 694 694 #define DXE_SERVICES_REVISION ((DXE_SPECIFICATION_MAJOR_REVISION<<16) | (DXE_SPECIFICATION_MINOR_REVISION)) 695 695 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Pi/PiPeiCis.h
r80721 r85718 6 6 7 7 @par Revision Reference: 8 PI Version 1. 6.8 PI Version 1.7. 9 9 10 10 **/ … … 851 851 // 852 852 #define PEI_SPECIFICATION_MAJOR_REVISION 1 853 #define PEI_SPECIFICATION_MINOR_REVISION 60853 #define PEI_SPECIFICATION_MINOR_REVISION 70 854 854 /// 855 855 /// Specification inconsistency here: -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Pi/PiStatusCode.h
r80721 r85718 341 341 #define EFI_CHIPSET_EC_DXE_NB_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000001) 342 342 #define EFI_CHIPSET_EC_DXE_SB_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000002) 343 #define EFI_CHIPSET_EC_INTRUDER_DETECT (EFI_SUBCLASS_SPECIFIC | 0x00000003) 343 344 ///@} 344 345 … … 362 363 #define EFI_PERIPHERAL_LCD_DEVICE (EFI_PERIPHERAL | 0x000B0000) 363 364 #define EFI_PERIPHERAL_NETWORK (EFI_PERIPHERAL | 0x000C0000) 365 #define EFI_PERIPHERAL_DOCKING (EFI_PERIPHERAL | 0x000D0000) 364 366 ///@} 365 367 … … 376 378 #define EFI_P_PC_RECONFIG 0x00000005 377 379 #define EFI_P_PC_DETECTED 0x00000006 380 #define EFI_P_PC_REMOVED 0x00000007 378 381 ///@} 379 382 … … 465 468 /// 466 469 ///@{ 467 #define EFI_P_KEYBOARD_EC_LOCKED (EFI_SUBCLASS_SPECIFIC | 0x00000000) 468 #define EFI_P_KEYBOARD_EC_STUCK_KEY (EFI_SUBCLASS_SPECIFIC | 0x00000001) 470 #define EFI_P_KEYBOARD_EC_LOCKED (EFI_SUBCLASS_SPECIFIC | 0x00000000) 471 #define EFI_P_KEYBOARD_EC_STUCK_KEY (EFI_SUBCLASS_SPECIFIC | 0x00000001) 472 #define EFI_P_KEYBOARD_EC_BUFFER_FULL (EFI_SUBCLASS_SPECIFIC | 0x00000002) 469 473 ///@} 470 474 … … 763 767 #define EFI_SW_PEI_PC_S3_BOOT_SCRIPT (EFI_SUBCLASS_SPECIFIC | 0x00000005) 764 768 #define EFI_SW_PEI_PC_OS_WAKE (EFI_SUBCLASS_SPECIFIC | 0x00000006) 769 #define EFI_SW_PEI_PC_S3_STARTED (EFI_SUBCLASS_SPECIFIC | 0x00000007) 765 770 ///@} 766 771 … … 785 790 #define EFI_SW_DXE_BS_PC_EXIT_BOOT_SERVICES_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000003) 786 791 #define EFI_SW_DXE_BS_PC_VIRTUAL_ADDRESS_CHANGE_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000004) 792 #define EFI_SW_DXE_BS_PC_VARIABLE_SERVICES_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000005) 793 #define EFI_SW_DXE_BS_PC_VARIABLE_RECLAIM (EFI_SUBCLASS_SPECIFIC | 0x00000006) 787 794 #define EFI_SW_DXE_BS_PC_ATTEMPT_BOOT_ORDER_EVENT (EFI_SUBCLASS_SPECIFIC | 0x00000007) 795 #define EFI_SW_DXE_BS_PC_CONFIG_RESET (EFI_SUBCLASS_SPECIFIC | 0x00000008) 796 #define EFI_SW_DXE_BS_PC_CSM_INIT (EFI_SUBCLASS_SPECIFIC | 0x00000009) 788 797 ///@} 789 798 … … 975 984 #define EFI_SW_EC_PWD_CLEARED 0x00000010 976 985 #define EFI_SW_EC_EVENT_LOG_FULL 0x00000011 986 #define EFI_SW_EC_WRITE_PROTECTED 0x00000012 987 #define EFI_SW_EC_FV_CORRUPTED 0x00000013 977 988 ///@} 978 989 … … 1006 1017 #define EFI_SW_PEI_EC_RECOVERY_PPI_NOT_FOUND (EFI_SUBCLASS_SPECIFIC | 0x00000006) 1007 1018 #define EFI_SW_PEI_EC_RECOVERY_FAILED (EFI_SUBCLASS_SPECIFIC | 0x00000007) 1019 #define EFI_SW_PEI_EC_S3_RESUME_ERROR (EFI_SUBCLASS_SPECIFIC | 0x00000008) 1020 #define EFI_SW_PEI_EC_INVALID_CAPSULE (EFI_SUBCLASS_SPECIFIC | 0x00000009) 1008 1021 ///@} 1009 1022 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ppi/BlockIo.h
r80721 r85718 16 16 @par Revision Reference: 17 17 This PPI is defined in UEFI Platform Initialization Specification 1.2 Volume 1: 18 Pre-EFI Init alization Core Interface.18 Pre-EFI Initialization Core Interface. 19 19 20 20 **/ … … 59 59 /// PEI_BLOCK_IO_MEDIA has been changed to EFI_PEI_BLOCK_IO_MEDIA. 60 60 /// Inconsistency exists in UEFI Platform Initialization Specification 1.2 61 /// Volume 1: Pre-EFI Init alization Core Interface, where all referrences to61 /// Volume 1: Pre-EFI Initialization Core Interface, where all references to 62 62 /// this structure name are with the "EFI_" prefix, except for the definition 63 63 /// which is without "EFI_". So the name of PEI_BLOCK_IO_MEDIA is taken as the -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ppi/BlockIo2.h
r80721 r85718 8 8 @par Revision Reference: 9 9 This PPI is defined in UEFI Platform Initialization Specification 1.4 Volume 1: 10 Pre-EFI Init alization Core Interface.10 Pre-EFI Initialization Core Interface. 11 11 12 12 **/ -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ppi/Capsule.h
r80721 r85718 46 46 coalesced capsule. 47 47 48 @retval EFI_NOT_FOUND If: boot mode could not be determined, or the48 @retval EFI_NOT_FOUND If: boot mode could not be determined, or the 49 49 boot mode is not flash-update, or the capsule descriptors were not found. 50 50 @retval EFI_BUFFER_TOO_SMALL The capsule could not be coalesced in the provided memory region. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ppi/Decompress.h
r80721 r85718 1 1 /** @file 2 Provides decompression services to the PEI Foundat oin.2 Provides decompression services to the PEI Foundation. 3 3 4 4 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ppi/DeviceRecoveryModule.h
r80721 r85718 16 16 @par Revision Reference: 17 17 This PPI is defined in UEFI Platform Initialization Specification 1.2 Volume 1: 18 Pre-EFI Init alization Core Interface18 Pre-EFI Initialization Core Interface 19 19 20 20 **/ -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ppi/IsaHc.h
r80721 r85718 29 29 It may be possible that a single hardware aperture may be used for more than 30 30 one device. This function tracks the number of times that each aperture is 31 referenced, and does anot close the hardware aperture (via CloseIoAperture())31 referenced, and does not close the hardware aperture (via CloseIoAperture()) 32 32 until there are no more references to it. 33 33 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ppi/MpServices.h
r80721 r85718 76 76 77 77 /** 78 Activate all of the application pro essors.78 Activate all of the application processors. 79 79 80 80 @param[in] PeiServices An indirect pointer to the PEI Services Table -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ppi/Pcd.h
r80721 r85718 138 138 @param[in] TokenNumber The PCD token number. 139 139 140 @return The pointer to the buffer to be retri ved.140 @return The pointer to the buffer to be retrieved. 141 141 142 142 **/ … … 292 292 @param[in] TokenNumber The PCD token number. 293 293 294 @return The pointer to the buffer to be retri ved.294 @return The pointer to the buffer to be retrieved. 295 295 296 296 **/ -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ppi/RecoveryModule.h
r80721 r85718 37 37 @par Revision Reference: 38 38 This PPI is defined in UEFI Platform Initialization Specification 1.2 Errata B Volume 1: 39 Pre-EFI Init alization Core Interface39 Pre-EFI Initialization Core Interface 40 40 41 41 **/ -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ppi/TemporaryRamDone.h
r80721 r85718 19 19 /** 20 20 TemporaryRamDone() disables the use of Temporary RAM. If present, this service is invoked 21 by the PEI Foundation after the EFI_PEI_PERMAN ANT_MEMORY_INSTALLED_PPI is installed.21 by the PEI Foundation after the EFI_PEI_PERMANENT_MEMORY_INSTALLED_PPI is installed. 22 22 23 23 @retval EFI_SUCCESS Use of Temporary RAM was disabled. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Ppi/VectorHandoffInfo.h
r80721 r85718 44 44 UINT32 VectorNumber; 45 45 // 46 // A bitmask that describes the attributes of the interrupt or exception vector.46 // A bitmask that describes the attributes of the interrupt or exception vector. 47 47 // 48 48 UINT32 Attribute; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/AbsolutePointer.h
r80721 r85718 170 170 (EFIAPI *EFI_ABSOLUTE_POINTER_GET_STATE)( 171 171 IN EFI_ABSOLUTE_POINTER_PROTOCOL *This, 172 IN OUT EFI_ABSOLUTE_POINTER_STATE*State172 OUT EFI_ABSOLUTE_POINTER_STATE *State 173 173 ); 174 174 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/AtaPassThru.h
r80721 r85718 316 316 device path node is to be allocated and built. If there is no 317 317 port multiplier, then specify 0xFFFF. 318 @param[ in,out]DevicePath A pointer to a single device path node that describes the ATA318 @param[out] DevicePath A pointer to a single device path node that describes the ATA 319 319 device specified by Port and PortMultiplierPort. This function 320 320 is responsible for allocating the buffer DevicePath with the … … 335 335 IN UINT16 Port, 336 336 IN UINT16 PortMultiplierPort, 337 IN OUTEFI_DEVICE_PATH_PROTOCOL **DevicePath337 OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath 338 338 ); 339 339 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/BluetoothLeConfig.h
r80721 r85718 3 3 This protocol abstracts user interface configuration for BluetoothLe device. 4 4 5 Copyright (c) 2017 , Intel Corporation. All rights reserved.<BR>5 Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.<BR> 6 6 SPDX-License-Identifier: BSD-2-Clause-Patent 7 7 … … 452 452 EfiBluetoothSmpLocalSignCounter, 453 453 EfiBluetoothSmpLocalDIV, 454 EfiBluetoothSmpPeerAddressList, 455 EfiBluetoothSmpMax, 454 456 } EFI_BLUETOOTH_LE_SMP_DATA_TYPE; 455 457 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/DebugSupport.h
r80721 r85718 8 8 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> 9 9 Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR> 10 Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 10 11 11 12 SPDX-License-Identifier: BSD-2-Clause-Patent … … 604 605 } EFI_SYSTEM_CONTEXT_AARCH64; 605 606 607 /// 608 /// RISC-V processor exception types. 609 /// 610 #define EXCEPT_RISCV_INST_MISALIGNED 0 611 #define EXCEPT_RISCV_INST_ACCESS_FAULT 1 612 #define EXCEPT_RISCV_ILLEGAL_INST 2 613 #define EXCEPT_RISCV_BREAKPOINT 3 614 #define EXCEPT_RISCV_LOAD_ADDRESS_MISALIGNED 4 615 #define EXCEPT_RISCV_LOAD_ACCESS_FAULT 5 616 #define EXCEPT_RISCV_STORE_AMO_ADDRESS_MISALIGNED 6 617 #define EXCEPT_RISCV_STORE_AMO_ACCESS_FAULT 7 618 #define EXCEPT_RISCV_ENV_CALL_FROM_UMODE 8 619 #define EXCEPT_RISCV_ENV_CALL_FROM_SMODE 9 620 #define EXCEPT_RISCV_ENV_CALL_FROM_HMODE 10 621 #define EXCEPT_RISCV_ENV_CALL_FROM_MMODE 11 622 623 #define EXCEPT_RISCV_SOFTWARE_INT 0x0 624 #define EXCEPT_RISCV_TIMER_INT 0x1 625 626 typedef struct { 627 UINT64 X0; 628 UINT64 X1; 629 UINT64 X2; 630 UINT64 X3; 631 UINT64 X4; 632 UINT64 X5; 633 UINT64 X6; 634 UINT64 X7; 635 UINT64 X8; 636 UINT64 X9; 637 UINT64 X10; 638 UINT64 X11; 639 UINT64 X12; 640 UINT64 X13; 641 UINT64 X14; 642 UINT64 X15; 643 UINT64 X16; 644 UINT64 X17; 645 UINT64 X18; 646 UINT64 X19; 647 UINT64 X20; 648 UINT64 X21; 649 UINT64 X22; 650 UINT64 X23; 651 UINT64 X24; 652 UINT64 X25; 653 UINT64 X26; 654 UINT64 X27; 655 UINT64 X28; 656 UINT64 X29; 657 UINT64 X30; 658 UINT64 X31; 659 } EFI_SYSTEM_CONTEXT_RISCV64; 606 660 607 661 /// … … 615 669 EFI_SYSTEM_CONTEXT_ARM *SystemContextArm; 616 670 EFI_SYSTEM_CONTEXT_AARCH64 *SystemContextAArch64; 671 EFI_SYSTEM_CONTEXT_RISCV64 *SystemContextRiscV64; 617 672 } EFI_SYSTEM_CONTEXT; 618 673 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/DevicePath.h
r80721 r85718 283 283 } ACPI_ADR_DEVICE_PATH; 284 284 285 /// 286 /// ACPI NVDIMM Device Path SubType. 287 /// 288 #define ACPI_NVDIMM_DP 0x04 289 /// 290 /// 291 typedef struct { 292 EFI_DEVICE_PATH_PROTOCOL Header; 293 /// 294 /// NFIT Device Handle, the _ADR of the NVDIMM device. 295 /// The value of this field comes from Section 9.20.3 of the ACPI 6.2A specification. 296 /// 297 UINT32 NFITDeviceHandle; 298 } ACPI_NVDIMM_DEVICE_PATH; 299 285 300 #define ACPI_ADR_DISPLAY_TYPE_OTHER 0 286 301 #define ACPI_ADR_DISPLAY_TYPE_VGA 1 … … 712 727 UINT8 StopBits; 713 728 } UART_DEVICE_PATH; 729 730 /// 731 /// NVDIMM Namespace Device Path SubType. 732 /// 733 #define NVDIMM_NAMESPACE_DP 0x20 734 typedef struct { 735 EFI_DEVICE_PATH_PROTOCOL Header; 736 /// 737 /// Namespace unique label identifier UUID. 738 /// 739 EFI_GUID Uuid; 740 } NVDIMM_NAMESPACE_DEVICE_PATH; 714 741 715 742 // -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/EdidOverride.h
r80721 r85718 45 45 IN EFI_HANDLE *ChildHandle, 46 46 OUT UINT32 *Attributes, 47 IN OUT UINTN*EdidSize,48 IN OUT UINT8**Edid47 OUT UINTN *EdidSize, 48 OUT UINT8 **Edid 49 49 ); 50 50 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/FirmwareManagement.h
r80721 r85718 9 9 EFI_UNSUPPORTED if not supported by the driver. 10 10 11 Copyright (c) 2009 - 20 18, Intel Corporation. All rights reserved.<BR>11 Copyright (c) 2009 - 2020, Intel Corporation. All rights reserved.<BR> 12 12 Copyright (c) 2013 - 2014, Hewlett-Packard Development Company, L.P.<BR> 13 13 SPDX-License-Identifier: BSD-2-Clause-Patent … … 28 28 29 29 typedef struct _EFI_FIRMWARE_MANAGEMENT_PROTOCOL EFI_FIRMWARE_MANAGEMENT_PROTOCOL; 30 31 /// 32 /// Dependency Expression Opcode 33 /// 34 #define EFI_FMP_DEP_PUSH_GUID 0x00 35 #define EFI_FMP_DEP_PUSH_VERSION 0x01 36 #define EFI_FMP_DEP_VERSION_STR 0x02 37 #define EFI_FMP_DEP_AND 0x03 38 #define EFI_FMP_DEP_OR 0x04 39 #define EFI_FMP_DEP_NOT 0x05 40 #define EFI_FMP_DEP_TRUE 0x06 41 #define EFI_FMP_DEP_FALSE 0x07 42 #define EFI_FMP_DEP_EQ 0x08 43 #define EFI_FMP_DEP_GT 0x09 44 #define EFI_FMP_DEP_GTE 0x0A 45 #define EFI_FMP_DEP_LT 0x0B 46 #define EFI_FMP_DEP_LTE 0x0C 47 #define EFI_FMP_DEP_END 0x0D 48 49 /// 50 /// Image Attribute - Dependency 51 /// 52 typedef struct { 53 UINT8 Dependencies[1]; 54 } EFI_FIRMWARE_IMAGE_DEP; 30 55 31 56 /// … … 112 137 /// 113 138 UINT64 HardwareInstance; 139 EFI_FIRMWARE_IMAGE_DEP *Dependencies; 114 140 } EFI_FIRMWARE_IMAGE_DESCRIPTOR; 115 141 … … 144 170 /// 145 171 #define IMAGE_ATTRIBUTE_UEFI_IMAGE 0x0000000000000010 172 /// 173 /// The attribute IMAGE_ATTRIBUTE_DEPENDENCY indicates that there is an EFI_FIRMWARE_IMAGE_DEP 174 /// section associated with the image. 175 /// 176 #define IMAGE_ATTRIBUTE_DEPENDENCY 0x0000000000000020 146 177 147 178 … … 159 190 /// Descriptor Version exposed by GetImageInfo() function 160 191 /// 161 #define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 3192 #define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 4 162 193 163 194 … … 315 346 @param[in] ImageIndex A unique number identifying the firmware image(s) within the device. 316 347 The number is between 1 and DescriptorCount. 317 @param[ in, out]Image Points to the buffer where the current image is copied to.348 @param[out] Image Points to the buffer where the current image is copied to. 318 349 @param[in, out] ImageSize On entry, points to the size of the buffer pointed to by Image, in bytes. 319 350 On return, points to the length of the image, in bytes. … … 334 365 IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, 335 366 IN UINT8 ImageIndex, 336 IN OUT VOID*Image,367 OUT VOID *Image, 337 368 IN OUT UINTN *ImageSize 338 369 ); -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/MpService.h
r80721 r85718 49 49 50 50 /// 51 /// Value used in the NumberProcessors parameter of the GetProcessorInfo function 52 /// 53 #define CPU_V2_EXTENDED_TOPOLOGY BIT24 54 55 /// 51 56 /// Forward declaration for the EFI_MP_SERVICES_PROTOCOL. 52 57 /// … … 96 101 UINT32 Thread; 97 102 } EFI_CPU_PHYSICAL_LOCATION; 103 104 /// 105 /// Structure that defines the 6-level physical location of the processor 106 /// 107 typedef struct { 108 /// 109 /// Package Zero-based physical package number that identifies the cartridge of the processor. 110 /// 111 UINT32 Package; 112 /// 113 /// Module Zero-based physical module number within package of the processor. 114 /// 115 UINT32 Module; 116 /// 117 /// Tile Zero-based physical tile number within module of the processor. 118 /// 119 UINT32 Tile; 120 /// 121 /// Die Zero-based physical die number within tile of the processor. 122 /// 123 UINT32 Die; 124 /// 125 /// Core Zero-based physical core number within die of the processor. 126 /// 127 UINT32 Core; 128 /// 129 /// Thread Zero-based logical thread number within core of the processor. 130 /// 131 UINT32 Thread; 132 } EFI_CPU_PHYSICAL_LOCATION2; 133 134 135 typedef union { 136 /// The 6-level physical location of the processor, including the 137 /// physical package number that identifies the cartridge, the physical 138 /// module number within package, the physical tile number within the module, 139 /// the physical die number within the tile, the physical core number within 140 /// package, and logical thread number within core. 141 EFI_CPU_PHYSICAL_LOCATION2 Location2; 142 } EXTENDED_PROCESSOR_INFORMATION; 143 98 144 99 145 /// … … 133 179 /// 134 180 EFI_CPU_PHYSICAL_LOCATION Location; 181 /// 182 /// The extended information of the processor. This field is filled only when 183 /// CPU_V2_EXTENDED_TOPOLOGY is set in parameter ProcessorNumber. 184 EXTENDED_PROCESSOR_INFORMATION ExtendedInformation; 135 185 } EFI_PROCESSOR_INFORMATION; 136 186 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/NvmExpressPassthru.h
r80721 r85718 215 215 allocated and built. Caller must set the NamespaceId to zero if the 216 216 device path node will contain a valid UUID. 217 @param[ in,out]DevicePath A pointer to a single device path node that describes the NVM Express217 @param[out] DevicePath A pointer to a single device path node that describes the NVM Express 218 218 namespace specified by NamespaceId. This function is responsible for 219 219 allocating the buffer DevicePath with the boot service AllocatePool(). … … 232 232 IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This, 233 233 IN UINT32 NamespaceId, 234 IN OUTEFI_DEVICE_PATH_PROTOCOL **DevicePath234 OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath 235 235 ); 236 236 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/PxeBaseCode.h
r80721 r85718 4 4 5 5 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> 6 Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 7 6 8 SPDX-License-Identifier: BSD-2-Clause-Patent 7 9 … … 154 156 #elif defined (MDE_CPU_AARCH64) 155 157 #define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x000B 158 #elif defined (MDE_CPU_RISCV64) 159 #define EFI_PXE_CLIENT_SYSTEM_ARCHITECTURE 0x001B 156 160 #endif 157 161 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/ScsiPassThruExt.h
r80721 r85718 260 260 IN UINT8 *Target, 261 261 IN UINT64 Lun, 262 IN OUT EFI_DEVICE_PATH_PROTOCOL**DevicePath262 OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath 263 263 ); 264 264 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/SdMmcPassThru.h
r80721 r85718 165 165 @param[in] Slot Specifies the slot number of the SD card for which a device 166 166 path node is to be allocated and built. 167 @param[ in,out]DevicePath A pointer to a single device path node that describes the SD167 @param[out] DevicePath A pointer to a single device path node that describes the SD 168 168 card specified by Slot. This function is responsible for 169 169 allocating the buffer DevicePath with the boot service … … 183 183 IN EFI_SD_MMC_PASS_THRU_PROTOCOL *This, 184 184 IN UINT8 Slot, 185 IN OUTEFI_DEVICE_PATH_PROTOCOL **DevicePath185 OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath 186 186 ); 187 187 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/Security2.h
r80721 r85718 81 81 typedef EFI_STATUS (EFIAPI *EFI_SECURITY2_FILE_AUTHENTICATION) ( 82 82 IN CONST EFI_SECURITY2_ARCH_PROTOCOL *This, 83 IN CONST EFI_DEVICE_PATH_PROTOCOL * DevicePath,83 IN CONST EFI_DEVICE_PATH_PROTOCOL *File, OPTIONAL 84 84 IN VOID *FileBuffer, 85 85 IN UINTN FileSize, -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/SerialIo.h
r80721 r85718 264 264 265 265 #define EFI_SERIAL_IO_PROTOCOL_REVISION 0x00010000 266 #define EFI_SERIAL_IO_PROTOCOL_REVISION1p1 0x00010001 266 267 #define SERIAL_IO_INTERFACE_REVISION EFI_SERIAL_IO_PROTOCOL_REVISION 267 268 … … 288 289 /// 289 290 EFI_SERIAL_IO_MODE *Mode; 291 /// 292 /// Pointer to a GUID identifying the device connected to the serial port. 293 /// This field is NULL when the protocol is installed by the serial port 294 /// driver and may be populated by a platform driver for a serial port 295 /// with a known device attached. The field will remain NULL if there is 296 /// no platform serial device identification information available. 297 /// 298 CONST EFI_GUID *DeviceTypeGuid; // Revision 1.1 290 299 }; 291 300 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/SimplePointer.h
r80721 r85718 110 110 (EFIAPI *EFI_SIMPLE_POINTER_GET_STATE)( 111 111 IN EFI_SIMPLE_POINTER_PROTOCOL *This, 112 IN OUT EFI_SIMPLE_POINTER_STATE*State112 OUT EFI_SIMPLE_POINTER_STATE *State 113 113 ); 114 114 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Protocol/Tls.h
r80721 r85718 43 43 typedef enum { 44 44 /// 45 /// Session Configuration46 ///47 48 ///49 45 /// TLS session Version. The corresponding Data is of type EFI_TLS_VERSION. 50 46 /// … … 87 83 /// 88 84 EfiTlsSessionState, 89 90 ///91 /// Session information92 ///93 94 85 /// 95 86 /// TLS session data client random. … … 107 98 /// 108 99 EfiTlsKeyMaterial, 100 /// 101 /// TLS session hostname for validation which is used to verify whether the name 102 /// within the peer certificate matches a given host name. 103 /// This parameter is invalid when EfiTlsVerifyMethod is EFI_TLS_VERIFY_NONE. 104 /// The corresponding Data is of type EFI_TLS_VERIFY_HOST. 105 /// 106 EfiTlsVerifyHost, 109 107 110 108 EfiTlsSessionDataTypeMaximum 111 112 109 } EFI_TLS_SESSION_DATA_TYPE; 113 110 … … 179 176 #define EFI_TLS_VERIFY_PEER 0x1 180 177 /// 181 /// TLS session will fail peer certificate is absent. 178 /// EFI_TLS_VERIFY_FAIL_IF_NO_PEER_CERT is only meaningful in the server mode. 179 /// TLS session will fail if client certificate is absent. 182 180 /// 183 181 #define EFI_TLS_VERIFY_FAIL_IF_NO_PEER_CERT 0x2 … … 187 185 /// 188 186 #define EFI_TLS_VERIFY_CLIENT_ONCE 0x4 187 188 /// 189 /// EFI_TLS_VERIFY_HOST_FLAG 190 /// 191 typedef UINT32 EFI_TLS_VERIFY_HOST_FLAG; 192 /// 193 /// There is no additional flags set for hostname validation. 194 /// Wildcards are supported and they match only in the left-most label. 195 /// 196 #define EFI_TLS_VERIFY_FLAG_NONE 0x00 197 /// 198 /// Always check the Subject Distinguished Name (DN) in the peer certificate even if the 199 /// certificate contains Subject Alternative Name (SAN). 200 /// 201 #define EFI_TLS_VERIFY_FLAG_ALWAYS_CHECK_SUBJECT 0x01 202 /// 203 /// Disable the match of all wildcards. 204 /// 205 #define EFI_TLS_VERIFY_FLAG_NO_WILDCARDS 0x02 206 /// 207 /// Disable the "*" as wildcard in labels that have a prefix or suffix (e.g. "www*" or "*www"). 208 /// 209 #define EFI_TLS_VERIFY_FLAG_NO_PARTIAL_WILDCARDS 0x04 210 /// 211 /// Allow the "*" to match more than one labels. Otherwise, only matches a single label. 212 /// 213 #define EFI_TLS_VERIFY_FLAG_MULTI_LABEL_WILDCARDS 0x08 214 /// 215 /// Restrict to only match direct child sub-domains which start with ".". 216 /// For example, a name of ".example.com" would match "www.example.com" with this flag, 217 /// but would not match "www.sub.example.com". 218 /// 219 #define EFI_TLS_VERIFY_FLAG_SINGLE_LABEL_SUBDOMAINS 0x10 220 /// 221 /// Never check the Subject Distinguished Name (DN) even there is no 222 /// Subject Alternative Name (SAN) in the certificate. 223 /// 224 #define EFI_TLS_VERIFY_FLAG_NEVER_CHECK_SUBJECT 0x20 225 226 /// 227 /// EFI_TLS_VERIFY_HOST 228 /// 229 #pragma pack (1) 230 typedef struct { 231 EFI_TLS_VERIFY_HOST_FLAG Flags; 232 CHAR8 *HostName; 233 } EFI_TLS_VERIFY_HOST; 234 #pragma pack () 189 235 190 236 /// -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Register/Amd/Cpuid.h
r80721 r85718 12 12 13 13 @par Specification Reference: 14 AMD64 Architecture Programming Man aul volume 2, March 2017, Sections 15.3414 AMD64 Architecture Programming Manual volume 2, March 2017, Sections 15.34 15 15 16 16 **/ … … 365 365 UINT32 Page1GB:1; 366 366 /// 367 /// [Bit 27] RDTSCP in tructions.367 /// [Bit 27] RDTSCP instructions. 368 368 /// 369 369 UINT32 RDTSCP:1; … … 514 514 @retval EAX Extended APIC ID described by the type 515 515 CPUID_AMD_PROCESSOR_TOPOLOGY_EAX. 516 @retval EBX Core I ndentifiers described by the type516 @retval EBX Core Identifiers described by the type 517 517 CPUID_AMD_PROCESSOR_TOPOLOGY_EBX. 518 @retval ECX Node I ndentifiers described by the type518 @retval ECX Node Identifiers described by the type 519 519 CPUID_AMD_PROCESSOR_TOPOLOGY_ECX. 520 520 @retval EDX Reserved. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Register/Amd/Fam17Msr.h
r80721 r85718 11 11 12 12 @par Specification Reference: 13 AMD64 Architecture Programming Man aul volume 2, March 2017, Sections 15.3413 AMD64 Architecture Programming Manual volume 2, March 2017, Sections 15.34 14 14 15 15 **/ -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Register/Amd/Msr.h
r80721 r85718 11 11 12 12 @par Specification Reference: 13 AMD64 Architecture Programming Man aul volume 2, March 2017, Sections 15.3413 AMD64 Architecture Programming Manual volume 2, March 2017, Sections 15.34 14 14 15 15 **/ -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Register/Intel/Msr/GoldmontPlusMsr.h
r80721 r85718 1 1 /** @file 2 MSR Defin tions for Intel Atom processors based on the Goldmont Plus microarchitecture.2 MSR Definitions for Intel Atom processors based on the Goldmont Plus microarchitecture. 3 3 4 4 Provides defines for Machine Specific Registers(MSR) indexes. Data structures -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Register/Intel/Msr/SkylakeMsr.h
r80721 r85718 1 1 /** @file 2 MSR Defin tions for Intel processors based on the Skylake/Kabylake/Coffeelake/Cannonlake microarchitecture.2 MSR Definitions for Intel processors based on the Skylake/Kabylake/Coffeelake/Cannonlake microarchitecture. 3 3 4 4 Provides defines for Machine Specific Registers(MSR) indexes. Data structures -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Register/Intel/StmResourceDescriptor.h
r80721 r85718 180 180 181 181 /** 182 STM Register V olation Descriptor182 STM Register Violation Descriptor 183 183 **/ 184 184 typedef struct { -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Uefi/UefiBaseType.h
r80721 r85718 4 4 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> 5 5 Portions copyright (c) 2011 - 2016, ARM Ltd. All rights reserved.<BR> 6 Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 6 7 7 8 SPDX-License-Identifier: BSD-2-Clause-Patent … … 241 242 #define EFI_IMAGE_MACHINE_AARCH64 0xAA64 242 243 244 /// 245 /// PE32+ Machine type for RISC-V 32/64/128 246 /// 247 #define EFI_IMAGE_MACHINE_RISCV32 0x5032 248 #define EFI_IMAGE_MACHINE_RISCV64 0x5064 249 #define EFI_IMAGE_MACHINE_RISCV128 0x5128 243 250 244 251 #if defined (MDE_CPU_IA32) … … 266 273 #define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \ 267 274 ((Machine) == EFI_IMAGE_MACHINE_AARCH64) 275 276 #define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) 277 278 #elif defined (MDE_CPU_RISCV64) 279 #define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \ 280 ((Machine) == EFI_IMAGE_MACHINE_RISCV64) 268 281 269 282 #define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Uefi/UefiInternalFormRepresentation.h
r80721 r85718 826 826 #define EFI_IFR_FLAG_CALLBACK 0x04 827 827 #define EFI_IFR_FLAG_RESET_REQUIRED 0x10 828 #define EFI_IFR_FLAG_REST_STYLE 0x20 828 829 #define EFI_IFR_FLAG_RECONNECT_REQUIRED 0x40 829 830 #define EFI_IFR_FLAG_OPTIONS_ONLY 0x80 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Uefi/UefiSpec.h
r80721 r85718 7 7 8 8 Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> 9 Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 10 9 11 SPDX-License-Identifier: BSD-2-Clause-Patent 10 12 … … 83 85 // 84 86 #define EFI_MEMORY_MORE_RELIABLE 0x0000000000010000ULL 87 88 // 89 // Note: UEFI spec 2.8 and following: 90 // 91 // Specific-purpose memory (SPM). The memory is earmarked for 92 // specific purposes such as for specific device drivers or applications. 93 // The SPM attribute serves as a hint to the OS to avoid allocating this 94 // memory for core OS data or code that can not be relocated. 95 // 96 #define EFI_MEMORY_SP 0x0000000000040000ULL 97 // 98 // If this flag is set, the memory region is capable of being 99 // protected with the CPU?s memory cryptographic 100 // capabilities. If this flag is clear, the memory region is not 101 // capable of being protected with the CPU?s memory 102 // cryptographic capabilities or the CPU does not support CPU 103 // memory cryptographic capabilities. 104 // 105 #define EFI_MEMORY_CPU_CRYPTO 0x0000000000080000ULL 106 85 107 // 86 108 // Runtime memory attribute … … 190 212 the buffer was large enough, or the size of the buffer needed to contain 191 213 the map if the buffer was too small. 192 @param[ in, out]MemoryMap A pointer to the buffer in which firmware places the current memory214 @param[out] MemoryMap A pointer to the buffer in which firmware places the current memory 193 215 map. 194 216 @param[out] MapKey A pointer to the location in which firmware returns the key for the … … 211 233 (EFIAPI *EFI_GET_MEMORY_MAP)( 212 234 IN OUT UINTN *MemoryMapSize, 213 IN OUTEFI_MEMORY_DESCRIPTOR *MemoryMap,235 OUT EFI_MEMORY_DESCRIPTOR *MemoryMap, 214 236 OUT UINTN *MapKey, 215 237 OUT UINTN *DescriptorSize, … … 1535 1557 This parameter is only valid for a SearchType of ByProtocol. 1536 1558 @param[in] SearchKey Supplies the search key depending on the SearchType. 1537 @param[ in, out]NoHandles The number of handles returned in Buffer.1559 @param[out] NoHandles The number of handles returned in Buffer. 1538 1560 @param[out] Buffer A pointer to the buffer to return the requested array of handles that 1539 1561 support Protocol. … … 1553 1575 IN EFI_GUID *Protocol, OPTIONAL 1554 1576 IN VOID *SearchKey, OPTIONAL 1555 IN OUTUINTN *NoHandles,1577 OUT UINTN *NoHandles, 1556 1578 OUT EFI_HANDLE **Buffer 1557 1579 ); … … 1762 1784 #define EFI_OS_INDICATIONS_CAPSULE_RESULT_VAR_SUPPORTED 0x0000000000000010 1763 1785 #define EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY 0x0000000000000040 1786 #define EFI_OS_INDICATIONS_JSON_CONFIG_DATA_REFRESH 0x0000000000000080 1764 1787 1765 1788 // … … 1767 1790 // 1768 1791 #define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' ','S','Y','S','T') 1792 #define EFI_2_80_SYSTEM_TABLE_REVISION ((2 << 16) | (80)) 1769 1793 #define EFI_2_70_SYSTEM_TABLE_REVISION ((2 << 16) | (70)) 1770 1794 #define EFI_2_60_SYSTEM_TABLE_REVISION ((2 << 16) | (60)) … … 2193 2217 #define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM L"\\EFI\\BOOT\\BOOTARM.EFI" 2194 2218 #define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64.EFI" 2219 #define EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 L"\\EFI\\BOOT\\BOOTRISCV64.EFI" 2195 2220 2196 2221 #if defined (MDE_CPU_IA32) … … 2203 2228 #elif defined (MDE_CPU_AARCH64) 2204 2229 #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 2230 #elif defined (MDE_CPU_RISCV64) 2231 #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 2205 2232 #else 2206 2233 #error Unknown Processor Type -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/X64/ProcessorBind.h
r80721 r85718 102 102 #pragma warning ( disable : 4206 ) 103 103 104 #if _MSC_VER == 1800 || _MSC_VER == 1900 || _MSC_VER >= 1910104 #if defined(_MSC_VER) && _MSC_VER >= 1800 105 105 106 106 // … … 314 314 #endif 315 315 316 #if defined(__GNUC__) 316 #if defined(__GNUC__) || defined(__clang__) 317 317 /// 318 318 /// For GNU assembly code, .global or .globl can declare global symbols. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
r80721 r85718 7 7 # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> 8 8 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 9 # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 9 10 # 10 11 # SPDX-License-Identifier: BSD-2-Clause-Patent … … 42 43 ArmCache.c 43 44 45 [Sources.RISCV64] 46 RiscVCache.c 47 44 48 [Packages] 45 49 MdePkg/MdePkg.dec -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
r80721 r85718 8 8 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 9 9 # Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR> 10 # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 10 11 # 11 12 # SPDX-License-Identifier: BSD-2-Clause-Patent … … 25 26 26 27 # 27 # VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 28 # VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 RISCV64 28 29 # 29 30 … … 60 61 AArch64/CpuSleep.asm | MSFT 61 62 63 [Sources.RISCV64] 64 RiscV/Cpu.S 65 62 66 [Packages] 63 67 MdePkg/MdePkg.dec -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseCpuLib/BaseCpuLib.uni
r80721 r85718 2 2 // Instance of CPU Library for various architecture. 3 3 // 4 // CPU Library implemented using ASM functions for IA-32 and X64,4 // CPU Library implemented using ASM functions for IA-32, X64 and RISCV64, 5 5 // PAL CALLs for IPF, and empty functions for EBC. 6 6 // … … 8 8 // Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 9 9 // Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR> 10 // Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 10 11 // 11 12 // SPDX-License-Identifier: BSD-2-Clause-Patent … … 16 17 #string STR_MODULE_ABSTRACT #language en-US "Instance of CPU Library for various architectures" 17 18 18 #string STR_MODULE_DESCRIPTION #language en-US "CPU Library implemented using ASM functions for IA-32 and X64, PAL CALLs for IPF, and empty functions for EBC."19 #string STR_MODULE_DESCRIPTION #language en-US "CPU Library implemented using ASM functions for IA-32, X64 and RISCV64, PAL CALLs for IPF, and empty functions for EBC." 19 20 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
r80721 r85718 5 5 # for IA-32 and x64. On IPF, I/O port requests are translated into MMIO requests. 6 6 # MMIO requests are forwarded directly to memory. For EBC, I/O port requests 7 # ASSERT(). 7 # ASSERT(). For ARM, AARCH64 and RISCV64, this I/O library only provides non I/O 8 # read and write. 8 9 # 9 10 # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> 10 11 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 11 12 # Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR> 13 # Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 12 14 # 13 15 # SPDX-License-Identifier: BSD-2-Clause-Patent … … 26 28 27 29 # 28 # VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 30 # VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 RISCV64 29 31 # 30 32 … … 51 53 52 54 [Sources.ARM] 53 IoLib Arm.c55 IoLibNoIo.c 54 56 55 57 [Sources.AARCH64] 56 IoLibArm.c 58 IoLibNoIo.c 59 60 [Sources.RISCV64] 61 IoLibNoIo.c 57 62 58 63 [Packages] -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseIoLibIntrinsic/IoLibGcc.c
r80721 r85718 33 33 34 34 **/ 35 __inline__36 35 UINT8 37 36 EFIAPI … … 61 60 62 61 **/ 63 __inline__64 62 UINT8 65 63 EFIAPI … … 88 86 89 87 **/ 90 __inline__91 88 UINT16 92 89 EFIAPI … … 118 115 119 116 **/ 120 __inline__121 117 UINT16 122 118 EFIAPI … … 146 142 147 143 **/ 148 __inline__149 144 UINT32 150 145 EFIAPI … … 176 171 177 172 **/ 178 __inline__179 173 UINT32 180 174 EFIAPI -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseLib/BaseLib.inf
r80721 r85718 5 5 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 6 6 # Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR> 7 # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 7 8 # 8 9 # SPDX-License-Identifier: BSD-2-Clause-Patent … … 21 22 22 23 # 23 # VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 24 # VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 RISCV64 24 25 # 25 26 … … 395 396 AArch64/SpeculationBarrier.asm | MSFT 396 397 398 [Sources.RISCV64] 399 Math64.c 400 Unaligned.c 401 RiscV64/InternalSwitchStack.c 402 RiscV64/CpuBreakpoint.c 403 RiscV64/GetInterruptState.c 404 RiscV64/DisableInterrupts.c 405 RiscV64/EnableInterrupts.c 406 RiscV64/CpuPause.c 407 RiscV64/RiscVSetJumpLongJump.S | GCC 408 RiscV64/RiscVCpuBreakpoint.S | GCC 409 RiscV64/RiscVCpuPause.S | GCC 410 RiscV64/RiscVInterrupt.S | GCC 411 RiscV64/FlushCache.S | GCC 412 397 413 [Packages] 398 414 MdePkg/MdePkg.dec -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseLib/SafeString.c
r80721 r85718 15 15 #define SAFE_STRING_CONSTRAINT_CHECK(Expression, Status) \ 16 16 do { \ 17 ASSERT (Expression); \18 17 if (!(Expression)) { \ 18 DEBUG ((DEBUG_VERBOSE, \ 19 "%a(%d) %a: SAFE_STRING_CONSTRAINT_CHECK(%a) failed. Return %r\n", \ 20 __FILE__, __LINE__, __FUNCTION__, #Expression, Status)); \ 19 21 return Status; \ 20 22 } \ … … 198 200 If Destination is not aligned on a 16-bit boundary, then ASSERT(). 199 201 If Source is not aligned on a 16-bit boundary, then ASSERT(). 200 If an error would be returned, then the function will also ASSERT().201 202 202 203 If an error is returned, then the Destination is unmodified. … … 280 281 If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT(). 281 282 If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT(). 282 If an error would be returned, then the function will also ASSERT().283 283 284 284 If an error is returned, then the Destination is unmodified. … … 373 373 If Destination is not aligned on a 16-bit boundary, then ASSERT(). 374 374 If Source is not aligned on a 16-bit boundary, then ASSERT(). 375 If an error would be returned, then the function will also ASSERT().376 375 377 376 If an error is returned, then the Destination is unmodified. … … 474 473 If Destination is not aligned on a 16-bit boundary, then ASSERT(). 475 474 If Source is not aligned on a 16-bit boundary, then ASSERT(). 476 If an error would be returned, then the function will also ASSERT().477 475 478 476 If an error is returned, then the Destination is unmodified. … … 591 589 valid decimal character or a Null-terminator, whichever one comes first. 592 590 593 If String is NULL, then ASSERT().594 If Data is NULL, then ASSERT().595 591 If String is not aligned in a 16-bit boundary, then ASSERT(). 596 If PcdMaximumUnicodeStringLength is not zero, and String contains more than597 PcdMaximumUnicodeStringLength Unicode characters, not including the598 Null-terminator, then ASSERT().599 592 600 593 If String has no valid decimal digits in the above format, then 0 is stored … … 706 699 valid decimal character or a Null-terminator, whichever one comes first. 707 700 708 If String is NULL, then ASSERT().709 If Data is NULL, then ASSERT().710 701 If String is not aligned in a 16-bit boundary, then ASSERT(). 711 If PcdMaximumUnicodeStringLength is not zero, and String contains more than712 PcdMaximumUnicodeStringLength Unicode characters, not including the713 Null-terminator, then ASSERT().714 702 715 703 If String has no valid decimal digits in the above format, then 0 is stored … … 826 814 whichever one comes first. 827 815 828 If String is NULL, then ASSERT().829 If Data is NULL, then ASSERT().830 816 If String is not aligned in a 16-bit boundary, then ASSERT(). 831 If PcdMaximumUnicodeStringLength is not zero, and String contains more than832 PcdMaximumUnicodeStringLength Unicode characters, not including the833 Null-terminator, then ASSERT().834 817 835 818 If String has no valid hexadecimal digits in the above format, then 0 is … … 957 940 whichever one comes first. 958 941 959 If String is NULL, then ASSERT().960 If Data is NULL, then ASSERT().961 942 If String is not aligned in a 16-bit boundary, then ASSERT(). 962 If PcdMaximumUnicodeStringLength is not zero, and String contains more than963 PcdMaximumUnicodeStringLength Unicode characters, not including the964 Null-terminator, then ASSERT().965 943 966 944 If String has no valid hexadecimal digits in the above format, then 0 is … … 1092 1070 The "::" can only appear once in the String. 1093 1071 1094 If String is NULL, then ASSERT().1095 1096 If Address is NULL, then ASSERT().1097 1098 1072 If String is not aligned in a 16-bit boundary, then ASSERT(). 1099 1100 If PcdMaximumUnicodeStringLength is not zero, and String contains more than1101 PcdMaximumUnicodeStringLength Unicode characters, not including the1102 Null-terminator, then ASSERT().1103 1073 1104 1074 If EndPointer is not NULL and Address is translated from String, a pointer … … 1318 1288 a valid decimal digit character after P is converted. 1319 1289 1320 If String is NULL, then ASSERT().1321 1322 If Address is NULL, then ASSERT().1323 1324 1290 If String is not aligned in a 16-bit boundary, then ASSERT(). 1325 1326 If PcdMaximumUnicodeStringLength is not zero, and String contains more than1327 PcdMaximumUnicodeStringLength Unicode characters, not including the1328 Null-terminator, then ASSERT().1329 1291 1330 1292 If EndPointer is not NULL and Address is translated from String, a pointer … … 1483 1445 pp Data4[56:63] 1484 1446 1485 If String is NULL, then ASSERT().1486 If Guid is NULL, then ASSERT().1487 1447 If String is not aligned in a 16-bit boundary, then ASSERT(). 1488 1448 … … 1589 1549 1590 1550 If String is not aligned in a 16-bit boundary, then ASSERT(). 1591 1592 If String is NULL, then ASSERT().1593 1594 If Buffer is NULL, then ASSERT().1595 1596 If Length is not multiple of 2, then ASSERT().1597 1598 If PcdMaximumUnicodeStringLength is not zero and Length is greater than1599 PcdMaximumUnicodeStringLength, then ASSERT().1600 1601 If MaxBufferSize is less than (Length / 2), then ASSERT().1602 1551 1603 1552 @param String Pointer to a Null-terminated Unicode string. … … 1780 1729 This function is similar as strcpy_s defined in C11. 1781 1730 1782 If an error would be returned, then the function will also ASSERT().1783 1784 1731 If an error is returned, then the Destination is unmodified. 1785 1732 … … 1856 1803 1857 1804 This function is similar as strncpy_s defined in C11. 1858 1859 If an error would be returned, then the function will also ASSERT().1860 1805 1861 1806 If an error is returned, then the Destination is unmodified. … … 1944 1889 1945 1890 This function is similar as strcat_s defined in C11. 1946 1947 If an error would be returned, then the function will also ASSERT().1948 1891 1949 1892 If an error is returned, then the Destination is unmodified. … … 2040 1983 2041 1984 This function is similar as strncat_s defined in C11. 2042 2043 If an error would be returned, then the function will also ASSERT().2044 1985 2045 1986 If an error is returned, then the Destination is unmodified. … … 2155 2096 valid decimal character or a Null-terminator, whichever one comes first. 2156 2097 2157 If String is NULL, then ASSERT().2158 If Data is NULL, then ASSERT().2159 If PcdMaximumAsciiStringLength is not zero, and String contains more than2160 PcdMaximumAsciiStringLength Ascii characters, not including the2161 Null-terminator, then ASSERT().2162 2163 2098 If String has no valid decimal digits in the above format, then 0 is stored 2164 2099 at the location pointed to by Data. … … 2267 2202 valid decimal character or a Null-terminator, whichever one comes first. 2268 2203 2269 If String is NULL, then ASSERT().2270 If Data is NULL, then ASSERT().2271 If PcdMaximumAsciiStringLength is not zero, and String contains more than2272 PcdMaximumAsciiStringLength Ascii characters, not including the2273 Null-terminator, then ASSERT().2274 2275 2204 If String has no valid decimal digits in the above format, then 0 is stored 2276 2205 at the location pointed to by Data. … … 2383 2312 whichever on comes first. 2384 2313 2385 If String is NULL, then ASSERT().2386 If Data is NULL, then ASSERT().2387 If PcdMaximumAsciiStringLength is not zero, and String contains more than2388 PcdMaximumAsciiStringLength Ascii characters, not including the2389 Null-terminator, then ASSERT().2390 2391 2314 If String has no valid hexadecimal digits in the above format, then 0 is 2392 2315 stored at the location pointed to by Data. … … 2510 2433 whichever on comes first. 2511 2434 2512 If String is NULL, then ASSERT().2513 If Data is NULL, then ASSERT().2514 If PcdMaximumAsciiStringLength is not zero, and String contains more than2515 PcdMaximumAsciiStringLength Ascii characters, not including the2516 Null-terminator, then ASSERT().2517 2518 2435 If String has no valid hexadecimal digits in the above format, then 0 is 2519 2436 stored at the location pointed to by Data. … … 2636 2553 2637 2554 If Source is not aligned on a 16-bit boundary, then ASSERT(). 2638 If an error would be returned, then the function will also ASSERT().2639 2555 2640 2556 If an error is returned, then the Destination is unmodified. … … 2736 2652 bits, then ASSERT(). 2737 2653 If Source is not aligned on a 16-bit boundary, then ASSERT(). 2738 If an error would be returned, then the function will also ASSERT().2739 2654 2740 2655 If an error is returned, then Destination and DestinationLength are … … 2856 2771 2857 2772 If Destination is not aligned on a 16-bit boundary, then ASSERT(). 2858 If an error would be returned, then the function will also ASSERT().2859 2773 2860 2774 If an error is returned, then the Destination is unmodified. … … 2949 2863 2950 2864 If Destination is not aligned on a 16-bit boundary, then ASSERT(). 2951 If an error would be returned, then the function will also ASSERT().2952 2865 2953 2866 If an error is returned, then Destination and DestinationLength are … … 3072 2985 "::" can be used to compress one or more groups of X when X contains only 0. 3073 2986 The "::" can only appear once in the String. 3074 3075 If String is NULL, then ASSERT().3076 3077 If Address is NULL, then ASSERT().3078 2987 3079 2988 If EndPointer is not NULL and Address is translated from String, a pointer … … 3291 3200 When /P is in the String, the function stops at the first character that is not 3292 3201 a valid decimal digit character after P is converted. 3293 3294 If String is NULL, then ASSERT().3295 3296 If Address is NULL, then ASSERT().3297 3202 3298 3203 If EndPointer is not NULL and Address is translated from String, a pointer … … 3449 3354 pp Data4[56:63] 3450 3355 3451 If String is NULL, then ASSERT().3452 If Guid is NULL, then ASSERT().3453 3454 3356 @param String Pointer to a Null-terminated ASCII string. 3455 3357 @param Guid Pointer to the converted GUID. … … 3550 3452 decoding stops after Length of characters and outputs Buffer containing 3551 3453 (Length / 2) bytes. 3552 3553 If String is NULL, then ASSERT().3554 3555 If Buffer is NULL, then ASSERT().3556 3557 If Length is not multiple of 2, then ASSERT().3558 3559 If PcdMaximumAsciiStringLength is not zero and Length is greater than3560 PcdMaximumAsciiStringLength, then ASSERT().3561 3562 If MaxBufferSize is less than (Length / 2), then ASSERT().3563 3454 3564 3455 @param String Pointer to a Null-terminated ASCII string. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BasePeCoffLib/BasePeCoff.c
r80721 r85718 1 1 /** @file 2 2 Base PE/COFF loader supports loading any PE32/PE32+ or TE image, but 3 only supports relocating IA32, x64, IPF, and EBC images.3 only supports relocating IA32, x64, IPF, ARM, RISC-V and EBC images. 4 4 5 5 Caution: This file requires additional review when modified. … … 18 18 Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR> 19 19 Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 20 Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 20 21 SPDX-License-Identifier: BSD-2-Clause-Patent 21 22 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
r80721 r85718 4 4 # The IA32 version library support loading IA32, X64 and EBC PE/COFF images. 5 5 # The X64 version library support loading IA32, X64 and EBC PE/COFF images. 6 # The RISC-V version library support loading RISC-V images. 6 7 # 7 8 # Caution: This module requires additional review when modified. … … 12 13 # Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> 13 14 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 15 # Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 14 16 # 15 17 # SPDX-License-Identifier: BSD-2-Clause-Patent … … 42 44 Arm/PeCoffLoaderEx.c 43 45 46 [Sources.RISCV64] 47 RiscV/PeCoffLoaderEx.c 48 44 49 [Packages] 45 50 MdePkg/MdePkg.dec -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BasePeCoffLib/BasePeCoffLib.uni
r80721 r85718 5 5 // The IA32 version library support loading IA32, X64 and EBC PE/COFF images. 6 6 // The X64 version library support loading IA32, X64 and EBC PE/COFF images. 7 // The RISC-V version library support loading RISC-V32 and RISC-V64 PE/COFF images. 7 8 // 8 9 // Caution: This module requires additional review when modified. … … 13 14 // Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> 14 15 // Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 16 // Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 15 17 // 16 18 // SPDX-License-Identifier: BSD-2-Clause-Patent -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BasePeCoffLib/BasePeCoffLibInternals.h
r80721 r85718 3 3 4 4 Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> 5 Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 5 6 SPDX-License-Identifier: BSD-2-Clause-Patent 6 7 … … 17 18 #include <IndustryStandard/PeImage.h> 18 19 20 // 21 // Macro definitions for RISC-V architecture. 22 // 23 #define RV_X(x, s, n) (((x) >> (s)) & ((1<<(n))-1)) 24 #define RISCV_IMM_BITS 12 25 #define RISCV_IMM_REACH (1LL<<RISCV_IMM_BITS) 26 #define RISCV_CONST_HIGH_PART(VALUE) \ 27 (((VALUE) + (RISCV_IMM_REACH/2)) & ~(RISCV_IMM_REACH-1)) 19 28 20 29 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
r80721 r85718 7 7 # Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> 8 8 # Copyright (c) 2017, Microsoft Corporation 9 # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 10 9 11 # 10 12 # All rights reserved. … … 24 26 # The following information is for reference only and not required by the build tools. 25 27 # 26 # VALID_ARCHITECTURES = IA32 X64 28 # VALID_ARCHITECTURES = IA32 X64 ARM AARCH64 RISCV64 27 29 # 28 30 … … 33 35 SafeIntLib32.c 34 36 35 [Sources.X64, Sources.AARCH64 ]37 [Sources.X64, Sources.AARCH64, Sources.RISCV64] 36 38 SafeIntLib64.c 37 39 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseSafeIntLib/SafeIntLib.c
r80721 r85718 3381 3381 // a * d must be less than 2^32 or there would be bits set in the high 64-bits 3382 3382 // 3383 ProductAD = (((UINT64)DwordA) *(UINT64)DwordD);3383 ProductAD = MultU64x64 ((UINT64)DwordA, (UINT64)DwordD); 3384 3384 if ((ProductAD & 0xffffffff00000000) == 0) { 3385 3385 DwordB = (UINT32)Multiplicand; … … 3388 3388 // b * c must be less than 2^32 or there would be bits set in the high 64-bits 3389 3389 // 3390 ProductBC = (((UINT64)DwordB) *(UINT64)DwordC);3390 ProductBC = MultU64x64 ((UINT64)DwordB, (UINT64)DwordC); 3391 3391 if ((ProductBC & 0xffffffff00000000) == 0) { 3392 3392 // … … 3398 3398 // b * d 3399 3399 // 3400 ProductBD = (((UINT64)DwordB) *(UINT64)DwordD);3400 ProductBD = MultU64x64 ((UINT64)DwordB, (UINT64)DwordD); 3401 3401 3402 3402 if (!RETURN_ERROR (SafeUint64Add (UnsignedResult, ProductBD, &UnsignedResult))) { -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
r80721 r85718 4 4 # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> 5 5 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 6 # Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR> 6 7 # 7 8 # SPDX-License-Identifier: BSD-2-Clause-Patent … … 79 80 AArch64/Synchronization.asm | MSFT 80 81 82 [Sources.RISCV64] 83 Synchronization.c 84 RiscV64/Synchronization.S 85 81 86 [Packages] 82 87 MdePkg/MdePkg.dec -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.c
r80721 r85718 151 151 If DecodeHandler is NULL, then ASSERT(). 152 152 153 @param[in] SectionGuid A pointer to the GUID associated with the thehandlers153 @param[in] SectionGuid A pointer to the GUID associated with the handlers 154 154 of the GUIDed section type being registered. 155 155 @param[in] GetInfoHandler The pointer to a function that examines a GUIDed section and returns the … … 232 232 If GUID for InputSection does not match any of the GUIDs registered through ExtractGuidedSectionRegisterHandlers(), 233 233 then RETURN_UNSUPPORTED is returned. 234 If the GUID of InputSection does match the GUID that this handler supports, then the theassociated handler234 If the GUID of InputSection does match the GUID that this handler supports, then the associated handler 235 235 of type EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER that was registered with ExtractGuidedSectionRegisterHandlers() 236 is used to retrieve the Out utBufferSize, ScratchSize, and Attributes values. The return status from the handler of236 is used to retrieve the OutputBufferSize, ScratchSize, and Attributes values. The return status from the handler of 237 237 type EXTRACT_GUIDED_SECTION_GET_INFO_HANDLER is returned. 238 238 … … 312 312 If GUID for InputSection does not match any of the GUIDs registered through ExtractGuidedSectionRegisterHandlers(), 313 313 then RETURN_UNSUPPORTED is returned. 314 If the GUID of InputSection does match the GUID that this handler supports, then the theassociated handler314 If the GUID of InputSection does match the GUID that this handler supports, then the associated handler 315 315 of type EXTRACT_GUIDED_SECTION_DECODE_HANDLER that was registered with ExtractGuidedSectionRegisterHandlers() 316 316 is used to decode InputSection into the buffer specified by OutputBuffer and the authentication status of this … … 398 398 If SectionGuid is NULL, then ASSERT(). 399 399 400 @param[in] SectionGuid A pointer to the GUID associated with the handlers of the GUIDed400 @param[in] SectionGuid A pointer to the GUID associated with the handlers of the GUIDed 401 401 section type being retrieved. 402 402 @param[out] GetInfoHandler Pointer to a function that examines a GUIDed section and returns -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxeHobLib/HobLib.c
r80721 r85718 1 1 /** @file 2 HOB Library implemen ation for Dxe Phase.2 HOB Library implementation for Dxe Phase. 3 3 4 4 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxeHstiLib/HstiDxe.c
r80721 r85718 78 78 &InfoTypesBufferCount 79 79 ); 80 if (EFI_ERROR (Status) ) {80 if (EFI_ERROR (Status) || (InfoTypesBuffer == NULL) || (InfoTypesBufferCount == 0)) { 81 81 continue; 82 82 } -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxeIoLibCpuIo2/IoLib.c
r80721 r85718 12 12 13 13 // 14 // Glob le varible to cache pointer to CpuIo2 protocol.14 // Global variable to cache pointer to CpuIo2 protocol. 15 15 // 16 16 EFI_CPU_IO2_PROTOCOL *mCpuIo = NULL; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxePcdLib/DxePcdLib.inf
r80721 r85718 17 17 # in their initialization without any issues to access Dynamic and DynamicEx PCD. They can't 18 18 # access Dynamic and DynamicEx PCD in the implementation of runtime services and SMI handlers. 19 # Because EFI_PCD_PROTOCOL is DXE protocol that is not av iable in OS runtime phase.19 # Because EFI_PCD_PROTOCOL is DXE protocol that is not available in OS runtime phase. 20 20 # 21 21 # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxePcdLib/DxePcdLib.uni
r80721 r85718 23 23 #string STR_MODULE_ABSTRACT #language en-US "PCD Library using PCD Protocol" 24 24 25 #string STR_MODULE_DESCRIPTION #language en-US "There are two PCD protocols: 1) PCD_PROTOCOL It is an EDKII implementation that suppor stDynamic/DynamicEx PCDs. 2) EFI_PCD_PROTOCOL It is defined by PI Specification 1.2, Vol 3, which only support dynamicEx type PCD. For dynamicEx type PCDs, it is compatible between PCD_PROTOCOL and EFI_PCD_PROTOCOL. This library instance uses the PCD_PROTOCOL to handle dynamic PCD requests and uses EFI_PCD_PROTOCOL to handle DynamicEx type PCDs."25 #string STR_MODULE_DESCRIPTION #language en-US "There are two PCD protocols: 1) PCD_PROTOCOL It is an EDKII implementation that supports Dynamic/DynamicEx PCDs. 2) EFI_PCD_PROTOCOL It is defined by PI Specification 1.2, Vol 3, which only support dynamicEx type PCD. For dynamicEx type PCDs, it is compatible between PCD_PROTOCOL and EFI_PCD_PROTOCOL. This library instance uses the PCD_PROTOCOL to handle dynamic PCD requests and uses EFI_PCD_PROTOCOL to handle DynamicEx type PCDs." 26 26 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxeRuntimeDebugLibSerialPort/DebugLib.c
r80721 r85718 78 78 } 79 79 80 return SystemTable->BootServices->CreateEvent Ex (EVT_NOTIFY_SIGNAL,80 return SystemTable->BootServices->CreateEvent (EVT_SIGNAL_EXIT_BOOT_SERVICES, 81 81 TPL_NOTIFY, ExitBootServicesEvent, NULL, 82 &gEfiEventExitBootServicesGuid,83 82 &mEfiExitBootServicesEvent); 84 83 } -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
r80721 r85718 42 42 SerialPortLib 43 43 44 [Guids]45 gEfiEventExitBootServicesGuid ## CONSUMES ## Event46 47 44 [Pcd] 48 45 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue ## SOMETIMES_CONSUMES -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxeRuntimePciExpressLib/DxeRuntimePciExpressLib.inf
r80721 r85718 48 48 [Pcd] 49 49 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress ## CONSUMES 50 51 [Guids]52 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event53 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxeRuntimePciExpressLib/PciExpressLib.c
r80721 r85718 125 125 // Register SetVirtualAddressMap () notify function 126 126 // 127 Status = gBS->CreateEvent Ex(128 EVT_ NOTIFY_SIGNAL,127 Status = gBS->CreateEvent ( 128 EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE, 129 129 TPL_NOTIFY, 130 130 DxeRuntimePciExpressLibVirtualNotify, 131 131 NULL, 132 &gEfiEventVirtualAddressChangeGuid,133 132 &mDxeRuntimePciExpressLibVirtualNotifyEvent 134 133 ); … … 300 299 301 300 // 302 // See if Address has already been register d for runtime access301 // See if Address has already been registered for runtime access 303 302 // 304 303 for (Index = 0; Index < mDxeRuntimePciExpressLibNumberOfRuntimeRanges; Index++) { … … 1458 1457 configuration registers from a single PCI function to be read. Size is 1459 1458 returned. When possible 32-bit PCI configuration read cycles are used to read 1460 from StartAd ress to StartAddress + Size. Due to alignment restrictions, 8-bit1459 from StartAddress to StartAddress + Size. Due to alignment restrictions, 8-bit 1461 1460 and 16-bit PCI configuration read cycles may be used at the beginning and the 1462 1461 end of the range. … … 1561 1560 configuration registers from a single PCI function to be written. Size is 1562 1561 returned. When possible 32-bit PCI configuration write cycles are used to 1563 write from StartAd ress to StartAddress + Size. Due to alignment restrictions,1562 write from StartAddress to StartAddress + Size. Due to alignment restrictions, 1564 1563 8-bit and 16-bit PCI configuration write cycles may be used at the beginning 1565 1564 and the end of the range. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxeServicesLib/DxeServicesLib.c
r80721 r85718 26 26 Identify the device handle from which the Image is loaded from. As this device handle is passed to 27 27 GetSectionFromFv as the identifier for a Firmware Volume, an EFI_FIRMWARE_VOLUME2_PROTOCOL 28 protocol instance should be located succes fully by calling gBS->HandleProtocol ().28 protocol instance should be located successfully by calling gBS->HandleProtocol (). 29 29 30 30 This function locates the EFI_LOADED_IMAGE_PROTOCOL instance installed … … 50 50 51 51 Status = gBS->HandleProtocol ( 52 (EFI_HANDLE *)ImageHandle,52 ImageHandle, 53 53 &gEfiLoadedImageProtocolGuid, 54 54 (VOID **) &LoadedImage … … 72 72 73 73 This functions first locate the EFI_FIRMWARE_VOLUME2_PROTOCOL protocol instance on FvHandle in order to 74 carry out the Firmware Volume read operation. The function then reads the Firmware Section found s epcifed74 carry out the Firmware Volume read operation. The function then reads the Firmware Section found specified 75 75 by NameGuid, SectionType and SectionInstance. 76 76 … … 95 95 @param SectionInstance The instance number of Firmware Section to 96 96 read from starting from 0. 97 @param Buffer On output, Buffer contains the thedata read97 @param Buffer On output, Buffer contains the data read 98 98 from the section in the Firmware File found. 99 99 @param Size On output, the size of Buffer. … … 518 518 519 519 /** 520 Searches the FFS file the thecurrently executing module was loaded from and returns the first matching FFS section.520 Searches the FFS file the currently executing module was loaded from and returns the first matching FFS section. 521 521 522 522 This function searches the FFS file that the currently executing module was loaded from for a FFS sections of type SectionType. … … 598 598 match an exact file to be loaded. 599 599 @param[in] FilePath The pointer to the device path of the file 600 that is abs racted to the file buffer.600 that is abstracted to the file buffer. 601 601 @param[out] FileSize The pointer to the size of the abstracted 602 602 file buffer. … … 746 746 // 747 747 // Parse each MEDIA_FILEPATH_DP node. There may be more than one, since the 748 // directory information and filename can be sep erate. The goal is to inch748 // directory information and filename can be separate. The goal is to inch 749 749 // our way down each device path node and close the previous node 750 750 // -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
r80721 r85718 23 23 24 24 # 25 # VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 25 # VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64 RISCV64 26 26 # 27 27 … … 29 29 DxeServicesLib.c 30 30 31 [Sources.IA32, Sources.EBC, Sources.ARM, Sources.AARCH64 ]31 [Sources.IA32, Sources.EBC, Sources.ARM, Sources.AARCH64, Sources.RISCV64] 32 32 Allocate.c 33 33 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.c
r80721 r85718 10 10 initialized. 11 11 12 This library contains con truct function to retrieve EFI_DXE_SERIVCE, this construct12 This library contains construct function to retrieve EFI_DXE_SERVICE, this construct 13 13 function will be invoked in DXE driver's autogen file. 14 14 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/DxeSmbusLib/DxeSmbusLib.c
r80721 r85718 13 13 14 14 // 15 // Glob le varible to cache pointer to Smbus protocol.15 // Global variable to cache pointer to Smbus protocol. 16 16 // 17 17 EFI_SMBUS_HC_PROTOCOL *mSmbus = NULL; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/PciSegmentLibSegmentInfo/DxeRuntimePciSegmentLib.c
r80721 r85718 110 110 // Register SetVirtualAddressMap () notify function 111 111 // 112 Status = gBS->CreateEvent Ex(113 EVT_ NOTIFY_SIGNAL,112 Status = gBS->CreateEvent ( 113 EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE, 114 114 TPL_NOTIFY, 115 115 DxeRuntimePciSegmentLibVirtualNotify, 116 116 NULL, 117 &gEfiEventVirtualAddressChangeGuid,118 117 &mDxeRuntimePciSegmentLibVirtualNotifyEvent 119 118 ); … … 212 211 213 212 // 214 // See if Address has already been register d for runtime access213 // See if Address has already been registered for runtime access 215 214 // 216 215 for (Index = 0; Index < mDxeRuntimePciSegmentLibNumberOfRuntimeRanges; Index++) { -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/PciSegmentLibSegmentInfo/DxeRuntimePciSegmentLibSegmentInfo.inf
r80721 r85718 46 46 DxeServicesTableLib 47 47 UefiBootServicesTableLib 48 49 [Guids]50 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/PciSegmentLibSegmentInfo/PciSegmentLibCommon.c
r80721 r85718 1170 1170 configuration registers from a single PCI function to be read. Size is 1171 1171 returned. When possible 32-bit PCI configuration read cycles are used to read 1172 from StartAd ress to StartAddress + Size. Due to alignment restrictions, 8-bit1172 from StartAddress to StartAddress + Size. Due to alignment restrictions, 8-bit 1173 1173 and 16-bit PCI configuration read cycles may be used at the beginning and the 1174 1174 end of the range. … … 1273 1273 configuration registers from a single PCI function to be written. Size is 1274 1274 returned. When possible 32-bit PCI configuration write cycles are used to 1275 write from StartAd ress to StartAddress + Size. Due to alignment restrictions,1275 write from StartAddress to StartAddress + Size. Due to alignment restrictions, 1276 1276 8-bit and 16-bit PCI configuration write cycles may be used at the beginning 1277 1277 and the end of the range. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/SmmMemLib/SmmMemLib.c
r80721 r85718 276 276 @param Length The number of bytes to copy from SourceBuffer to DestinationBuffer. 277 277 278 @retval EFI_SECURITY_VIOLATION The Des inationBuffer is invalid per processor architecture or overlap with SMRAM.278 @retval EFI_SECURITY_VIOLATION The DestinationBuffer is invalid per processor architecture or overlap with SMRAM. 279 279 @retval EFI_SUCCESS Memory is copied. 280 280 … … 309 309 @param Length The number of bytes to copy from SourceBuffer to DestinationBuffer. 310 310 311 @retval EFI_SECURITY_VIOLATION The Des inationBuffer is invalid per processor architecture or overlap with SMRAM.311 @retval EFI_SECURITY_VIOLATION The DestinationBuffer is invalid per processor architecture or overlap with SMRAM. 312 312 @retval EFI_SECURITY_VIOLATION The SourceBuffer is invalid per processor architecture or overlap with SMRAM. 313 313 @retval EFI_SUCCESS Memory is copied. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/SmmPciExpressLib/PciExpressLib.c
r80721 r85718 1227 1227 configuration registers from a single PCI function to be read. Size is 1228 1228 returned. When possible 32-bit PCI configuration read cycles are used to read 1229 from StartAd ress to StartAddress + Size. Due to alignment restrictions, 8-bit1229 from StartAddress to StartAddress + Size. Due to alignment restrictions, 8-bit 1230 1230 and 16-bit PCI configuration read cycles may be used at the beginning and the 1231 1231 end of the range. … … 1330 1330 configuration registers from a single PCI function to be written. Size is 1331 1331 returned. When possible 32-bit PCI configuration write cycles are used to 1332 write from StartAd ress to StartAddress + Size. Due to alignment restrictions,1332 write from StartAddress to StartAddress + Size. Due to alignment restrictions, 1333 1333 8-bit and 16-bit PCI configuration write cycles may be used at the beginning 1334 1334 and the end of the range. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/SmmPciLibPciRootBridgeIo/PciLib.c
r80721 r85718 36 36 37 37 // 38 // Global vari ble to cache pointer to PCI Root Bridge I/O protocol.38 // Global variable to cache pointer to PCI Root Bridge I/O protocol. 39 39 // 40 40 EFI_SMM_PCI_ROOT_BRIDGE_IO_PROTOCOL *mSmmPciRootBridgeIo = NULL; … … 1239 1239 configuration registers from a single PCI function to be read. Size is 1240 1240 returned. When possible 32-bit PCI configuration read cycles are used to read 1241 from StartAd ress to StartAddress + Size. Due to alignment restrictions, 8-bit1241 from StartAddress to StartAddress + Size. Due to alignment restrictions, 8-bit 1242 1242 and 16-bit PCI configuration read cycles may be used at the beginning and the 1243 1243 end of the range. … … 1337 1337 configuration registers from a single PCI function to be written. Size is 1338 1338 returned. When possible 32-bit PCI configuration write cycles are used to 1339 write from StartAd ress to StartAddress + Size. Due to alignment restrictions,1339 write from StartAddress to StartAddress + Size. Due to alignment restrictions, 1340 1340 8-bit and 16-bit PCI configuration write cycles may be used at the beginning 1341 1341 and the end of the range. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/SmmPeriodicSmiLib/SmmPeriodicSmiLib.c
r80721 r85718 108 108 /// 109 109 /// The performance counter value that was captured the last time that the 110 /// periodic SMI handler called Period cSmiExecutionTime(). This allows the111 /// time value returned by Period cSmiExecutionTime() to be accurate even when110 /// periodic SMI handler called PeriodicSmiExecutionTime(). This allows the 111 /// time value returned by PeriodicSmiExecutionTime() to be accurate even when 112 112 /// the performance counter rolls over. 113 113 /// … … 128 128 /// Buffer used to save the context when a periodic SMI handler requests to 129 129 /// yield using PeriodicSmiYield(). This context is used to resume the 130 /// execution of a periodic SMI handler the next time control is transfer d130 /// execution of a periodic SMI handler the next time control is transferred 131 131 /// to the periodic SMI handler that yielded. 132 132 /// … … 153 153 154 154 /// 155 /// Pointer to the SMM Periodic Timer Dis atch Protocol that was located in the constuctor.155 /// Pointer to the SMM Periodic Timer Dispatch Protocol that was located in the constructor. 156 156 /// 157 157 EFI_SMM_PERIODIC_TIMER_DISPATCH2_PROTOCOL *gSmmPeriodicTimerDispatch2 = NULL; … … 523 523 periodic SMI for the currently executing handler is triggered, the periodic 524 524 SMI handler will be resumed and this function will return. Use of this 525 function requires a sep erate stack for the periodic SMI handler. A non zero525 function requires a separate stack for the periodic SMI handler. A non zero 526 526 stack size must be specified in PeriodicSmiEnable() for this function to be 527 527 used. … … 573 573 if (SetJumpFlag == 0) { 574 574 // 575 // The in tial call to SetJump() always returns 0.575 // The initial call to SetJump() always returns 0. 576 576 // If this is the initial call, then exit the current periodic SMI handler 577 577 // … … 589 589 590 590 // 591 // Return the amount elapsed time that occur ed while yielded591 // Return the amount elapsed time that occurred while yielded 592 592 // 593 593 return PeriodicSmiLibraryHandler->ElapsedTime; … … 621 621 // Dispatch the registered handler passing in the context that was registered 622 622 // and the amount of time that has elapsed since the previous time this 623 // periodic SMI handler was dispa cthed.623 // periodic SMI handler was dispatched. 624 624 // 625 625 PeriodicSmiLibraryHandler->DispatchFunction ( … … 629 629 630 630 // 631 // If this DispatchFunction() returns, then unconditi ally call PeriodicSmiExit()631 // If this DispatchFunction() returns, then unconditionally call PeriodicSmiExit() 632 632 // to perform a LongJump() back to PeriodicSmiDispatchFunctionOnCpu(). The 633 // LongJump() will resume exec tion on the original stack.633 // LongJump() will resume execution on the original stack. 634 634 // 635 635 PeriodicSmiExit (); … … 638 638 /** 639 639 Internal worker function that transfers control to an enabled periodic SMI 640 handler on the specified logi al CPU. This function determines if the periodic640 handler on the specified logical CPU. This function determines if the periodic 641 641 SMI handler yielded and needs to be resumed. It also and switches to an 642 642 allocated stack if one was allocated in PeriodicSmiEnable(). … … 653 653 { 654 654 // 655 // Save context in DispatchJumpBuffer. The in tial call to SetJump() always655 // Save context in DispatchJumpBuffer. The initial call to SetJump() always 656 656 // returns 0. If this is the initial call, then either resume from a prior 657 // call to PeriodicSmiYield() or call the DispatchFunction register d in657 // call to PeriodicSmiYield() or call the DispatchFunction registered in 658 658 // PeriodicSmiEnable() using an allocated stack if one was specified. 659 659 // … … 680 680 // If Stack is NULL then call DispatchFunction using current stack passing 681 681 // in the context that was registered and the amount of time that has 682 // elapsed since the previous time this periodic SMI handler was dispa cthed.682 // elapsed since the previous time this periodic SMI handler was dispatched. 683 683 // 684 684 PeriodicSmiLibraryHandler->DispatchFunction ( … … 688 688 689 689 // 690 // If this DispatchFunction() returns, then unconditi ally call PeriodicSmiExit()690 // If this DispatchFunction() returns, then unconditionally call PeriodicSmiExit() 691 691 // to perform a LongJump() back to this function. 692 692 // … … 713 713 /** 714 714 Internal worker function that transfers control to an enabled periodic SMI 715 handler on the specified logi al CPU. This worker function is only called715 handler on the specified logical CPU. This worker function is only called 716 716 using the SMM Services Table function SmmStartupThisAp() to execute the 717 717 periodic SMI handler on a logical CPU that is different than the one that is … … 737 737 738 738 // 739 // Execute dispatch function on the currently ex cuting logical CPU739 // Execute dispatch function on the currently executing logical CPU 740 740 // 741 741 PeriodicSmiDispatchFunctionOnCpu (PeriodicSmiLibraryHandler); … … 806 806 // 807 807 // Dispatch on the currently execution CPU if the CPU specified in PeriodicSmiEnable() 808 // was PERIODIC_SMI_LIB ARRY_ANY_CPU or the currently executing CPU matches the CPU808 // was PERIODIC_SMI_LIBRARY_ANY_CPU or the currently executing CPU matches the CPU 809 809 // that was specified in PeriodicSmiEnable(). 810 810 // … … 868 868 @param[in] Context Optional content to pass into DispatchFunction. 869 869 @param[in] TickPeriod The requested tick period in 100ns units that 870 control should be giv ien to the periodic SMI870 control should be given to the periodic SMI 871 871 handler. Must be one of the supported values 872 872 returned by PeriodicSmiSupportedPickPeriod(). … … 892 892 periodic SMI handler. 893 893 @retval EFI_OUT_OF_RESOURCES There are not enough resources to allocate the 894 stack spe ficied by StackSize.894 stack specified by StackSize. 895 895 @retval EFI_SUCCESS The periodic SMI handler was enabled. 896 896 … … 1078 1078 // 1079 1079 // Count the number of periodic SMI tick intervals that the SMM Periodic Timer 1080 // Di patch 2 Protocol supports.1080 // Dispatch 2 Protocol supports. 1081 1081 // 1082 1082 SmiTickInterval = NULL; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.c
r80721 r85718 37 37 // Retrieve SMM Base2 Protocol, Do not use gBS from UefiBootServicesTableLib on purpose 38 38 // to prevent inclusion of gBS, gST, and gImageHandle from SMM Drivers unless the 39 // SMM driver explicit y declares that dependency.39 // SMM driver explicitly declares that dependency. 40 40 // 41 41 Status = SystemTable->BootServices->LocateProtocol ( -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiDebugLibConOut/DebugLib.c
r80721 r85718 105 105 // 106 106 if (BaseListMarker == NULL) { 107 UnicodeVSPrintAsciiFormat (Buffer, MAX_DEBUG_MESSAGE_LENGTH,Format, VaListMarker);107 UnicodeVSPrintAsciiFormat (Buffer, sizeof (Buffer), Format, VaListMarker); 108 108 } else { 109 UnicodeBSPrintAsciiFormat (Buffer, MAX_DEBUG_MESSAGE_LENGTH,Format, BaseListMarker);109 UnicodeBSPrintAsciiFormat (Buffer, sizeof (Buffer), Format, BaseListMarker); 110 110 } 111 111 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiDebugLibConOut/DebugLibConstructor.c
r80721 r85718 65 65 mDebugST = SystemTable; 66 66 67 SystemTable->BootServices->CreateEvent Ex(68 EVT_ NOTIFY_SIGNAL,67 SystemTable->BootServices->CreateEvent ( 68 EVT_SIGNAL_EXIT_BOOT_SERVICES, 69 69 TPL_NOTIFY, 70 70 ExitBootServicesCallback, 71 71 NULL, 72 &gEfiEventExitBootServicesGuid,73 72 &mExitBootServicesEvent 74 73 ); -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
r80721 r85718 47 47 DebugPrintErrorLevelLib 48 48 49 [Guids]50 gEfiEventExitBootServicesGuid ## CONSUMES51 52 49 [Pcd] 53 50 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue ## SOMETIMES_CONSUMES -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiDebugLibDebugPortProtocol/DebugLibConstructor.c
r80721 r85718 65 65 mDebugBS = SystemTable->BootServices; 66 66 67 mDebugBS->CreateEvent Ex(68 EVT_ NOTIFY_SIGNAL,67 mDebugBS->CreateEvent ( 68 EVT_SIGNAL_EXIT_BOOT_SERVICES, 69 69 TPL_NOTIFY, 70 70 ExitBootServicesCallback, 71 71 NULL, 72 &gEfiEventExitBootServicesGuid,73 72 &mExitBootServicesEvent 74 73 ); -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiDebugLibDebugPortProtocol/UefiDebugLibDebugPortProtocol.inf
r80721 r85718 47 47 DebugPrintErrorLevelLib 48 48 49 [Guids]50 gEfiEventExitBootServicesGuid ## CONSUMES51 52 49 [Protocols] 53 50 gEfiDebugPortProtocolGuid ## CONSUMES -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiDebugLibStdErr/DebugLib.c
r80721 r85718 107 107 // 108 108 if (BaseListMarker == NULL) { 109 UnicodeVSPrintAsciiFormat (Buffer, MAX_DEBUG_MESSAGE_LENGTH, Format, VaListMarker);109 UnicodeVSPrintAsciiFormat (Buffer, sizeof (Buffer), Format, VaListMarker); 110 110 } else { 111 UnicodeBSPrintAsciiFormat (Buffer, MAX_DEBUG_MESSAGE_LENGTH, Format, BaseListMarker);111 UnicodeBSPrintAsciiFormat (Buffer, sizeof (Buffer), Format, BaseListMarker); 112 112 } 113 113 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiDebugLibStdErr/DebugLibConstructor.c
r80721 r85718 65 65 mDebugST = SystemTable; 66 66 67 SystemTable->BootServices->CreateEvent Ex(68 EVT_ NOTIFY_SIGNAL,67 SystemTable->BootServices->CreateEvent ( 68 EVT_SIGNAL_EXIT_BOOT_SERVICES, 69 69 TPL_NOTIFY, 70 70 ExitBootServicesCallback, 71 71 NULL, 72 &gEfiEventExitBootServicesGuid,73 72 &mExitBootServicesEvent 74 73 ); -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.inf
r80721 r85718 45 45 DebugPrintErrorLevelLib 46 46 47 [Guids]48 gEfiEventExitBootServicesGuid ## CONSUMES49 50 47 [Pcd] 51 48 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue ## SOMETIMES_CONSUMES -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c
r80721 r85718 69 69 // 70 70 FileInfo = AllocateZeroPool(FileInfoSize); 71 // 72 // now get the information 73 // 74 Status = FileHandle->GetInfo(FileHandle, 75 &gEfiFileInfoGuid, 76 &FileInfoSize, 77 FileInfo); 78 // 79 // if we got an error free the memory and return NULL 80 // 81 if (EFI_ERROR(Status) && (FileInfo != NULL)) { 82 FreePool(FileInfo); 83 FileInfo = NULL; 71 if (FileInfo != NULL) { 72 // 73 // now get the information 74 // 75 Status = FileHandle->GetInfo(FileHandle, 76 &gEfiFileInfoGuid, 77 &FileInfoSize, 78 FileInfo); 79 // 80 // if we got an error free the memory and return NULL 81 // 82 if (EFI_ERROR(Status)) { 83 FreePool(FileInfo); 84 FileInfo = NULL; 85 } 84 86 } 85 87 } … … 816 818 } else { 817 819 // 820 // Prepare to move to the parent directory. 821 // Also determine whether CurrentHandle refers to the Root directory. 822 // 823 Status = CurrentHandle->Open (CurrentHandle, &NextHigherHandle, L"..", EFI_FILE_MODE_READ, 0); 824 // 818 825 // We got info... do we have a name? if yes precede the current path with it... 819 826 // 820 if (StrLen (FileInfo->FileName) == 0) { 827 if ((StrLen (FileInfo->FileName) == 0) || EFI_ERROR (Status)) { 828 // 829 // Both FileInfo->FileName being '\0' and EFI_ERROR() suggest that 830 // CurrentHandle refers to the Root directory. As this loop ensures 831 // FullFileName is starting with '\\' at all times, signal success 832 // and exit the loop. 833 // While FileInfo->FileName could theoretically be a value other than 834 // '\0' or '\\', '\\' is guaranteed to be supported by the 835 // specification and hence its value can safely be ignored. 836 // 837 Status = EFI_SUCCESS; 821 838 if (*FullFileName == NULL) { 822 839 ASSERT((*FullFileName == NULL && Size == 0) || (*FullFileName != NULL)); … … 836 853 } 837 854 } 855 856 FileHandleClose(CurrentHandle); 838 857 // 839 858 // Move to the parent directory 840 859 // 841 Status = CurrentHandle->Open (CurrentHandle, &NextHigherHandle, L"..", EFI_FILE_MODE_READ, 0);842 if (EFI_ERROR (Status)) {843 break;844 }845 846 FileHandleClose(CurrentHandle);847 860 CurrentHandle = NextHigherHandle; 848 861 } -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiLib/UefiLib.c
r80721 r85718 639 639 FreePool (OpenInfoBuffer); 640 640 return Status; 641 } 642 643 /** 644 This function checks the supported languages list for a target language, 645 This only supports RFC 4646 Languages. 646 647 @param SupportedLanguages The supported languages 648 @param TargetLanguage The target language 649 650 @retval Returns EFI_SUCCESS if the language is supported, 651 EFI_UNSUPPORTED otherwise 652 **/ 653 EFI_STATUS 654 EFIAPI 655 IsLanguageSupported ( 656 IN CONST CHAR8 *SupportedLanguages, 657 IN CONST CHAR8 *TargetLanguage 658 ) 659 { 660 UINTN Index; 661 while (*SupportedLanguages != 0) { 662 for (Index = 0; SupportedLanguages[Index] != 0 && SupportedLanguages[Index] != ';'; Index++); 663 if ((AsciiStrnCmp(SupportedLanguages, TargetLanguage, Index) == 0) && (TargetLanguage[Index] == 0)) { 664 return EFI_SUCCESS; 665 } 666 SupportedLanguages += Index; 667 for (; *SupportedLanguages != 0 && *SupportedLanguages == ';'; SupportedLanguages++); 668 } 669 670 return EFI_UNSUPPORTED; 641 671 } 642 672 … … 801 831 // 802 832 Found = FALSE; 803 while (*SupportedLanguages != 0) {804 if (Iso639Language) {833 if (Iso639Language) { 834 while (*SupportedLanguages != 0) { 805 835 if (CompareIso639LanguageCode (Language, SupportedLanguages)) { 806 836 Found = TRUE; … … 808 838 } 809 839 SupportedLanguages += 3; 810 } else {811 for (Index = 0; SupportedLanguages[Index] != 0 && SupportedLanguages[Index] != ';'; Index++);812 if ((AsciiStrnCmp(SupportedLanguages, Language, Index) == 0) && (Language[Index] == 0)) {813 Found = TRUE;814 break;815 }816 SupportedLanguages += Index;817 for (; *SupportedLanguages != 0 && *SupportedLanguages == ';'; SupportedLanguages++);818 840 } 819 } 841 } else { 842 Found = !IsLanguageSupported(Language, SupportedLanguages); 843 } 844 820 845 821 846 // … … 1100 1125 // 1101 1126 Found = FALSE; 1102 while (*SupportedLanguages != 0) {1103 if (Iso639Language) {1127 if (Iso639Language) { 1128 while (*SupportedLanguages != 0) { 1104 1129 if (CompareIso639LanguageCode (Language, SupportedLanguages)) { 1105 1130 Found = TRUE; … … 1107 1132 } 1108 1133 SupportedLanguages += 3; 1109 } else {1110 for (Index = 0; SupportedLanguages[Index] != 0 && SupportedLanguages[Index] != ';'; Index++);1111 if (AsciiStrnCmp(SupportedLanguages, Language, Index) == 0) {1112 Found = TRUE;1113 break;1114 }1115 SupportedLanguages += Index;1116 for (; *SupportedLanguages != 0 && *SupportedLanguages == ';'; SupportedLanguages++);1117 1134 } 1118 } 1119 1135 } else { 1136 Found = !IsLanguageSupported(Language, SupportedLanguages); 1137 } 1120 1138 // 1121 1139 // If Language is not a member of SupportedLanguages, then return EFI_UNSUPPORTED -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiRuntimeLib/RuntimeLib.c
r80721 r85718 94 94 // Register SetVirtualAddressMap () notify function 95 95 // 96 Status = gBS->CreateEvent Ex(97 EVT_ NOTIFY_SIGNAL,96 Status = gBS->CreateEvent ( 97 EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE, 98 98 TPL_NOTIFY, 99 99 RuntimeLibVirtualNotifyEvent, 100 100 NULL, 101 &gEfiEventVirtualAddressChangeGuid,102 101 &mEfiVirtualNotifyEvent 103 102 ); … … 105 104 ASSERT_EFI_ERROR (Status); 106 105 107 Status = gBS->CreateEvent Ex(108 EVT_ NOTIFY_SIGNAL,106 Status = gBS->CreateEvent ( 107 EVT_SIGNAL_EXIT_BOOT_SERVICES, 109 108 TPL_NOTIFY, 110 109 RuntimeLibExitBootServicesEvent, 111 110 NULL, 112 &gEfiEventExitBootServicesGuid,113 111 &mEfiExitBootServicesEvent 114 112 ); -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
r80721 r85718 40 40 UefiRuntimeServicesTableLib 41 41 DebugLib 42 43 [Guids]44 gEfiEventExitBootServicesGuid ## CONSUMES ## Event45 gEfiEventVirtualAddressChangeGuid ## CONSUMES ## Event46 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Library/UefiScsiLib/UefiScsiLib.c
r80721 r85718 2 2 UEFI SCSI Library implementation 3 3 4 Copyright (c) 2006 - 20 18, Intel Corporation. All rights reserved.<BR>4 Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.<BR> 5 5 SPDX-License-Identifier: BSD-2-Clause-Patent 6 6 … … 24 24 #define EFI_SCSI_OP_LENGTH_SIX 0x6 25 25 #define EFI_SCSI_OP_LENGTH_TEN 0xa 26 #define EFI_SCSI_OP_LENGTH_TWELVE 0xc 26 27 #define EFI_SCSI_OP_LENGTH_SIXTEEN 0x10 27 28 … … 1055 1056 ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_TEN); 1056 1057 1057 CommandPacket.Timeout = Timeout;1058 CommandPacket.OutDataBuffer = DataBuffer;1059 CommandPacket.SenseData = SenseData;1060 CommandPacket.OutTransferLength = *DataLength;1061 CommandPacket.Cdb = Cdb;1058 CommandPacket.Timeout = Timeout; 1059 CommandPacket.OutDataBuffer = DataBuffer; 1060 CommandPacket.SenseData = SenseData; 1061 CommandPacket.OutTransferLength = *DataLength; 1062 CommandPacket.Cdb = Cdb; 1062 1063 // 1063 1064 // Fill Cdb for Write (10) Command 1064 1065 // 1065 1066 Cdb[0] = EFI_SCSI_OP_WRITE10; 1067 Cdb[1] = EFI_SCSI_BLOCK_FUA; 1066 1068 WriteUnaligned32 ((UINT32 *)&Cdb[2], SwapBytes32 (StartLba)); 1067 1069 WriteUnaligned16 ((UINT16 *)&Cdb[7], SwapBytes16 ((UINT16) SectorSize)); … … 1263 1265 // 1264 1266 Cdb[0] = EFI_SCSI_OP_WRITE16; 1267 Cdb[1] = EFI_SCSI_BLOCK_FUA; 1265 1268 WriteUnaligned64 ((UINT64 *)&Cdb[2], SwapBytes64 (StartLba)); 1266 1269 WriteUnaligned32 ((UINT32 *)&Cdb[10], SwapBytes32 (SectorSize)); … … 1276 1279 *SenseDataLength = CommandPacket.SenseDataLength; 1277 1280 *DataLength = CommandPacket.OutTransferLength; 1281 1282 return Status; 1283 } 1284 1285 1286 /** 1287 Execute Security Protocol In SCSI command on a specific SCSI target. 1288 1289 Executes the SCSI Security Protocol In command on the SCSI target specified by ScsiIo. 1290 If Timeout is zero, then this function waits indefinitely for the command to complete. 1291 If Timeout is greater than zero, then the command is executed and will timeout after 1292 Timeout 100 ns units. 1293 If ScsiIo is NULL, then ASSERT(). 1294 If SenseDataLength is NULL, then ASSERT(). 1295 If HostAdapterStatus is NULL, then ASSERT(). 1296 If TargetStatus is NULL, then ASSERT(). 1297 If TransferLength is NULL, then ASSERT(). 1298 1299 If SenseDataLength is non-zero and SenseData is not NULL, SenseData must meet buffer 1300 alignment requirement defined in EFI_SCSI_IO_PROTOCOL. Otherwise EFI_INVALID_PARAMETER 1301 gets returned. 1302 1303 If DataLength is non-zero and DataBuffer is not NULL, DataBuffer must meet buffer 1304 alignment requirement defined in EFI_SCSI_IO_PROTOCOL. Otherwise EFI_INVALID_PARAMETER 1305 gets returned. 1306 1307 @param[in] ScsiIo SCSI IO Protocol to use. 1308 @param[in] Timeout The length of timeout period. 1309 @param[in, out] SenseData A pointer to output sense data. 1310 @param[in, out] SenseDataLength The length of output sense data. 1311 @param[out] HostAdapterStatus The status of Host Adapter. 1312 @param[out] TargetStatus The status of the target. 1313 @param[in] SecurityProtocol The Security Protocol to use. 1314 @param[in] SecurityProtocolSpecific The Security Protocol Specific data. 1315 @param[in] Inc512 If TRUE, 512 increment (INC_512) bit will be set for the 1316 SECURITY PROTOCOL IN command. 1317 @param[in] DataLength The size in bytes of the data buffer. 1318 @param[in, out] DataBuffer A pointer to a data buffer. 1319 @param[out] TransferLength A pointer to a buffer to store the size in 1320 bytes of the data written to the data buffer. 1321 1322 @retval EFI_SUCCESS Command is executed successfully. 1323 @retval EFI_BAD_BUFFER_SIZE The SCSI Request Packet was executed, but the entire DataBuffer could 1324 not be transferred. The actual number of bytes transferred is returned in TransferLength. 1325 @retval EFI_NOT_READY The SCSI Request Packet could not be sent because there are too many 1326 SCSI Command Packets already queued. 1327 @retval EFI_DEVICE_ERROR A device error occurred while attempting to send SCSI Request Packet. 1328 @retval EFI_UNSUPPORTED The command described by the SCSI Request Packet is not supported by 1329 the SCSI initiator(i.e., SCSI Host Controller) 1330 @retval EFI_TIMEOUT A timeout occurred while waiting for the SCSI Request Packet to execute. 1331 @retval EFI_INVALID_PARAMETER The contents of the SCSI Request Packet are invalid. 1332 1333 **/ 1334 EFI_STATUS 1335 EFIAPI 1336 ScsiSecurityProtocolInCommand ( 1337 IN EFI_SCSI_IO_PROTOCOL *ScsiIo, 1338 IN UINT64 Timeout, 1339 IN OUT VOID *SenseData, OPTIONAL 1340 IN OUT UINT8 *SenseDataLength, 1341 OUT UINT8 *HostAdapterStatus, 1342 OUT UINT8 *TargetStatus, 1343 IN UINT8 SecurityProtocol, 1344 IN UINT16 SecurityProtocolSpecific, 1345 IN BOOLEAN Inc512, 1346 IN UINTN DataLength, 1347 IN OUT VOID *DataBuffer, OPTIONAL 1348 OUT UINTN *TransferLength 1349 ) 1350 { 1351 EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; 1352 EFI_STATUS Status; 1353 UINT8 Cdb[EFI_SCSI_OP_LENGTH_TWELVE]; 1354 1355 ASSERT (SenseDataLength != NULL); 1356 ASSERT (HostAdapterStatus != NULL); 1357 ASSERT (TargetStatus != NULL); 1358 ASSERT (ScsiIo != NULL); 1359 ASSERT (TransferLength != NULL); 1360 ASSERT (DataLength <= MAX_UINT32); 1361 1362 ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET)); 1363 ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_TWELVE); 1364 1365 CommandPacket.Timeout = Timeout; 1366 CommandPacket.InDataBuffer = DataBuffer; 1367 CommandPacket.SenseData = SenseData; 1368 CommandPacket.InTransferLength = (UINT32) DataLength; 1369 CommandPacket.Cdb = Cdb; 1370 // 1371 // Fill Cdb for Security Protocol In Command 1372 // 1373 Cdb[0] = EFI_SCSI_OP_SECURITY_PROTOCOL_IN; 1374 Cdb[1] = SecurityProtocol; 1375 WriteUnaligned16 ((UINT16 *)&Cdb[2], SwapBytes16 (SecurityProtocolSpecific)); 1376 1377 if (Inc512) { 1378 if (DataLength % 512 != 0) { 1379 return EFI_INVALID_PARAMETER; 1380 } 1381 Cdb[4] = BIT7; 1382 WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32) DataLength / 512)); 1383 } else { 1384 WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32) DataLength)); 1385 } 1386 1387 CommandPacket.CdbLength = EFI_SCSI_OP_LENGTH_TWELVE; 1388 CommandPacket.DataDirection = EFI_SCSI_DATA_IN; 1389 CommandPacket.SenseDataLength = *SenseDataLength; 1390 1391 Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); 1392 1393 *HostAdapterStatus = CommandPacket.HostAdapterStatus; 1394 *TargetStatus = CommandPacket.TargetStatus; 1395 *SenseDataLength = CommandPacket.SenseDataLength; 1396 *TransferLength = (UINTN) CommandPacket.InTransferLength; 1397 1398 return Status; 1399 } 1400 1401 1402 /** 1403 Execute Security Protocol Out SCSI command on a specific SCSI target. 1404 1405 Executes the SCSI Security Protocol Out command on the SCSI target specified by ScsiIo. 1406 If Timeout is zero, then this function waits indefinitely for the command to complete. 1407 If Timeout is greater than zero, then the command is executed and will timeout after 1408 Timeout 100 ns units. 1409 If ScsiIo is NULL, then ASSERT(). 1410 If SenseDataLength is NULL, then ASSERT(). 1411 If HostAdapterStatus is NULL, then ASSERT(). 1412 If TargetStatus is NULL, then ASSERT(). 1413 1414 If SenseDataLength is non-zero and SenseData is not NULL, SenseData must meet buffer 1415 alignment requirement defined in EFI_SCSI_IO_PROTOCOL. Otherwise EFI_INVALID_PARAMETER 1416 gets returned. 1417 1418 If DataLength is non-zero and DataBuffer is not NULL, DataBuffer must meet buffer 1419 alignment requirement defined in EFI_SCSI_IO_PROTOCOL. Otherwise EFI_INVALID_PARAMETER 1420 gets returned. 1421 1422 @param[in] ScsiIo SCSI IO Protocol to use. 1423 @param[in] Timeout The length of timeout period. 1424 @param[in, out] SenseData A pointer to output sense data. 1425 @param[in, out] SenseDataLength The length of output sense data. 1426 @param[out] HostAdapterStatus The status of Host Adapter. 1427 @param[out] TargetStatus The status of the target. 1428 @param[in] SecurityProtocol The Security Protocol to use. 1429 @param[in] SecurityProtocolSpecific The Security Protocol Specific data. 1430 @param[in] Inc512 If TRUE, 512 increment (INC_512) bit will be set for the 1431 SECURITY PROTOCOL OUT command. 1432 @param[in] DataLength The size in bytes of the transfer data. 1433 @param[in, out] DataBuffer A pointer to a data buffer. 1434 1435 @retval EFI_SUCCESS Command is executed successfully. 1436 @retval EFI_BAD_BUFFER_SIZE The SCSI Request Packet was executed, but the entire DataBuffer could 1437 not be transferred. The actual number of bytes transferred is returned in DataLength. 1438 @retval EFI_NOT_READY The SCSI Request Packet could not be sent because there are too many 1439 SCSI Command Packets already queued. 1440 @retval EFI_DEVICE_ERROR A device error occurred while attempting to send SCSI Request Packet. 1441 @retval EFI_UNSUPPORTED The command described by the SCSI Request Packet is not supported by 1442 the SCSI initiator(i.e., SCSI Host Controller) 1443 @retval EFI_TIMEOUT A timeout occurred while waiting for the SCSI Request Packet to execute. 1444 @retval EFI_INVALID_PARAMETER The contents of the SCSI Request Packet are invalid. 1445 1446 **/ 1447 EFI_STATUS 1448 EFIAPI 1449 ScsiSecurityProtocolOutCommand ( 1450 IN EFI_SCSI_IO_PROTOCOL *ScsiIo, 1451 IN UINT64 Timeout, 1452 IN OUT VOID *SenseData, OPTIONAL 1453 IN OUT UINT8 *SenseDataLength, 1454 OUT UINT8 *HostAdapterStatus, 1455 OUT UINT8 *TargetStatus, 1456 IN UINT8 SecurityProtocol, 1457 IN UINT16 SecurityProtocolSpecific, 1458 IN BOOLEAN Inc512, 1459 IN UINTN DataLength, 1460 IN OUT VOID *DataBuffer OPTIONAL 1461 ) 1462 { 1463 EFI_SCSI_IO_SCSI_REQUEST_PACKET CommandPacket; 1464 EFI_STATUS Status; 1465 UINT8 Cdb[EFI_SCSI_OP_LENGTH_TWELVE]; 1466 1467 ASSERT (SenseDataLength != NULL); 1468 ASSERT (HostAdapterStatus != NULL); 1469 ASSERT (TargetStatus != NULL); 1470 ASSERT (ScsiIo != NULL); 1471 ASSERT (DataLength <= MAX_UINT32); 1472 1473 ZeroMem (&CommandPacket, sizeof (EFI_SCSI_IO_SCSI_REQUEST_PACKET)); 1474 ZeroMem (Cdb, EFI_SCSI_OP_LENGTH_TWELVE); 1475 1476 CommandPacket.Timeout = Timeout; 1477 CommandPacket.OutDataBuffer = DataBuffer; 1478 CommandPacket.SenseData = SenseData; 1479 CommandPacket.OutTransferLength = (UINT32) DataLength; 1480 CommandPacket.Cdb = Cdb; 1481 // 1482 // Fill Cdb for Security Protocol Out Command 1483 // 1484 Cdb[0] = EFI_SCSI_OP_SECURITY_PROTOCOL_OUT; 1485 Cdb[1] = SecurityProtocol; 1486 WriteUnaligned16 ((UINT16 *)&Cdb[2], SwapBytes16 (SecurityProtocolSpecific)); 1487 1488 if (Inc512) { 1489 if (DataLength % 512 != 0) { 1490 return EFI_INVALID_PARAMETER; 1491 } 1492 Cdb[4] = BIT7; 1493 WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32) DataLength / 512)); 1494 } else { 1495 WriteUnaligned32 ((UINT32 *)&Cdb[6], SwapBytes32 ((UINT32) DataLength)); 1496 } 1497 1498 CommandPacket.CdbLength = EFI_SCSI_OP_LENGTH_TWELVE; 1499 CommandPacket.DataDirection = EFI_SCSI_DATA_OUT; 1500 CommandPacket.SenseDataLength = *SenseDataLength; 1501 1502 Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket, NULL); 1503 1504 *HostAdapterStatus = CommandPacket.HostAdapterStatus; 1505 *TargetStatus = CommandPacket.TargetStatus; 1506 *SenseDataLength = CommandPacket.SenseDataLength; 1278 1507 1279 1508 return Status; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/MdePkg.dec
r80721 r85718 7 7 # Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR> 8 8 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 9 # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>9 # (C) Copyright 2016 - 2020 Hewlett Packard Enterprise Development LP<BR> 10 10 # 11 11 # SPDX-License-Identifier: BSD-2-Clause-Patent … … 40 40 Include/AArch64 41 41 42 [Includes.RISCV64] 43 Include/RiscV64 44 42 45 [LibraryClasses] 43 46 ## @libraryclass Provides most usb APIs to support the Hid requests defined in Usb Hid 1.1 spec … … 132 135 ## PCI configuration and enable the PCI operations to be replayed during an 133 136 ## S3 resume. This library class maps directly on top of the PciSegmentLib class. 134 S3PciSegmentLib|Include/Library/ PciSegmentLib.h137 S3PciSegmentLib|Include/Library/S3PciSegmentLib.h 135 138 136 139 ## @libraryclass Provides services to access PCI Configuration Space. … … 245 248 StandaloneMmDriverEntryPoint|Include/Library/StandaloneMmDriverEntryPoint.h 246 249 250 ## @libraryclass Provides a unit test framework 251 # 252 UnitTestLib|Include/Library/UnitTestLib.h 253 247 254 [LibraryClasses.IA32, LibraryClasses.X64] 248 255 ## @libraryclass Abstracts both S/W SMI generation and detection. … … 429 436 ## Include/Guid/Cper.h 430 437 gEfiEventNotificationTypeDmarGuid = { 0x667DD791, 0xC6B3, 0x4c27, { 0x8A, 0x6B, 0x0F, 0x8E, 0x72, 0x2D, 0xEB, 0x41 }} 438 439 ## Include/Guid/Cper.h 440 gEfiEventNotificationTypeSeaGuid = { 0x9A78788A, 0xBBE8, 0x11E4, { 0x80, 0x9E, 0x67, 0x61, 0x1E, 0x5D, 0x46, 0xB0 }} 441 442 ## Include/Guid/Cper.h 443 gEfiEventNotificationTypeSeiGuid = { 0x5C284C81, 0xB0AE, 0x4E87, { 0xA3, 0x22, 0xB0, 0x4C, 0x85, 0x62, 0x43, 0x23 }} 444 445 ## Include/Guid/Cper.h 446 gEfiEventNotificationTypePeiGuid = { 0x09A9D5AC, 0x5204, 0x4214, { 0x96, 0xE5, 0x94, 0x99, 0x2E, 0x75, 0x2B, 0xCD }} 431 447 432 448 ## Include/Guid/Cper.h … … 575 591 # 576 592 577 ## Include/Guid/PropertiesTable.h578 gEfiPropertiesTableGuid = { 0x880aaca3, 0x4adc, 0x4a04, {0x90, 0x79, 0xb7, 0x47, 0x34, 0x8, 0x25, 0xe5 }}579 580 593 ## Include/Guid/SystemResourceTable.h 581 594 gEfiSystemResourceTableGuid = { 0xb122a263, 0x3661, 0x4f68, {0x99, 0x29, 0x78, 0xf8, 0xb0, 0xd6, 0x21, 0x80 }} … … 642 655 gEfiBttAbstractionGuid = { 0x18633bfc, 0x1735, 0x4217, { 0x8a, 0xc9, 0x17, 0x23, 0x92, 0x82, 0xd3, 0xf8 }} 643 656 657 # GUIDs defined in UEFI2.8 658 # 659 ## Include/Guid/JsonCapsule.h 660 gEfiJsonConfigDataTableGuid = { 0x87367f87, 0x1119, 0x41ce, { 0xaa, 0xec, 0x8b, 0xe0, 0x11, 0x1f, 0x55, 0x8a }} 661 gEfiJsonCapsuleDataTableGuid = { 0x35e7a725, 0x8dd2, 0x4cac, { 0x80, 0x11, 0x33, 0xcd, 0xa8, 0x10, 0x90, 0x56 }} 662 gEfiJsonCapsuleResultTableGuid = { 0xdbc461c3, 0xb3de, 0x422a, { 0xb9, 0xb4, 0x98, 0x86, 0xfd, 0x49, 0xa1, 0xe5 }} 663 gEfiJsonCapsuleIdGuid = { 0x67d6f4cd, 0xd6b8, 0x4573, { 0xbf, 0x4a, 0xde, 0x5e, 0x25, 0x2d, 0x61, 0xae }} 664 665 ## Include/Guid/HiiPlatformSetupFormset.h 666 gEfiHiiResetStyleFormsetGuid = { 0x790217bd, 0xbecf, 0x485b, { 0x91, 0x70, 0x5f, 0xf7, 0x11, 0x31, 0x8b, 0x27 }} 667 668 # GUIDs defined in UEFI2.8a 669 # 670 ## Include/Guid/RtPropertiesTable.h 671 gEfiRtPropertiesTableGuid = { 0xeb66918a, 0x7eef, 0x402a, { 0x84, 0x2e, 0x93, 0x1d, 0x21, 0xc3, 0x8a, 0xe9 }} 672 644 673 # 645 674 # GUID defined in PI1.0 … … 942 971 gEfiPeiCoreFvLocationPpiGuid = { 0x52888eae, 0x5b10, 0x47d0, { 0xa8, 0x7f, 0xb8, 0x22, 0xab, 0xa0, 0xca, 0xf4 }} 943 972 973 ## Include/Ppi/DelayedDispatch.h 974 gEfiPeiDelayedDispatchPpiGuid = { 0x869c711d, 0x649c, 0x44fe, { 0x8b, 0x9e, 0x2c, 0xbb, 0x29, 0x11, 0xc3, 0xe6 }} 975 944 976 [Protocols] 945 977 ## Include/Protocol/Pcd.h … … 1276 1308 ## Include/Protocol/SpiSmmNorFlash.h 1277 1309 gEfiSpiSmmNorFlashProtocolGuid = { 0xaab18f19, 0xfe14, 0x4666, { 0x86, 0x04, 0x87, 0xff, 0x6d, 0x66, 0x2c, 0x9a }} 1310 1311 # 1312 # Protocols defined in PI 1.7. 1313 # 1314 1315 ## Include/Protocol/MmCommunication2.h 1316 gEfiMmCommunication2ProtocolGuid = { 0x378daedc, 0xf06b, 0x4446, { 0x83, 0x14, 0x40, 0xab, 0x93, 0x3c, 0x87, 0xa3 }} 1278 1317 1279 1318 # -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/MdePkg.dsc
r80721 r85718 4 4 # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> 5 5 # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR> 6 # (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR> 6 7 # 7 8 # SPDX-License-Identifier: BSD-2-Clause-Patent … … 15 16 DSC_SPECIFICATION = 0x00010005 16 17 OUTPUT_DIRECTORY = Build/Mde 17 SUPPORTED_ARCHITECTURES = IA32|X64|EBC|ARM|AARCH64 18 SUPPORTED_ARCHITECTURES = IA32|X64|EBC|ARM|AARCH64|RISCV64 18 19 BUILD_TARGETS = DEBUG|RELEASE|NOOPT 19 20 SKUID_IDENTIFIER = DEFAULT 21 22 !include UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc 20 23 21 24 [PcdsFeatureFlag] … … 27 30 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000 28 31 32 [LibraryClasses] 33 SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf 34 29 35 [Components] 36 MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf 30 37 MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf 31 38 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf … … 61 68 MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf 62 69 MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf 70 MdePkg/Library/BaseRngLibNull/BaseRngLibNull.inf 63 71 64 72 MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf … … 114 122 MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLib.inf 115 123 124 [Components.IA32, Components.X64, Components.ARM, Components.AARCH64] 125 # 126 # Add UEFI Target Based Unit Tests 127 # 128 MdePkg/Test/UnitTest/Library/BaseLib/BaseLibUnitTestsUefi.inf 129 130 # 131 # Build PEIM, DXE_DRIVER, SMM_DRIVER, UEFI Shell components that test SafeIntLib 132 # 133 MdePkg/Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLibPei.inf 134 MdePkg/Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLibDxe.inf 135 MdePkg/Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLibSmm.inf 136 MdePkg/Test/UnitTest/Library/BaseSafeIntLib/TestBaseSafeIntLibUefiShell.inf 137 116 138 [Components.IA32, Components.X64] 117 139 MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
Note:
See TracChangeset
for help on using the changeset viewer.