Changeset 77662 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include
- Timestamp:
- Mar 12, 2019 12:40:12 PM (6 years ago)
- Location:
- trunk/src/VBox/Devices/EFI/FirmwareNew
- Files:
-
- 56 added
- 3 deleted
- 29 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 /vendor/edk2/current 103735-103757,103769-103776,129194-129237
-
Property svn:mergeinfo
changed from (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Guid/FirmwarePerformance.h
r58459 r77662 2 2 ACPI Firmware Performance Data Table (FPDT) implementation specific definitions. 3 3 4 Copyright (c) 2011 - 201 3, Intel Corporation. All rights reserved.<BR>4 Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR> 5 5 This program and the accompanying materials 6 6 are licensed and made available under the terms and conditions of the BSD License … … 96 96 97 97 /// 98 /// Boot performance table for the performance record in SMM phase. 99 /// 100 /// 101 typedef struct { 102 EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header; ///< Common ACPI table header. 103 // 104 // one or more boot performance records. 105 // 106 } SMM_BOOT_PERFORMANCE_TABLE; 107 108 /// 98 109 /// Performance data pointed by Performance Pointer Record. 99 110 /// … … 117 128 // Log BOOT RECORD from SMM driver on boot time. 118 129 // 119 #define SMM_FPDT_FUNCTION_GET_BOOT_RECORD_SIZE 1 120 #define SMM_FPDT_FUNCTION_GET_BOOT_RECORD_DATA 2 130 #define SMM_FPDT_FUNCTION_GET_BOOT_RECORD_SIZE 1 131 #define SMM_FPDT_FUNCTION_GET_BOOT_RECORD_DATA 2 132 #define SMM_FPDT_FUNCTION_GET_BOOT_RECORD_DATA_BY_OFFSET 3 121 133 122 134 typedef struct { … … 125 137 UINTN BootRecordSize; 126 138 VOID *BootRecordData; 139 UINTN BootRecordOffset; 127 140 } SMM_BOOT_RECORD_COMMUNICATE; 128 141 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Guid/MdeModuleHii.h
r58466 r77662 2 2 EDKII extented HII IFR guid opcodes. 3 3 4 Copyright (c) 2006 - 201 0, Intel Corporation. All rights reserved.<BR>4 Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR> 5 5 This program and the accompanying materials are licensed and made available under 6 6 the terms and conditions of the BSD License that accompanies this distribution. … … 212 212 } EFI_IFR_GUID_VAREQNAME; 213 213 214 /// 215 /// EDKII implementation extension GUID, used to indaicate there are bit fields in the varstore. 216 /// 217 #define EDKII_IFR_BIT_VARSTORE_GUID \ 218 {0x82DDD68B, 0x9163, 0x4187, {0x9B, 0x27, 0x20, 0xA8, 0xFD, 0x60,0xA7, 0x1D}} 219 220 /// 221 /// EDKII implementation extension flags, used to indaicate the disply style and bit width for bit filed storage. 222 /// Two high bits for display style and the low six bits for bit width. 223 /// 224 #define EDKII_IFR_DISPLAY_BIT 0xC0 225 #define EDKII_IFR_DISPLAY_INT_DEC_BIT 0x00 226 #define EDKII_IFR_DISPLAY_UINT_DEC_BIT 0x40 227 #define EDKII_IFR_DISPLAY_UINT_HEX_BIT 0x80 228 229 #define EDKII_IFR_NUMERIC_SIZE_BIT 0x3F 230 214 231 #pragma pack() 215 232 216 233 extern EFI_GUID gEfiIfrTianoGuid; 217 234 extern EFI_GUID gEfiIfrFrameworkGuid; 235 extern EFI_GUID gEdkiiIfrBitVarstoreGuid; 218 236 219 237 #endif -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Guid/MemoryProfile.h
r58466 r77662 2 2 Memory profile data structure. 3 3 4 Copyright (c) 2014 , Intel Corporation. All rights reserved.<BR>4 Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR> 5 5 This program and the accompanying materials 6 6 are licensed and made available under the terms and conditions of the BSD License … … 16 16 #define _MEMORY_PROFILE_H_ 17 17 18 // 19 // For BIOS MemoryType (0 ~ EfiMaxMemoryType), it is recorded in UsageByType[MemoryType]. (Each valid entry has one entry) 18 #include <Pi/PiFirmwareFile.h> 19 20 // 21 // For BIOS MemoryType (0 ~ EfiMaxMemoryType - 1), it is recorded in UsageByType[MemoryType]. (Each valid entry has one entry) 20 22 // For OS MemoryType (0x80000000 ~ 0xFFFFFFFF), it is recorded in UsageByType[EfiMaxMemoryType]. (All types are combined into one entry) 23 // For OEM MemoryType (0x70000000 ~ 0x7FFFFFFF), it is recorded in UsageByType[EfiMaxMemoryType + 1]. (All types are combined into one entry) 21 24 // 22 25 … … 28 31 29 32 #define MEMORY_PROFILE_CONTEXT_SIGNATURE SIGNATURE_32 ('M','P','C','T') 30 #define MEMORY_PROFILE_CONTEXT_REVISION 0x000 133 #define MEMORY_PROFILE_CONTEXT_REVISION 0x0002 31 34 32 35 typedef struct { … … 34 37 UINT64 CurrentTotalUsage; 35 38 UINT64 PeakTotalUsage; 36 UINT64 CurrentTotalUsageByType[EfiMaxMemoryType + 1];37 UINT64 PeakTotalUsageByType[EfiMaxMemoryType + 1];39 UINT64 CurrentTotalUsageByType[EfiMaxMemoryType + 2]; 40 UINT64 PeakTotalUsageByType[EfiMaxMemoryType + 2]; 38 41 UINT64 TotalImageSize; 39 42 UINT32 ImageCount; … … 42 45 43 46 #define MEMORY_PROFILE_DRIVER_INFO_SIGNATURE SIGNATURE_32 ('M','P','D','I') 44 #define MEMORY_PROFILE_DRIVER_INFO_REVISION 0x000 147 #define MEMORY_PROFILE_DRIVER_INFO_REVISION 0x0003 45 48 46 49 typedef struct { … … 56 59 UINT64 CurrentUsage; 57 60 UINT64 PeakUsage; 58 UINT64 CurrentUsageByType[EfiMaxMemoryType + 1]; 59 UINT64 PeakUsageByType[EfiMaxMemoryType + 1]; 61 UINT64 CurrentUsageByType[EfiMaxMemoryType + 2]; 62 UINT64 PeakUsageByType[EfiMaxMemoryType + 2]; 63 UINT16 PdbStringOffset; 64 UINT8 Reserved2[6]; 65 //CHAR8 PdbString[]; 60 66 } MEMORY_PROFILE_DRIVER_INFO; 61 67 … … 67 73 } MEMORY_PROFILE_ACTION; 68 74 75 // 76 // Below is the detailed MEMORY_PROFILE_ACTION definition. 77 // 78 // 31 15 9 8 8 7 7 6 6 5-4 3 - 0 79 // +----------------------------------------------+ 80 // |User | |Lib| |Re|Copy|Zero|Align|Type|Basic| 81 // +----------------------------------------------+ 82 // 83 84 // 85 // Basic Action 86 // 1 : AllocatePages 87 // 2 : FreePages 88 // 3 : AllocatePool 89 // 4 : FreePool 90 // 91 #define MEMORY_PROFILE_ACTION_BASIC_MASK 0xF 92 93 // 94 // Extension 95 // 96 #define MEMORY_PROFILE_ACTION_EXTENSION_MASK 0xFFF0 97 #define MEMORY_PROFILE_ACTION_EXTENSION_LIB_MASK 0x8000 98 #define MEMORY_PROFILE_ACTION_EXTENSION_REALLOC_MASK 0x0200 99 #define MEMORY_PROFILE_ACTION_EXTENSION_COPY_MASK 0x0100 100 #define MEMORY_PROFILE_ACTION_EXTENSION_ZERO_MASK 0x0080 101 #define MEMORY_PROFILE_ACTION_EXTENSION_ALIGN_MASK 0x0040 102 #define MEMORY_PROFILE_ACTION_EXTENSION_MEM_TYPE_MASK 0x0030 103 #define MEMORY_PROFILE_ACTION_EXTENSION_MEM_TYPE_BASIC 0x0000 104 #define MEMORY_PROFILE_ACTION_EXTENSION_MEM_TYPE_RUNTIME 0x0010 105 #define MEMORY_PROFILE_ACTION_EXTENSION_MEM_TYPE_RESERVED 0x0020 106 107 // 108 // Extension (used by memory allocation lib) 109 // 110 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_PAGES 0x8001 111 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_PAGES 0x8011 112 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_PAGES 0x8021 113 #define MEMORY_PROFILE_ACTION_LIB_FREE_PAGES 0x8002 114 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ALIGNED_PAGES 0x8041 115 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ALIGNED_RUNTIME_PAGES 0x8051 116 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ALIGNED_RESERVED_PAGES 0x8061 117 #define MEMORY_PROFILE_ACTION_LIB_FREE_ALIGNED_PAGES 0x8042 118 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_POOL 0x8003 119 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_POOL 0x8013 120 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_POOL 0x8023 121 #define MEMORY_PROFILE_ACTION_LIB_FREE_POOL 0x8004 122 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_ZERO_POOL 0x8083 123 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_ZERO_POOL 0x8093 124 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_ZERO_POOL 0x80a3 125 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_COPY_POOL 0x8103 126 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RUNTIME_COPY_POOL 0x8113 127 #define MEMORY_PROFILE_ACTION_LIB_ALLOCATE_RESERVED_COPY_POOL 0x8123 128 #define MEMORY_PROFILE_ACTION_LIB_REALLOCATE_POOL 0x8203 129 #define MEMORY_PROFILE_ACTION_LIB_REALLOCATE_RUNTIME_POOL 0x8213 130 #define MEMORY_PROFILE_ACTION_LIB_REALLOCATE_RESERVED_POOL 0x8223 131 132 // 133 // User defined: 0x80000000~0xFFFFFFFF 134 // 135 // NOTE: User defined action MUST OR the basic action, 136 // so that core can know the action is allocate or free, 137 // and the type is pages (can be freed partially) 138 // or pool (cannot be freed partially). 139 // 140 #define MEMORY_PROFILE_ACTION_USER_DEFINED_MASK 0x80000000 141 69 142 #define MEMORY_PROFILE_ALLOC_INFO_SIGNATURE SIGNATURE_32 ('M','P','A','I') 70 #define MEMORY_PROFILE_ALLOC_INFO_REVISION 0x000 1143 #define MEMORY_PROFILE_ALLOC_INFO_REVISION 0x0002 71 144 72 145 typedef struct { … … 74 147 PHYSICAL_ADDRESS CallerAddress; 75 148 UINT32 SequenceId; 76 UINT8 Reserved[4]; 149 UINT8 Reserved[2]; 150 UINT16 ActionStringOffset; 77 151 MEMORY_PROFILE_ACTION Action; 78 152 EFI_MEMORY_TYPE MemoryType; 79 153 PHYSICAL_ADDRESS Buffer; 80 154 UINT64 Size; 155 //CHAR8 ActionString[]; 81 156 } MEMORY_PROFILE_ALLOC_INFO; 82 157 … … 141 216 142 217 @return EFI_SUCCESS Get the memory profile data successfully. 218 @return EFI_UNSUPPORTED Memory profile is unsupported. 143 219 @return EFI_BUFFER_TO_SMALL The ProfileSize is too small for the resulting data. 144 220 ProfileSize is updated with the size required. … … 162 238 @param[in] FileType File type of the image. 163 239 164 @return EFI_SUCCESS Register success. 165 @return EFI_OUT_OF_RESOURCE No enough resource for this register. 240 @return EFI_SUCCESS Register successfully. 241 @return EFI_UNSUPPORTED Memory profile is unsupported, 242 or memory profile for the image is not required. 243 @return EFI_OUT_OF_RESOURCES No enough resource for this register. 166 244 167 245 **/ … … 184 262 @param[in] ImageSize Image size. 185 263 186 @return EFI_SUCCESS Unregister success. 264 @return EFI_SUCCESS Unregister successfully. 265 @return EFI_UNSUPPORTED Memory profile is unsupported, 266 or memory profile for the image is not required. 187 267 @return EFI_NOT_FOUND The image is not found. 188 268 … … 197 277 ); 198 278 279 #define MEMORY_PROFILE_RECORDING_ENABLE TRUE 280 #define MEMORY_PROFILE_RECORDING_DISABLE FALSE 281 282 /** 283 Get memory profile recording state. 284 285 @param[in] This The EDKII_MEMORY_PROFILE_PROTOCOL instance. 286 @param[out] RecordingState Recording state. 287 288 @return EFI_SUCCESS Memory profile recording state is returned. 289 @return EFI_UNSUPPORTED Memory profile is unsupported. 290 @return EFI_INVALID_PARAMETER RecordingState is NULL. 291 292 **/ 293 typedef 294 EFI_STATUS 295 (EFIAPI *EDKII_MEMORY_PROFILE_GET_RECORDING_STATE) ( 296 IN EDKII_MEMORY_PROFILE_PROTOCOL *This, 297 OUT BOOLEAN *RecordingState 298 ); 299 300 /** 301 Set memory profile recording state. 302 303 @param[in] This The EDKII_MEMORY_PROFILE_PROTOCOL instance. 304 @param[in] RecordingState Recording state. 305 306 @return EFI_SUCCESS Set memory profile recording state successfully. 307 @return EFI_UNSUPPORTED Memory profile is unsupported. 308 309 **/ 310 typedef 311 EFI_STATUS 312 (EFIAPI *EDKII_MEMORY_PROFILE_SET_RECORDING_STATE) ( 313 IN EDKII_MEMORY_PROFILE_PROTOCOL *This, 314 IN BOOLEAN RecordingState 315 ); 316 317 /** 318 Record memory profile of multilevel caller. 319 320 @param[in] This The EDKII_MEMORY_PROFILE_PROTOCOL instance. 321 @param[in] CallerAddress Address of caller. 322 @param[in] Action Memory profile action. 323 @param[in] MemoryType Memory type. 324 EfiMaxMemoryType means the MemoryType is unknown. 325 @param[in] Buffer Buffer address. 326 @param[in] Size Buffer size. 327 @param[in] ActionString String for memory profile action. 328 Only needed for user defined allocate action. 329 330 @return EFI_SUCCESS Memory profile is updated. 331 @return EFI_UNSUPPORTED Memory profile is unsupported, 332 or memory profile for the image is not required, 333 or memory profile for the memory type is not required. 334 @return EFI_ACCESS_DENIED It is during memory profile data getting. 335 @return EFI_ABORTED Memory profile recording is not enabled. 336 @return EFI_OUT_OF_RESOURCES No enough resource to update memory profile for allocate action. 337 @return EFI_NOT_FOUND No matched allocate info found for free action. 338 339 **/ 340 typedef 341 EFI_STATUS 342 (EFIAPI *EDKII_MEMORY_PROFILE_RECORD) ( 343 IN EDKII_MEMORY_PROFILE_PROTOCOL *This, 344 IN PHYSICAL_ADDRESS CallerAddress, 345 IN MEMORY_PROFILE_ACTION Action, 346 IN EFI_MEMORY_TYPE MemoryType, 347 IN VOID *Buffer, 348 IN UINTN Size, 349 IN CHAR8 *ActionString OPTIONAL 350 ); 351 199 352 struct _EDKII_MEMORY_PROFILE_PROTOCOL { 200 EDKII_MEMORY_PROFILE_GET_DATA GetData; 201 EDKII_MEMORY_PROFILE_REGISTER_IMAGE RegisterImage; 202 EDKII_MEMORY_PROFILE_UNREGISTER_IMAGE UnregisterImage; 353 EDKII_MEMORY_PROFILE_GET_DATA GetData; 354 EDKII_MEMORY_PROFILE_REGISTER_IMAGE RegisterImage; 355 EDKII_MEMORY_PROFILE_UNREGISTER_IMAGE UnregisterImage; 356 EDKII_MEMORY_PROFILE_GET_RECORDING_STATE GetRecordingState; 357 EDKII_MEMORY_PROFILE_SET_RECORDING_STATE SetRecordingState; 358 EDKII_MEMORY_PROFILE_RECORD Record; 203 359 }; 204 360 … … 237 393 // SMRAM profile command 238 394 // 239 #define SMRAM_PROFILE_COMMAND_GET_PROFILE_INFO 0x1240 #define SMRAM_PROFILE_COMMAND_GET_PROFILE_DATA 0x2395 #define SMRAM_PROFILE_COMMAND_GET_PROFILE_INFO 0x1 396 #define SMRAM_PROFILE_COMMAND_GET_PROFILE_DATA 0x2 241 397 // 242 398 // Below 2 commands are now used by ECP only and only valid before SmmReadyToLock 243 399 // 244 #define SMRAM_PROFILE_COMMAND_REGISTER_IMAGE 0x3 245 #define SMRAM_PROFILE_COMMAND_UNREGISTER_IMAGE 0x4 400 #define SMRAM_PROFILE_COMMAND_REGISTER_IMAGE 0x3 401 #define SMRAM_PROFILE_COMMAND_UNREGISTER_IMAGE 0x4 402 403 #define SMRAM_PROFILE_COMMAND_GET_PROFILE_DATA_BY_OFFSET 0x5 404 #define SMRAM_PROFILE_COMMAND_GET_RECORDING_STATE 0x6 405 #define SMRAM_PROFILE_COMMAND_SET_RECORDING_STATE 0x7 246 406 247 407 typedef struct { … … 264 424 typedef struct { 265 425 SMRAM_PROFILE_PARAMETER_HEADER Header; 426 // 427 // On input, profile buffer size. 428 // On output, actual profile data size copied. 429 // 430 UINT64 ProfileSize; 431 PHYSICAL_ADDRESS ProfileBuffer; 432 // 433 // On input, profile buffer offset to copy. 434 // On output, next time profile buffer offset to copy. 435 // 436 UINT64 ProfileOffset; 437 } SMRAM_PROFILE_PARAMETER_GET_PROFILE_DATA_BY_OFFSET; 438 439 typedef struct { 440 SMRAM_PROFILE_PARAMETER_HEADER Header; 441 BOOLEAN RecordingState; 442 } SMRAM_PROFILE_PARAMETER_RECORDING_STATE; 443 444 typedef struct { 445 SMRAM_PROFILE_PARAMETER_HEADER Header; 266 446 EFI_GUID FileName; 267 447 PHYSICAL_ADDRESS ImageBuffer; … … 278 458 279 459 #define EDKII_MEMORY_PROFILE_GUID { \ 280 0x821c9a09, 0x541a, 0x40f6, 0x9f, 0x43, 0xa, 0xd1, 0x93, 0xa1, 0x2c, 0xfe\460 0x821c9a09, 0x541a, 0x40f6, { 0x9f, 0x43, 0xa, 0xd1, 0x93, 0xa1, 0x2c, 0xfe } \ 281 461 } 282 462 283 463 extern EFI_GUID gEdkiiMemoryProfileGuid; 284 464 465 typedef EDKII_MEMORY_PROFILE_PROTOCOL EDKII_SMM_MEMORY_PROFILE_PROTOCOL; 466 467 #define EDKII_SMM_MEMORY_PROFILE_GUID { \ 468 0xe22bbcca, 0x516a, 0x46a8, { 0x80, 0xe2, 0x67, 0x45, 0xe8, 0x36, 0x93, 0xbd } \ 469 } 470 471 extern EFI_GUID gEdkiiSmmMemoryProfileGuid; 472 285 473 #endif 286 474 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Guid/MemoryStatusCodeRecord.h
r58466 r77662 3 3 4 4 Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> 5 (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR> 5 6 This program and the accompanying materials are licensed and made available under 6 7 the terms and conditions of the BSD License that accompanies this distribution. … … 57 58 58 59 /// 60 /// A header structure that is followed by an array of records that contain the 61 /// parameters passed into the ReportStatusCode() service in the DXE Services Table. 62 /// 63 typedef struct { 64 /// 65 /// The index pointing to the last recored being stored. 66 /// 67 UINT32 RecordIndex; 68 /// 69 /// The number of records being stored. 70 /// 71 UINT32 NumberOfRecords; 72 /// 73 /// The maximum number of records that can be stored. 74 /// 75 UINT32 MaxRecordsNumber; 76 } RUNTIME_MEMORY_STATUSCODE_HEADER; 77 78 /// 59 79 /// A structure that contains the parameters passed into the ReportStatusCode() 60 80 /// service in the PEI Services Table. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Guid/PcdDataBaseSignatureGuid.h
r58466 r77662 2 2 Guid for Pcd DataBase Signature. 3 3 4 Copyright (c) 2012 - 201 3, Intel Corporation. All rights reserved.<BR>4 Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR> 5 5 This program and the accompanying materials are licensed and made available under 6 6 the terms and conditions of the BSD License that accompanies this distribution. … … 24 24 // Common definitions 25 25 // 26 typedef UINT 8SKU_ID;26 typedef UINT64 SKU_ID; 27 27 28 28 #define PCD_TYPE_SHIFT 28 … … 31 31 #define PCD_TYPE_HII (0x8U << PCD_TYPE_SHIFT) 32 32 #define PCD_TYPE_VPD (0x4U << PCD_TYPE_SHIFT) 33 #define PCD_TYPE_SKU_ENABLED (0x2U << PCD_TYPE_SHIFT)34 33 #define PCD_TYPE_STRING (0x1U << PCD_TYPE_SHIFT) 35 34 36 #define PCD_TYPE_ALL_SET (PCD_TYPE_DATA | PCD_TYPE_HII | PCD_TYPE_VPD | PCD_TYPE_S KU_ENABLED | PCD_TYPE_STRING)35 #define PCD_TYPE_ALL_SET (PCD_TYPE_DATA | PCD_TYPE_HII | PCD_TYPE_VPD | PCD_TYPE_STRING) 37 36 38 37 #define PCD_DATUM_TYPE_SHIFT 24 … … 63 62 64 63 typedef struct { 65 UINT32 SkuDataStartOffset; // Offset(with TYPE info) from the PCD_DB.66 UINT32 SkuIdTableOffset; // Offset from the PCD_DB.67 } SKU_HEAD;68 69 typedef struct {70 64 UINT32 StringIndex; // Offset in String Table in units of UINT8. 71 65 UINT32 DefaultValueOffset; // Offset of the Default Value. 72 66 UINT16 GuidTableIndex; // Offset in Guid Table in units of GUID. 73 67 UINT16 Offset; // Offset in Variable. 68 UINT32 Attributes; // Variable attributes. 69 UINT16 Property; // Variable property. 70 UINT16 Reserved; 74 71 } VARIABLE_HEAD; 75 72 … … 92 89 GUID Signature; // PcdDataBaseGuid. 93 90 UINT32 BuildVersion; 94 UINT32 Length; 91 UINT32 Length; // Length of DEFAULT SKU PCD DB 92 SKU_ID SystemSkuId; // Current SkuId value. 93 UINT32 LengthForAllSkus; // Length of all SKU PCD DB 95 94 UINT32 UninitDataBaseSize; // Total size for PCD those default value with 0. 96 95 TABLE_OFFSET LocalTokenNumberTableOffset; … … 104 103 UINT16 ExTokenCount; // EX_TOKEN_NUMBER for DynamicEx. 105 104 UINT16 GuidTableCount; // The Number of Guid in GuidTable. 106 SKU_ID SystemSkuId; // Current SkuId value. 107 UINT8 Pad; // Pad bytes to satisfy the alignment. 105 UINT8 Pad[6]; // Pad bytes to satisfy the alignment. 108 106 109 107 // … … 112 110 // Padding is needed to keep necessary alignment 113 111 // 112 //SKU_ID SkuIdTable[]; // SkuIds system supports. 114 113 //UINT64 ValueUint64[]; 115 114 //UINT32 ValueUint32[]; … … 121 120 //PCD_NAME_INDEX PcdNameTable[]; // PCD name index info. It can be accessed by the PcdNameTableOffset. 122 121 //VARIABLE_HEAD VariableHead[]; // HII PCD 123 //SKU_HEAD SkuHead[]; // Store SKU info for each PCD with SKU enable.124 122 //UINT8 StringTable[]; // String for String PCD value and HII PCD Variable Name. It can be accessed by StringTableOffset. 125 123 //SIZE_INFO SizeTable[]; // MaxSize and CurSize for String PCD. It can be accessed by SizeTableOffset. … … 127 125 //UINT8 ValueUint8[]; 128 126 //BOOLEAN ValueBoolean[]; 129 //UINT8 SkuIdTable[]; // SkuIds system supports.130 //UINT8 SkuIndexTable[]; // SkuIds for each PCD with SKU enable.131 127 132 128 } PCD_DATABASE_INIT; … … 144 140 } PCD_DATABASE; 145 141 142 typedef struct { 143 UINT32 Offset:24; 144 UINT32 Value:8; 145 } PCD_DATA_DELTA; 146 147 typedef struct { 148 SKU_ID SkuId; 149 UINT16 DefaultId; 150 UINT8 Reserved[6]; 151 } PCD_DEFAULT_INFO; 152 153 typedef struct { 154 // 155 // Full size, it must be at 8 byte alignment. 156 // 157 UINT32 DataSize; 158 // 159 // HeaderSize includes HeaderSize fields and DefaultInfo arrays 160 // 161 UINT32 HeaderSize; 162 // 163 // DefaultInfo arrays those have the same default setting. 164 // 165 PCD_DEFAULT_INFO DefaultInfo[1]; 166 // 167 // Default data is stored as variable storage or the array of DATA_DELTA. 168 // 169 } PCD_DEFAULT_DATA; 170 171 #define PCD_NV_STORE_DEFAULT_BUFFER_SIGNATURE SIGNATURE_32('N', 'S', 'D', 'B') 172 173 typedef struct { 174 // 175 // PCD_NV_STORE_DEFAULT_BUFFER_SIGNATURE 176 // 177 UINT32 Signature; 178 // 179 // Length of the taken default buffer 180 // 181 UINT32 Length; 182 // 183 // Length of the total reserved buffer 184 // 185 UINT32 MaxLength; 186 // 187 // Reserved for 8 byte alignment 188 // 189 UINT32 Reserved; 190 // one or more PCD_DEFAULT_DATA 191 } PCD_NV_STORE_DEFAULT_BUFFER_HEADER; 192 193 // 194 // NvStoreDefaultValueBuffer layout: 195 // +-------------------------------------+ 196 // | PCD_NV_STORE_DEFAULT_BUFFER_HEADER | 197 // +-------------------------------------+ 198 // | PCD_DEFAULT_DATA (DEFAULT, Standard)| 199 // +-------------------------------------+ 200 // | PCD_DATA_DELTA (DEFAULT, Standard)| 201 // +-------------------------------------+ 202 // | ...... | 203 // +-------------------------------------+ 204 // | PCD_DEFAULT_DATA (SKU A, Standard) | 205 // +-------------------------------------+ 206 // | PCD_DATA_DELTA (SKU A, Standard) | 207 // +-------------------------------------+ 208 // | ...... | 209 // +-------------------------------------+ 210 // 211 212 #pragma pack(1) 213 typedef struct { 214 SKU_ID SkuId; 215 SKU_ID SkuIdCompared; 216 UINT32 Length; 217 // PCD_DATA_DELTA DeltaData[] 218 } PCD_DATABASE_SKU_DELTA; 219 220 // 221 // PCD database layout: 222 // +---------------------------------+ 223 // | PCD_DATABASE_INIT (DEFAULT SKU) | 224 // +---------------------------------+ 225 // | PCD_DATABASE_SKU_DELTA (SKU A) | 226 // +---------------------------------+ 227 // | PCD_DATABASE_SKU_DELTA (SKU B) | 228 // +---------------------------------+ 229 // | ...... | 230 // +---------------------------------+ 231 // 232 #pragma pack() 146 233 147 234 #endif -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Guid/Performance.h
r58466 r77662 5 5 * performance variables. 6 6 7 Copyright (c) 2009 - 201 3, Intel Corporation. All rights reserved.<BR>7 Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR> 8 8 This program and the accompanying materials are licensed and made available under 9 9 the terms and conditions of the BSD License that accompanies this distribution. … … 18 18 #ifndef __PERFORMANCE_DATA_H__ 19 19 #define __PERFORMANCE_DATA_H__ 20 21 #define PERFORMANCE_PROPERTY_REVISION 0x1 22 23 typedef struct { 24 UINT32 Revision; 25 UINT32 Reserved; 26 UINT64 Frequency; 27 UINT64 TimerStartValue; 28 UINT64 TimerEndValue; 29 } PERFORMANCE_PROPERTY; 20 30 21 31 // … … 41 51 } PEI_PERFORMANCE_LOG_HEADER; 42 52 43 44 //45 // The data structure for performance data in ACPI memory.46 //47 #define PERFORMANCE_SIGNATURE SIGNATURE_32 ('P', 'e', 'r', 'f')48 #define PERF_TOKEN_SIZE 2849 #define PERF_TOKEN_LENGTH (PERF_TOKEN_SIZE - 1)50 #define PERF_PEI_ENTRY_MAX_NUM 5051 #define PERF_DATA_MAX_LENGTH 0x400052 53 typedef struct {54 CHAR8 Token[PERF_TOKEN_SIZE];55 UINT32 Duration;56 } PERF_DATA;57 58 typedef struct {59 UINT64 BootToOs;60 UINT64 S3Resume;61 UINT32 S3EntryNum;62 PERF_DATA S3Entry[PERF_PEI_ENTRY_MAX_NUM];63 UINT64 CpuFreq;64 UINT64 BDSRaw;65 UINT32 Count;66 UINT32 Signiture;67 } PERF_HEADER;68 53 69 54 #define PERFORMANCE_PROTOCOL_GUID \ -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Guid/RecoveryDevice.h
r48674 r77662 5 5 that convey the name of a given recovery module type. 6 6 7 Copyright (c) 2006 - 201 0, Intel Corporation. All rights reserved.<BR>7 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> 8 8 9 9 This program and the accompanying materials … … 27 27 { \ 28 28 0x5cac0099, 0x0dc9, 0x48e5, {0x80, 0x68, 0xbb, 0x95, 0xf5, 0x40, 0x0a, 0x9f } \ 29 } ;29 } 30 30 31 31 /// … … 35 35 { \ 36 36 0x2e3d2e75, 0x9b2e, 0x412d, {0xb4, 0xb1, 0x70, 0x41, 0x6b, 0x87, 0x0, 0xff } \ 37 } ;37 } 38 38 39 39 /// … … 43 43 { \ 44 44 0xb38573b6, 0x6200, 0x4ac5, {0xb5, 0x1d, 0x82, 0xe6, 0x59, 0x38, 0xd7, 0x83 } \ 45 } ;45 } 46 46 47 47 /// … … 51 51 { \ 52 52 0x0ffbce19, 0x324c, 0x4690, {0xa0, 0x09, 0x98, 0xc6, 0xae, 0x2e, 0xb1, 0x86 } \ 53 } ;53 } 54 54 55 55 extern EFI_GUID gRecoveryOnDataCdGuid; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Guid/SmmVariableCommon.h
r58466 r77662 2 2 The file defined some common structures used for communicating between SMM variable module and SMM variable wrapper module. 3 3 4 Copyright (c) 2011 - 201 3, Intel Corporation. All rights reserved.<BR>4 Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR> 5 5 This program and the accompanying materials are licensed and made available under 6 6 the terms and conditions of the BSD License that accompanies this distribution. … … 15 15 #ifndef _SMM_VARIABLE_COMMON_H_ 16 16 #define _SMM_VARIABLE_COMMON_H_ 17 18 #include <Protocol/VarCheck.h> 17 19 18 20 #define EFI_SMM_VARIABLE_WRITE_GUID \ … … 66 68 #define SMM_VARIABLE_FUNCTION_LOCK_VARIABLE 8 67 69 70 #define SMM_VARIABLE_FUNCTION_VAR_CHECK_VARIABLE_PROPERTY_SET 9 71 72 #define SMM_VARIABLE_FUNCTION_VAR_CHECK_VARIABLE_PROPERTY_GET 10 73 74 #define SMM_VARIABLE_FUNCTION_GET_PAYLOAD_SIZE 11 75 68 76 /// 69 77 /// Size of SMM communicate header, without including the payload. … … 108 116 typedef SMM_VARIABLE_COMMUNICATE_GET_NEXT_VARIABLE_NAME SMM_VARIABLE_COMMUNICATE_LOCK_VARIABLE; 109 117 118 typedef struct { 119 EFI_GUID Guid; 120 UINTN NameSize; 121 VAR_CHECK_VARIABLE_PROPERTY VariableProperty; 122 CHAR16 Name[1]; 123 } SMM_VARIABLE_COMMUNICATE_VAR_CHECK_VARIABLE_PROPERTY; 124 125 typedef struct { 126 UINTN VariablePayloadSize; 127 } SMM_VARIABLE_COMMUNICATE_GET_PAYLOAD_SIZE; 128 110 129 #endif // _SMM_VARIABLE_COMMON_H_ -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Guid/SystemNvDataGuid.h
r58466 r77662 5 5 This file also defines WorkingBlockSignature GUID for FTW working block signature. 6 6 7 Copyright (c) 2006 - 201 3, Intel Corporation. All rights reserved.<BR>7 Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR> 8 8 This program and the accompanying materials are licensed and made available under 9 9 the terms and conditions of the BSD License that accompanies this distribution. … … 43 43 EFI_GUID Signature; 44 44 /// 45 /// 32bit CRC ca culated for this header.45 /// 32bit CRC calculated for this header. 46 46 /// 47 47 UINT32 Crc; -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Guid/VariableFormat.h
r58466 r77662 3 3 VariableFormat.h defines variable data headers and variable storage region headers. 4 4 5 Copyright (c) 2006 - 201 1, Intel Corporation. All rights reserved.<BR>5 Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR> 6 6 This program and the accompanying materials are licensed and made available under 7 7 the terms and conditions of the BSD License that accompanies this distribution. … … 20 20 { 0xddcf3616, 0x3275, 0x4164, { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d } } 21 21 22 #define EFI_AUTHENTICATED_VARIABLE_GUID \ 23 { 0xaaf32c78, 0x947b, 0x439a, { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 } } 24 22 25 extern EFI_GUID gEfiVariableGuid; 26 extern EFI_GUID gEfiAuthenticatedVariableGuid; 23 27 24 28 /// … … 61 65 62 66 #define VARIABLE_STORE_SIGNATURE EFI_VARIABLE_GUID 67 #define AUTHENTICATED_VARIABLE_STORE_SIGNATURE EFI_AUTHENTICATED_VARIABLE_GUID 63 68 64 69 /// … … 107 112 108 113 /// 114 /// Variable Attribute combinations. 115 /// 116 #define VARIABLE_ATTRIBUTE_NV_BS (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS) 117 #define VARIABLE_ATTRIBUTE_BS_RT (EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS) 118 #define VARIABLE_ATTRIBUTE_BS_RT_AT (VARIABLE_ATTRIBUTE_BS_RT | EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) 119 #define VARIABLE_ATTRIBUTE_NV_BS_RT (VARIABLE_ATTRIBUTE_BS_RT | EFI_VARIABLE_NON_VOLATILE) 120 #define VARIABLE_ATTRIBUTE_NV_BS_RT_HR (VARIABLE_ATTRIBUTE_NV_BS_RT | EFI_VARIABLE_HARDWARE_ERROR_RECORD) 121 #define VARIABLE_ATTRIBUTE_NV_BS_RT_AT (VARIABLE_ATTRIBUTE_NV_BS_RT | EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) 122 #define VARIABLE_ATTRIBUTE_AT EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 123 #define VARIABLE_ATTRIBUTE_NV_BS_RT_HR_AT (VARIABLE_ATTRIBUTE_NV_BS_RT_HR | VARIABLE_ATTRIBUTE_AT) 124 /// 125 /// EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS is deprecated and should be considered as reserved 126 /// 127 #define VARIABLE_ATTRIBUTE_AT_AW (EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS | EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) 128 #define VARIABLE_ATTRIBUTE_NV_BS_RT_AW (VARIABLE_ATTRIBUTE_NV_BS_RT | EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) 129 #define VARIABLE_ATTRIBUTE_NV_BS_RT_HR_AT_AW (VARIABLE_ATTRIBUTE_NV_BS_RT_HR | VARIABLE_ATTRIBUTE_AT_AW) 130 131 /// 109 132 /// Single Variable Data Header Structure. 110 133 /// … … 136 159 EFI_GUID VendorGuid; 137 160 } VARIABLE_HEADER; 161 162 /// 163 /// Single Authenticated Variable Data Header Structure. 164 /// 165 typedef struct { 166 /// 167 /// Variable Data Start Flag. 168 /// 169 UINT16 StartId; 170 /// 171 /// Variable State defined above. 172 /// 173 UINT8 State; 174 UINT8 Reserved; 175 /// 176 /// Attributes of variable defined in UEFI specification. 177 /// 178 UINT32 Attributes; 179 /// 180 /// Associated monotonic count value against replay attack. 181 /// 182 UINT64 MonotonicCount; 183 /// 184 /// Associated TimeStamp value against replay attack. 185 /// 186 EFI_TIME TimeStamp; 187 /// 188 /// Index of associated public key in database. 189 /// 190 UINT32 PubKeyIndex; 191 /// 192 /// Size of variable null-terminated Unicode string name. 193 /// 194 UINT32 NameSize; 195 /// 196 /// Size of the variable data without this header. 197 /// 198 UINT32 DataSize; 199 /// 200 /// A unique identifier for the vendor that produces and consumes this varaible. 201 /// 202 EFI_GUID VendorGuid; 203 } AUTHENTICATED_VARIABLE_HEADER; 204 205 typedef struct { 206 EFI_GUID *Guid; 207 CHAR16 *Name; 208 UINTN VariableSize; 209 } VARIABLE_ENTRY_CONSISTENCY; 138 210 139 211 #pragma pack() -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Library/CapsuleLib.h
r58466 r77662 3 3 This library class defines a set of interfaces for how to process capsule image updates. 4 4 5 Copyright (c) 2007 - 201 0, Intel Corporation. All rights reserved.<BR>5 Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR> 6 6 This program and the accompanying materials are licensed and made available under 7 7 the terms and conditions of the BSD License that accompanies this distribution. … … 22 22 the capsule image. 23 23 24 Caution: This function may receive untrusted input. 25 24 26 @param CapsuleHeader Pointer to the UEFI capsule image to be checked. 25 27 … … 37 39 if it recognized the format of this capsule image. 38 40 41 Caution: This function may receive untrusted input. 42 39 43 @param CapsuleHeader Pointer to the UEFI capsule image to be processed. 40 44 … … 48 52 ); 49 53 54 /** 55 56 This routine is called to process capsules. 57 58 Caution: This function may receive untrusted input. 59 60 The capsules reported in EFI_HOB_UEFI_CAPSULE are processed. 61 If there is no EFI_HOB_UEFI_CAPSULE, this routine does nothing. 62 63 This routine should be called twice in BDS. 64 1) The first call must be before EndOfDxe. The system capsules is processed. 65 If device capsule FMP protocols are exposted at this time and device FMP 66 capsule has zero EmbeddedDriverCount, the device capsules are processed. 67 Each individual capsule result is recorded in capsule record variable. 68 System may reset in this function, if reset is required by capsule and 69 all capsules are processed. 70 If not all capsules are processed, reset will be defered to second call. 71 72 2) The second call must be after EndOfDxe and after ConnectAll, so that all 73 device capsule FMP protocols are exposed. 74 The system capsules are skipped. If the device capsules are NOT processed 75 in first call, they are processed here. 76 Each individual capsule result is recorded in capsule record variable. 77 System may reset in this function, if reset is required by capsule 78 processed in first call and second call. 79 80 @retval EFI_SUCCESS There is no error when processing capsules. 81 @retval EFI_OUT_OF_RESOURCES No enough resource to process capsules. 82 83 **/ 84 EFI_STATUS 85 EFIAPI 86 ProcessCapsules ( 87 VOID 88 ); 89 50 90 #endif -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Library/CpuExceptionHandlerLib.h
r58466 r77662 3 3 It also provides capability to register user interrupt/exception handler. 4 4 5 Copyright (c) 2012 - 201 3, Intel Corporation. All rights reserved.<BR>5 Copyright (c) 2012 - 2017, Intel Corporation. All rights reserved.<BR> 6 6 This program and the accompanying materials 7 7 are licensed and made available under the terms and conditions of the BSD License … … 20 20 #include <Protocol/Cpu.h> 21 21 22 #define CPU_EXCEPTION_INIT_DATA_REV 1 23 24 typedef union { 25 struct { 26 // 27 // Revision number of this structure. 28 // 29 UINT32 Revision; 30 // 31 // The address of top of known good stack reserved for *ALL* exceptions 32 // listed in field StackSwitchExceptions. 33 // 34 UINTN KnownGoodStackTop; 35 // 36 // The size of known good stack for *ONE* exception only. 37 // 38 UINTN KnownGoodStackSize; 39 // 40 // Buffer of exception vector list for stack switch. 41 // 42 UINT8 *StackSwitchExceptions; 43 // 44 // Number of exception vectors in StackSwitchExceptions. 45 // 46 UINTN StackSwitchExceptionNumber; 47 // 48 // Buffer of IDT table. It must be type of IA32_IDT_GATE_DESCRIPTOR. 49 // Normally there's no need to change IDT table size. 50 // 51 VOID *IdtTable; 52 // 53 // Size of buffer for IdtTable. 54 // 55 UINTN IdtTableSize; 56 // 57 // Buffer of GDT table. It must be type of IA32_SEGMENT_DESCRIPTOR. 58 // 59 VOID *GdtTable; 60 // 61 // Size of buffer for GdtTable. 62 // 63 UINTN GdtTableSize; 64 // 65 // Pointer to start address of descriptor of exception task gate in the 66 // GDT table. It must be type of IA32_TSS_DESCRIPTOR. 67 // 68 VOID *ExceptionTssDesc; 69 // 70 // Size of buffer for ExceptionTssDesc. 71 // 72 UINTN ExceptionTssDescSize; 73 // 74 // Buffer of task-state segment for exceptions. It must be type of 75 // IA32_TASK_STATE_SEGMENT. 76 // 77 VOID *ExceptionTss; 78 // 79 // Size of buffer for ExceptionTss. 80 // 81 UINTN ExceptionTssSize; 82 // 83 // Flag to indicate if default handlers should be initialized or not. 84 // 85 BOOLEAN InitDefaultHandlers; 86 } Ia32, X64; 87 } CPU_EXCEPTION_INIT_DATA; 88 22 89 /** 23 90 Initializes all CPU exceptions entries and provides the default exception handlers. … … 40 107 InitializeCpuExceptionHandlers ( 41 108 IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL 109 ); 110 111 /** 112 Initializes all CPU exceptions entries with optional extra initializations. 113 114 By default, this method should include all functionalities implemented by 115 InitializeCpuExceptionHandlers(), plus extra initialization works, if any. 116 This could be done by calling InitializeCpuExceptionHandlers() directly 117 in this method besides the extra works. 118 119 InitData is optional and its use and content are processor arch dependent. 120 The typical usage of it is to convey resources which have to be reserved 121 elsewhere and are necessary for the extra initializations of exception. 122 123 @param[in] VectorInfo Pointer to reserved vector list. 124 @param[in] InitData Pointer to data optional for extra initializations 125 of exception. 126 127 @retval EFI_SUCCESS The exceptions have been successfully 128 initialized. 129 @retval EFI_INVALID_PARAMETER VectorInfo or InitData contains invalid 130 content. 131 @retval EFI_UNSUPPORTED This function is not supported. 132 133 **/ 134 EFI_STATUS 135 EFIAPI 136 InitializeCpuExceptionHandlersEx ( 137 IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL, 138 IN CPU_EXCEPTION_INIT_DATA *InitData OPTIONAL 42 139 ); 43 140 … … 94 191 ); 95 192 193 /** 194 Display processor context. 195 196 @param[in] ExceptionType Exception type. 197 @param[in] SystemContext Processor context to be display. 198 **/ 199 VOID 200 EFIAPI 201 DumpCpuContext ( 202 IN EFI_EXCEPTION_TYPE ExceptionType, 203 IN EFI_SYSTEM_CONTEXT SystemContext 204 ); 205 96 206 #endif -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Library/CustomizedDisplayLib.h
r58466 r77662 203 203 204 204 /** 205 Prints a ch racter to the default console, at205 Prints a character to the default console, at 206 206 the supplied cursor position, using L"%c" format. 207 207 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Library/DebugAgentLib.h
r58459 r77662 40 40 Caller provided function to be invoked at the end of InitializeDebugAgent(). 41 41 42 Refer to the descr ption for InitializeDebugAgent() for more details.42 Refer to the description for InitializeDebugAgent() for more details. 43 43 44 44 @param[in] Context The first input parameter of InitializeDebugAgent(). … … 62 62 responsible to invoke the passing-in function at the end of InitializeDebugAgent(). 63 63 64 If the parameter Function is not NULL, Debug Agent Lib ary instance will invoke it by64 If the parameter Function is not NULL, Debug Agent Library instance will invoke it by 65 65 passing in the Context to be its parameter. 66 66 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Library/HiiLib.h
r58466 r77662 226 226 227 227 /** 228 This function allows a caller to extract the form set opcode form the Hii Handle. 229 The returned buffer is allocated using AllocatePool().The caller is responsible 230 for freeing the allocated buffer using FreePool(). 231 232 @param Handle The HII handle. 233 @param Buffer On return, points to a pointer which point to the buffer that contain the formset opcode. 234 @param BufferSize On return, points to the length of the buffer. 235 236 @retval EFI_OUT_OF_RESOURCES No enough memory resource is allocated. 237 @retval EFI_NOT_FOUND Can't find the package data for the input Handle. 238 @retval EFI_INVALID_PARAMETER The input parameters are not correct. 239 @retval EFI_SUCCESS Get the formset opcode from the hii handle successfully. 240 241 **/ 242 EFI_STATUS 243 EFIAPI 244 HiiGetFormSetFromHiiHandle( 245 IN EFI_HII_HANDLE Handle, 246 OUT EFI_IFR_FORM_SET **Buffer, 247 OUT UINTN *BufferSize 248 ); 249 250 /** 228 251 Retrieves a pointer to a Null-terminated ASCII string containing the list 229 252 of languages that an HII handle in the HII Database supports. The returned … … 237 260 238 261 @retval NULL HiiHandle is not registered in the HII database 239 @retval NULL There are not enough resources available to retrieve the sup orted262 @retval NULL There are not enough resources available to retrieve the supported 240 263 languages. 241 @retval NULL The list of sup orted languages could not be retrieved.264 @retval NULL The list of supported languages could not be retrieved. 242 265 @retval Other A pointer to the Null-terminated ASCII string of supported languages. 243 266 … … 262 285 @param[in] Guid The pointer to an EFI_GUID that is the routing information 263 286 GUID. Each of the 16 bytes in Guid is converted to 264 a 2 Unicode character hex idecimal string. This is287 a 2 Unicode character hexadecimal string. This is 265 288 an optional parameter that may be NULL. 266 289 @param[in] Name The pointer to a Null-terminated Unicode string that is … … 268 291 parameter that may be NULL. Each 16-bit Unicode 269 292 character in Name is converted to a 4 character Unicode 270 hex idecimal string.293 hexadecimal string. 271 294 @param[in] DriverHandle The driver handle that supports a Device Path Protocol 272 295 that is the routing information PATH. Each byte of 273 296 the Device Path associated with DriverHandle is converted 274 to a two (Unicode) character hex idecimal string.297 to a two (Unicode) character hexadecimal string. 275 298 276 299 @retval NULL DriverHandle does not support the Device Path Protocol. … … 300 323 @param DefaultId Specifies the type of defaults to retrieve. 301 324 302 @retval T URE The default value was set successfully.325 @retval TRUE The default value was set successfully. 303 326 @retval FALSE The default value was not found. 304 327 **/ -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Library/IpIoLib.h
r58466 r77662 3 3 It provides the combined IpIo layer on the EFI IP4 Protocol and EFI IP6 protocol. 4 4 5 Copyright (c) 2005 - 201 0, Intel Corporation. All rights reserved.<BR>5 Copyright (c) 2005 - 2017, Intel Corporation. All rights reserved.<BR> 6 6 This program and the accompanying materials are licensed and made available under 7 7 the terms and conditions of the BSD License that accompanies this distribution. … … 262 262 PKT_SENT_NOTIFY PktSentNotify; ///< See IP_IO_OPEN_DATA::PktSentNotify. 263 263 UINT8 IpVersion; 264 IP4_ADDR StationIp; 265 IP4_ADDR SubnetMask; 264 266 } IP_IO; 265 267 … … 310 312 Create a new IP_IO instance. 311 313 314 If IpVersion is not IP_VERSION_4 or IP_VERSION_6, then ASSERT(). 315 312 316 This function uses IP4/IP6 service binding protocol in Controller to create 313 317 an IP4/IP6 child (aka IP4/IP6 instance). … … 353 357 Stop an IP_IO instance. 354 358 359 If Ip version is not IP_VERSION_4 or IP_VERSION_6, then ASSERT(). 360 355 361 This function is paired with IpIoOpen(). The IP_IO will be unconfigured, and all 356 362 pending send/receive tokens will be canceled. … … 358 364 @param[in, out] IpIo The pointer to the IP_IO instance that needs to stop. 359 365 360 @retval EFI_SUCCESS The IP_IO instance stopped successfully. 361 @retval Others Anrror condition occurred. 366 @retval EFI_SUCCESS The IP_IO instance stopped successfully. 367 @retval EFI_INVALID_PARAMETER Invalid input parameter. 368 @retval Others Anrror condition occurred. 362 369 363 370 **/ … … 370 377 /** 371 378 Open an IP_IO instance for use. 379 380 If Ip version is not IP_VERSION_4 or IP_VERSION_6, then ASSERT(). 372 381 373 382 This function is called after IpIoCreate(). It is used for configuring the IP … … 380 389 the IP_IO instance. 381 390 382 @retval EFI_SUCCESS The IP_IO instance opened with OpenData 383 successfully. 384 @retval EFI_ACCESS_DENIED The IP_IO instance is configured; avoid 385 reopening it. 386 @retval Others An error condition occurred. 391 @retval EFI_SUCCESS The IP_IO instance opened with OpenData 392 successfully. 393 @retval EFI_ACCESS_DENIED The IP_IO instance is configured, avoid to 394 reopen it. 395 @retval EFI_UNSUPPORTED IPv4 RawData mode is no supported. 396 @retval EFI_INVALID_PARAMETER Invalid input parameter. 397 @retval Others Error condition occurred. 387 398 388 399 **/ … … 397 408 Send out an IP packet. 398 409 399 This function is called after IpIoOpen(). The data to be sent arewrapped in400 Pkt. The IP instance wrapped in IpIo is used for sending by default ,but can be401 overriden by Sender. Other sending config urations, such assource address and gateway402 address , are specified in OverrideData.403 404 @param[in, out] IpIo The pointer to an IP_IO instance used for sending IP410 This function is called after IpIoOpen(). The data to be sent is wrapped in 411 Pkt. The IP instance wrapped in IpIo is used for sending by default but can be 412 overriden by Sender. Other sending configs, like source address and gateway 413 address etc., are specified in OverrideData. 414 415 @param[in, out] IpIo Pointer to an IP_IO instance used for sending IP 405 416 packet. 406 @param[in, out] Pkt The pointer to the IP packet to be sent.407 @param[in] Sender Optional.The IP protocol instance used for sending.408 @param[in] Context The optional context data.409 @param[in] NotifyData The optional notify data.417 @param[in, out] Pkt Pointer to the IP packet to be sent. 418 @param[in] Sender The IP protocol instance used for sending. 419 @param[in] Context Optional context data. 420 @param[in] NotifyData Optional notify data. 410 421 @param[in] Dest The destination IP address to send this packet to. 422 This parameter is optional when using IPv6. 411 423 @param[in] OverrideData The data to override some configuration of the IP 412 424 instance used for sending. 413 425 414 @retval EFI_SUCCESS The operation completed successfully. 426 @retval EFI_SUCCESS The operation is completed successfully. 427 @retval EFI_INVALID_PARAMETER The input parameter is not correct. 415 428 @retval EFI_NOT_STARTED The IpIo is not configured. 416 @retval EFI_OUT_OF_RESOURCES Failed due to resource limitations. 429 @retval EFI_OUT_OF_RESOURCES Failed due to resource limit. 430 @retval Others Error condition occurred. 417 431 418 432 **/ … … 425 439 IN VOID *Context OPTIONAL, 426 440 IN VOID *NotifyData OPTIONAL, 427 IN EFI_IP_ADDRESS *Dest ,441 IN EFI_IP_ADDRESS *Dest OPTIONAL, 428 442 IN IP_IO_OVERRIDE *OverrideData OPTIONAL 429 443 ); … … 431 445 /** 432 446 Cancel the IP transmit token that wraps this Packet. 447 448 If IpIo is NULL, then ASSERT(). 449 If Packet is NULL, then ASSERT(). 433 450 434 451 @param[in] IpIo The pointer to the IP_IO instance. … … 446 463 Add a new IP instance for sending data. 447 464 465 If IpIo is NULL, then ASSERT(). 466 If Ip version is not IP_VERSION_4 or IP_VERSION_6, then ASSERT(). 467 448 468 The function is used to add the IP_IO to the IP_IO sending list. The caller 449 469 can later use IpIoFindSender() to get the IP_IO and call IpIoSend() to send … … 465 485 Configure the IP instance of this IpInfo and start the receiving if IpConfigData 466 486 is not NULL. 487 488 If Ip version is not IP_VERSION_4 or IP_VERSION_6, then ASSERT(). 467 489 468 490 @param[in, out] IpInfo The pointer to the IP_IO_IP_INFO instance. … … 489 511 sending purpose. 490 512 513 If Ip version is not IP_VERSION_4 or IP_VERSION_6, then ASSERT(). 514 491 515 This function pairs with IpIoAddIp(). The IpInfo is previously created by 492 516 IpIoAddIp(). The IP_IO_IP_INFO::RefCnt is decremented and the IP instance … … 517 541 518 542 @return The pointer to the IP protocol can be used for sending purpose and its local 519 address is the same with Src. 543 address is the same with Src. NULL if failed. 520 544 521 545 **/ … … 540 564 @param[out] Notify If TRUE, SockError needs to be notified. 541 565 566 @retval EFI_UNSUPPORTED Unrecognizable ICMP error code 542 567 @return The ICMP Error Status, such as EFI_NETWORK_UNREACHABLE. 543 568 … … 573 598 @retval EFI_NOT_FOUND The neighbor cache entry is not in the 574 599 neighbor table. 600 @retval EFI_UNSUPPORTED IP version is IPv4, which doesn't support neighbor cache refresh. 575 601 @retval EFI_OUT_OF_RESOURCES Failed due to resource limitations. 576 602 577 603 **/ 578 604 EFI_STATUS 605 EFIAPI 579 606 IpIoRefreshNeighbor ( 580 607 IN IP_IO *IpIo, -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Library/LockBoxLib.h
r58466 r77662 3 3 confidential information to LockBox and get it by PEI modules in S3 phase. 4 4 5 Copyright (c) 2010 - 201 1, Intel Corporation. All rights reserved.<BR>5 Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR> 6 6 7 7 This program and the accompanying materials … … 63 63 64 64 // 65 // With this flag, this LockBox can be restored to this Buffer with RestoreAllLockBoxInPlace() 65 // With this flag, this LockBox can be restored to this Buffer 66 // with RestoreAllLockBoxInPlace() 66 67 // 67 #define LOCK_BOX_ATTRIBUTE_RESTORE_IN_PLACE BIT0 68 #define LOCK_BOX_ATTRIBUTE_RESTORE_IN_PLACE BIT0 69 // 70 // With this flag, this LockBox can be restored in S3 resume only. 71 // This LockBox can not be restored after SmmReadyToLock in normal boot 72 // and after EndOfS3Resume in S3 resume. 73 // It can not be set together with LOCK_BOX_ATTRIBUTE_RESTORE_IN_PLACE. 74 // 75 #define LOCK_BOX_ATTRIBUTE_RESTORE_IN_S3_ONLY BIT1 68 76 69 77 /** -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Library/NetLib.h
r58466 r77662 3 3 It provides basic functions for the UEFI network stack. 4 4 5 Copyright (c) 2005 - 201 2, Intel Corporation. All rights reserved.<BR>5 Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR> 6 6 This program and the accompanying materials 7 7 are licensed and made available under the terms and conditions of the BSD License … … 38 38 #define IP4_PROTO_IGMP 0x02 39 39 #define IP6_ICMP 58 40 #define DNS_MAX_NAME_SIZE 255 41 #define DNS_MAX_MESSAGE_SIZE 512 40 42 41 43 // 42 44 // The address classification 43 45 // 44 #define IP4_ADDR_CLASSA 1 45 #define IP4_ADDR_CLASSB 2 46 #define IP4_ADDR_CLASSC 3 46 #define IP4_ADDR_CLASSA 1 // Deprecated 47 #define IP4_ADDR_CLASSB 2 // Deprecated 48 #define IP4_ADDR_CLASSC 3 // Deprecated 47 49 #define IP4_ADDR_CLASSD 4 48 50 #define IP4_ADDR_CLASSE 5 … … 50 52 #define IP4_MASK_NUM 33 51 53 #define IP6_PREFIX_NUM 129 54 55 #define IP4_MASK_MAX 32 56 #define IP6_PREFIX_MAX 128 52 57 53 58 #define IP6_HOP_BY_HOP 0 … … 63 68 64 69 #define IP6_PREFIX_LENGTH 64 70 71 // 72 // DNS QTYPE values 73 // 74 #define DNS_TYPE_A 1 75 #define DNS_TYPE_NS 2 76 #define DNS_TYPE_CNAME 5 77 #define DNS_TYPE_SOA 6 78 #define DNS_TYPE_WKS 11 79 #define DNS_TYPE_PTR 12 80 #define DNS_TYPE_HINFO 13 81 #define DNS_TYPE_MINFO 14 82 #define DNS_TYPE_MX 15 83 #define DNS_TYPE_TXT 16 84 #define DNS_TYPE_AAAA 28 85 #define DNS_TYPE_SRV_RR 33 86 #define DNS_TYPE_AXFR 252 87 #define DNS_TYPE_MAILB 253 88 #define DNS_TYPE_ANY 255 89 90 // 91 // DNS QCLASS values 92 // 93 #define DNS_CLASS_INET 1 94 #define DNS_CLASS_CH 3 95 #define DNS_CLASS_HS 4 96 #define DNS_CLASS_ANY 255 97 98 // 99 // Number of 100ns units time Interval for network media state detect 100 // 101 #define MEDIA_STATE_DETECT_TIME_INTERVAL 1000000U 102 65 103 66 104 #pragma pack(1) … … 200 238 // 201 239 #define IP4_IS_MULTICAST(Ip) (((Ip) & 0xF0000000) == 0xE0000000) 240 #define IP4_IS_UNSPECIFIED(Ip) ((Ip) == 0) 202 241 #define IP4_IS_LOCAL_BROADCAST(Ip) ((Ip) == 0xFFFFFFFF) 203 242 #define IP4_NET_EQUAL(Ip1, Ip2, NetMask) (((Ip1) & (NetMask)) == ((Ip2) & (NetMask))) 204 #define IP4_IS_VALID_NETMASK(Ip) (NetGetMaskLength (Ip) != IP4_MASK_NUM)243 #define IP4_IS_VALID_NETMASK(Ip) (NetGetMaskLength (Ip) != (IP4_MASK_MAX + 1)) 205 244 206 245 #define IP6_IS_MULTICAST(Ip6) (((Ip6)->Addr[0]) == 0xFF) … … 221 260 // 222 261 // The debug level definition. This value is also used as the 223 // syslog's se rvity level. Don't change it.262 // syslog's severity level. Don't change it. 224 263 // 225 264 #define NETDEBUG_LEVEL_TRACE 5 … … 304 343 Because it isn't open the SNP BY_DRIVER, apply caution when using it. 305 344 306 @param Level The se rvity level of the message.307 @param Module The Mo udle that generates the log.345 @param Level The severity level of the message. 346 @param Module The Module that generates the log. 308 347 @param File The file that contains the log. 309 348 @param Line The exact line that contains the log. … … 347 386 Return the class of the IP address, such as class A, B, C. 348 387 Addr is in host byte order. 388 389 [ATTENTION] 390 Classful addressing (IP class A/B/C) has been deprecated according to RFC4632. 391 Caller of this function could only check the returned value against 392 IP4_ADDR_CLASSD (multicast) or IP4_ADDR_CLASSE (reserved) now. 349 393 350 394 The address of class A starts with 0. … … 373 417 /** 374 418 Check whether the IP is a valid unicast address according to 375 the netmask. If NetMask is zero, use the IP address's class to get the default mask. 376 377 If Ip is 0, IP is not a valid unicast address. 378 Class D address is used for multicasting and class E address is reserved for future. If Ip 379 belongs to class D or class E, Ip is not a valid unicast address. 380 If all bits of the host address of Ip are 0 or 1, Ip is not a valid unicast address. 419 the netmask. 420 421 ASSERT if NetMask is zero. 422 423 If all bits of the host address of IP are 0 or 1, IP is also not a valid unicast address, 424 except when the originator is one of the endpoints of a point-to-point link with a 31-bit 425 mask (RFC3021). 381 426 382 427 @param[in] Ip The IP to check against. 383 428 @param[in] NetMask The mask of the IP. 384 429 385 @return TRUE if I pis a valid unicast address on the network, otherwise FALSE.430 @return TRUE if IP is a valid unicast address on the network, otherwise FALSE. 386 431 387 432 **/ … … 395 440 /** 396 441 Check whether the incoming IPv6 address is a valid unicast address. 442 443 ASSERT if Ip6 is NULL. 397 444 398 445 If the address is a multicast address has binary 0xFF at the start, it is not … … 417 464 Check whether the incoming Ipv6 address is the unspecified address or not. 418 465 466 ASSERT if Ip6 is NULL. 467 419 468 @param[in] Ip6 - Ip6 address, in network order. 420 469 … … 432 481 Check whether the incoming Ipv6 address is a link-local address. 433 482 483 ASSERT if Ip6 is NULL. 484 434 485 @param[in] Ip6 - Ip6 address, in network order. 435 486 … … 446 497 /** 447 498 Check whether the Ipv6 address1 and address2 are on the connected network. 499 500 ASSERT if Ip1 or Ip2 is NULL. 501 ASSERT if PrefixLength exceeds or equals to IP6_PREFIX_MAX. 448 502 449 503 @param[in] Ip1 - Ip6 address1, in network order. … … 466 520 Switches the endianess of an IPv6 address. 467 521 522 ASSERT if Ip6 is NULL. 523 468 524 This function swaps the bytes in a 128-bit IPv6 address to switch the value 469 525 from little endian to big endian or vice versa. The byte swapped value is … … 487 543 488 544 #define NET_IS_DIGIT(Ch) (('0' <= (Ch)) && ((Ch) <= '9')) 545 #define NET_IS_HEX(Ch) ((('0' <= (Ch)) && ((Ch) <= '9')) || (('A' <= (Ch)) && ((Ch) <= 'F')) || (('a' <= (Ch)) && ((Ch) <= 'f'))) 489 546 #define NET_ROUNDUP(size, unit) (((size) + (unit) - 1) & (~((unit) - 1))) 490 547 #define NET_IS_LOWER_CASE_CHAR(Ch) (('a' <= (Ch)) && ((Ch) <= 'z')) … … 499 556 Extract a UINT32 from a byte stream. 500 557 558 ASSERT if Buf is NULL. 559 501 560 This function copies a UINT32 from a byte stream, and then converts it from Network 502 561 byte order to host byte order. Use this function to avoid alignment error. … … 515 574 /** 516 575 Puts a UINT32 into the byte stream in network byte order. 576 577 ASSERT if Buf is NULL. 517 578 518 579 Converts a UINT32 from host byte order to network byte order, then copies it to the … … 531 592 532 593 /** 533 Initialize a random seed using current time .534 535 Get current time first. Then initialize a random seed based on some basic536 mathematical operations on the hour, day, minute, second, nanosecond and year537 of the current time.538 539 @return The random seed ,initialized with current time.594 Initialize a random seed using current time and monotonic count. 595 596 Get current time and monotonic count first. Then initialize a random seed 597 based on some basic mathematics operation on the hour, day, minute, second, 598 nanosecond and year of the current time and the monotonic count value. 599 600 @return The random seed initialized with current time. 540 601 541 602 **/ … … 632 693 Insert a new node entry after a designated node entry of a doubly linked list. 633 694 695 ASSERT if PrevEntry or NewEntry is NULL. 696 634 697 Inserts a new node entry designated by NewEntry after the node entry designated by PrevEntry 635 698 of the doubly linked list. … … 648 711 /** 649 712 Insert a new node entry before a designated node entry of a doubly linked list. 713 714 ASSERT if PostEntry or NewEntry is NULL. 650 715 651 716 Inserts a new node entry designated by NewEntry before the node entry designated by PostEntry … … 719 784 if NumberOfChildren is 0. 720 785 721 @retval T URE Found the input Handle in ChildHandleBuffer.786 @retval TRUE Found the input Handle in ChildHandleBuffer. 722 787 @retval FALSE Can't find the input Handle in ChildHandleBuffer. 723 788 … … 794 859 If Map is NULL, then ASSERT(). 795 860 796 797 861 @param[in] Map The net map to test. 798 862 … … 808 872 /** 809 873 Return the number of the <Key, Value> pairs in the netmap. 874 875 If Map is NULL, then ASSERT(). 810 876 811 877 @param[in] Map The netmap to get the entry number. … … 828 894 829 895 If Map is NULL, then ASSERT(). 896 If Key is NULL, then ASSERT(). 830 897 831 898 @param[in, out] Map The netmap to insert into. … … 853 920 854 921 If Map is NULL, then ASSERT(). 922 If Key is NULL, then ASSERT(). 855 923 856 924 @param[in, out] Map The netmap to insert into. … … 877 945 878 946 If Map is NULL, then ASSERT(). 947 If Key is NULL, then ASSERT(). 879 948 880 949 @param[in] Map The netmap to search within. … … 977 1046 Iterate through the netmap and call CallBack for each item. 978 1047 979 It will conti ue the traverse if CallBack returns EFI_SUCCESS, otherwise, break1048 It will continue the traverse if CallBack returns EFI_SUCCESS, otherwise, break 980 1049 from the loop. It returns the CallBack's last return value. This function is 981 1050 delete safe for the current item. … … 1122 1191 Get MAC address associated with the network service handle. 1123 1192 1193 If MacAddress is NULL, then ASSERT(). 1194 If AddressSize is NULL, then ASSERT(). 1195 1124 1196 There should be MNP Service Binding Protocol installed on the input ServiceHandle. 1125 1197 If SNP is installed on the ServiceHandle or its parent handle, MAC address will … … 1146 1218 Convert MAC address of the NIC associated with specified Service Binding Handle 1147 1219 to a unicode string. Callers are responsible for freeing the string storage. 1220 1221 If MacString is NULL, then ASSERT(). 1148 1222 1149 1223 Locate simple network protocol associated with the Service Binding Handle and … … 1175 1249 /** 1176 1250 Detect media status for specified network device. 1251 1252 If MediaPresent is NULL, then ASSERT(). 1177 1253 1178 1254 The underlying UNDI driver may or may not support reporting media status from … … 1209 1285 1210 1286 /** 1287 Detect media state for a network device. This routine will wait for a period of time at 1288 a specified checking interval when a certain network is under connecting until connection 1289 process finishes or timeout. If Aip protocol is supported by low layer drivers, three kinds 1290 of media states can be detected: EFI_SUCCESS, EFI_NOT_READY and EFI_NO_MEDIA, represents 1291 connected state, connecting state and no media state respectively. When function detects 1292 the current state is EFI_NOT_READY, it will loop to wait for next time's check until state 1293 turns to be EFI_SUCCESS or EFI_NO_MEDIA. If Aip protocol is not supported, function will 1294 call NetLibDetectMedia() and return state directly. 1295 1296 @param[in] ServiceHandle The handle where network service binding protocols are 1297 installed on. 1298 @param[in] Timeout The maximum number of 100ns units to wait when network 1299 is connecting. Zero value means detect once and return 1300 immediately. 1301 @param[out] MediaState The pointer to the detected media state. 1302 1303 @retval EFI_SUCCESS Media detection success. 1304 @retval EFI_INVALID_PARAMETER ServiceHandle is not a valid network device handle or 1305 MediaState pointer is NULL. 1306 @retval EFI_DEVICE_ERROR A device error occurred. 1307 @retval EFI_TIMEOUT Network is connecting but timeout. 1308 1309 **/ 1310 EFI_STATUS 1311 EFIAPI 1312 NetLibDetectMediaWaitTimeout ( 1313 IN EFI_HANDLE ServiceHandle, 1314 IN UINT64 Timeout, 1315 OUT EFI_STATUS *MediaState 1316 ); 1317 1318 1319 /** 1211 1320 Create an IPv4 device path node. 1321 1322 If Node is NULL, then ASSERT(). 1212 1323 1213 1324 The header type of IPv4 device path node is MESSAGING_DEVICE_PATH. … … 1242 1353 Create an IPv6 device path node. 1243 1354 1355 If Node is NULL, then ASSERT(). 1356 If LocalIp is NULL, then ASSERT(). 1357 If RemoteIp is NULL, then ASSERT(). 1358 1244 1359 The header type of IPv6 device path node is MESSAGING_DEVICE_PATH. 1245 1360 The header subtype of IPv6 device path node is MSG_IPv6_DP. … … 1272 1387 Find the UNDI/SNP handle from controller and protocol GUID. 1273 1388 1389 If ProtocolGuid is NULL, then ASSERT(). 1390 1274 1391 For example, IP will open an MNP child to transmit/receive 1275 1392 packets. When MNP is stopped, IP should also be stopped. IP … … 1277 1394 service binding instance that is installed on the UNDI/SNP handle. 1278 1395 The controller is then either an MNP or an ARP child handle. Note that 1279 IP opens these handles using BY_DRIVER. Use that info mation to get the1396 IP opens these handles using BY_DRIVER. Use that information to get the 1280 1397 UNDI/SNP handle. 1281 1398 … … 1318 1435 1319 1436 @retval EFI_SUCCESS Converted to an IPv4 address successfully. 1320 @retval EFI_INVALID_PARAMETER The string is malformat ed, or Ip4Address is NULL.1437 @retval EFI_INVALID_PARAMETER The string is malformatted, or Ip4Address is NULL. 1321 1438 1322 1439 **/ … … 1330 1447 /** 1331 1448 Convert one Null-terminated ASCII string to EFI_IPv6_ADDRESS. The format of the 1332 string is defined in RFC 4291 - Text Pepresentation of Addresses.1449 string is defined in RFC 4291 - Text Representation of Addresses. 1333 1450 1334 1451 @param[in] String The pointer to the Ascii string. … … 1336 1453 1337 1454 @retval EFI_SUCCESS Converted to an IPv6 address successfully. 1338 @retval EFI_INVALID_PARAMETER The string is malformat ed, or Ip6Address is NULL.1455 @retval EFI_INVALID_PARAMETER The string is malformatted, or Ip6Address is NULL. 1339 1456 1340 1457 **/ … … 1353 1470 1354 1471 @retval EFI_SUCCESS Converted to an IPv4 address successfully. 1355 @retval EFI_INVALID_PARAMETER The string is mal-formated or Ip4Address is NULL. 1356 @retval EFI_OUT_OF_RESOURCES Failed to perform the operation due to lack of resources. 1472 @retval EFI_INVALID_PARAMETER The string is mal-formatted or Ip4Address is NULL. 1357 1473 1358 1474 **/ … … 1366 1482 /** 1367 1483 Convert one Null-terminated Unicode string to EFI_IPv6_ADDRESS. The format of 1368 the string is defined in RFC 4291 - Text Pepresentation of Addresses.1484 the string is defined in RFC 4291 - Text Representation of Addresses. 1369 1485 1370 1486 @param[in] String The pointer to the Ascii string. … … 1372 1488 1373 1489 @retval EFI_SUCCESS Converted to an IPv6 address successfully. 1374 @retval EFI_INVALID_PARAMETER The string is malformated or Ip6Address is NULL. 1375 @retval EFI_OUT_OF_RESOURCES Failed to perform the operation due to a lack of resources. 1490 @retval EFI_INVALID_PARAMETER The string is malformatted or Ip6Address is NULL. 1376 1491 1377 1492 **/ … … 1385 1500 /** 1386 1501 Convert one Null-terminated Unicode string to EFI_IPv6_ADDRESS and prefix length. 1387 The format of the string is defined in RFC 4291 - Text Pepresentation of Addresses1502 The format of the string is defined in RFC 4291 - Text Representation of Addresses 1388 1503 Prefixes: ipv6-address/prefix-length. 1389 1504 … … 1393 1508 1394 1509 @retval EFI_SUCCESS Converted to an IPv6 address successfully. 1395 @retval EFI_INVALID_PARAMETER The string is malformated, or Ip6Address is NULL. 1396 @retval EFI_OUT_OF_RESOURCES Failed to perform the operation due to a lack of resources. 1510 @retval EFI_INVALID_PARAMETER The string is malformatted, or Ip6Address is NULL. 1397 1511 1398 1512 **/ … … 1462 1576 INTN RefCnt; // Reference count to share NET_VECTOR. 1463 1577 NET_VECTOR_EXT_FREE Free; // external function to free NET_VECTOR 1464 VOID *Arg; // op eque argument to Free1578 VOID *Arg; // opaque argument to Free 1465 1579 UINT32 Flag; // Flags, NET_VECTOR_OWN_FIRST 1466 UINT32 Len; // Total length of the assoc ated BLOCKs1580 UINT32 Len; // Total length of the associated BLOCKs 1467 1581 1468 1582 UINT32 BlockNum; … … 1573 1687 1574 1688 #define NET_HEADSPACE(BlockOp) \ 1575 ( UINTN)((BlockOp)->Head - (BlockOp)->BlockHead)1689 ((UINTN)((BlockOp)->Head) - (UINTN)((BlockOp)->BlockHead)) 1576 1690 1577 1691 #define NET_TAILSPACE(BlockOp) \ 1578 ( UINTN)((BlockOp)->BlockTail - (BlockOp)->Tail)1692 ((UINTN)((BlockOp)->BlockTail) - (UINTN)((BlockOp)->Tail)) 1579 1693 1580 1694 /** … … 2118 2232 This function obtains the system guid from the smbios table. 2119 2233 2234 If SystemGuid is NULL, then ASSERT(). 2235 2120 2236 @param[out] SystemGuid The pointer of the returned system guid. 2121 2237 … … 2130 2246 ); 2131 2247 2248 /** 2249 Create Dns QName according the queried domain name. 2250 2251 If DomainName is NULL, then ASSERT(). 2252 2253 QName is a domain name represented as a sequence of labels, 2254 where each label consists of a length octet followed by that 2255 number of octets. The QName terminates with the zero 2256 length octet for the null label of the root. Caller should 2257 take responsibility to free the buffer in returned pointer. 2258 2259 @param DomainName The pointer to the queried domain name string. 2260 2261 @retval NULL Failed to fill QName. 2262 @return QName filled successfully. 2263 2264 **/ 2265 CHAR8 * 2266 EFIAPI 2267 NetLibCreateDnsQName ( 2268 IN CHAR16 *DomainName 2269 ); 2270 2132 2271 #endif -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Library/ResetSystemLib.h
r58466 r77662 3 3 methods that reset the whole system. 4 4 5 Copyright (c) 2005 - 201 0, Intel Corporation. All rights reserved.<BR>5 Copyright (c) 2005 - 2016, Intel Corporation. All rights reserved.<BR> 6 6 This program and the accompanying materials are licensed and made available under 7 7 the terms and conditions of the BSD License that accompanies this distribution. … … 66 66 ); 67 67 68 /** 69 This function causes a systemwide reset. The exact type of the reset is 70 defined by the EFI_GUID that follows the Null-terminated Unicode string passed 71 into ResetData. If the platform does not recognize the EFI_GUID in ResetData 72 the platform must pick a supported reset type to perform.The platform may 73 optionally log the parameters from any non-normal reset that occurs. 74 75 @param[in] DataSize The size, in bytes, of ResetData. 76 @param[in] ResetData The data buffer starts with a Null-terminated string, 77 followed by the EFI_GUID. 78 **/ 79 VOID 80 EFIAPI 81 ResetPlatformSpecific ( 82 IN UINTN DataSize, 83 IN VOID *ResetData 84 ); 85 68 86 #endif -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Library/TcpIoLib.h
r58466 r77662 3 3 It provides the helper routines to access TCP service. 4 4 5 Copyright (c) 2010 - 201 1, Intel Corporation. All rights reserved.<BR>5 Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR> 6 6 This program and the accompanying materials 7 7 are licensed and made available under the terms and conditions of the BSD License … … 145 145 146 146 @param[in, out] TcpIo The TcpIo wrapping the TCP socket. 147 @param[in] Timeout The time to wait for connection done. 147 @param[in] Timeout The time to wait for connection done. Set to NULL for infinite wait. 148 148 149 149 @retval EFI_SUCCESS Connect to the other endpoint of the TCP socket … … 161 161 TcpIoConnect ( 162 162 IN OUT TCP_IO *TcpIo, 163 IN EFI_EVENT Timeout 163 IN EFI_EVENT Timeout OPTIONAL 164 164 ); 165 165 … … 168 168 169 169 @param[in, out] TcpIo The TcpIo wrapping the TCP socket. 170 @param[in] Timeout The time to wait for connection done. 170 @param[in] Timeout The time to wait for connection done. Set to NULL for infinite wait. 171 171 172 172 … … 186 186 TcpIoAccept ( 187 187 IN OUT TCP_IO *TcpIo, 188 IN EFI_EVENT Timeout 188 IN EFI_EVENT Timeout OPTIONAL 189 189 ); 190 190 … … 230 230 @param[in] AsyncMode Is this receive asyncronous or not. 231 231 @param[in] Timeout The time to wait for receiving the amount of data the Packet 232 can hold. 232 can hold. Set to NULL for infinite wait. 233 233 234 234 @retval EFI_SUCCESS The required amount of data is received from the socket. … … 247 247 IN NET_BUF *Packet, 248 248 IN BOOLEAN AsyncMode, 249 IN EFI_EVENT Timeout 249 IN EFI_EVENT Timeout OPTIONAL 250 250 ); 251 251 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Library/UdpIoLib.h
r58466 r77662 3 3 It provides the helper routines to access UDP service. It is used by both DHCP and MTFTP. 4 4 5 Copyright (c) 2006 - 201 2, Intel Corporation. All rights reserved.<BR>5 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> 6 6 This program and the accompanying materials 7 7 are licensed and made available under the terms and conditions of the BSD License … … 198 198 /** 199 199 Cancel all the sent datagram that pass the selection criteria of ToCancel. 200 200 201 If ToCancel is NULL, all the datagrams are cancelled. 202 If Udp version is not UDP_IO_UDP4_VERSION or UDP_IO_UDP6_VERSION, then ASSERT(). 201 203 202 204 @param[in] UdpIo The UDP_IO to cancel packet. … … 213 215 IN EFI_STATUS IoStatus, 214 216 IN UDP_IO_TO_CANCEL ToCancel, OPTIONAL 215 IN VOID *Context 217 IN VOID *Context OPTIONAL 216 218 ); 217 219 … … 219 221 Creates a UDP_IO to access the UDP service. It creates and configures 220 222 a UDP child. 223 224 If Configure is NULL, then ASSERT(). 225 If Udp version is not UDP_IO_UDP4_VERSION or UDP_IO_UDP6_VERSION, then ASSERT(). 221 226 222 227 It locates the UDP service binding prototype on the Controller parameter … … 248 253 Free the UDP_IO and all its related resources. 249 254 255 If Udp version is not UDP_IO_UDP4_VERSION or UDP_IO_UDP6_VERSION, then ASSERT(). 256 250 257 The function cancels all sent datagrams and receive requests. 251 258 … … 253 260 254 261 @retval EFI_SUCCESS The UDP_IO is freed. 262 @retval Others Failed to free UDP_IO. 255 263 256 264 **/ … … 265 273 if you intend to later re-use the UDP_IO. 266 274 275 If Udp version is not UDP_IO_UDP4_VERSION or UDP_IO_UDP6_VERSION, then ASSERT(). 276 267 277 This function releases all transmitted datagrams and receive requests and configures NULL for the UDP instance. 268 278 … … 278 288 /** 279 289 Send a packet through the UDP_IO. 290 291 If Udp version is not UDP_IO_UDP4_VERSION or UDP_IO_UDP6_VERSION, then ASSERT(). 280 292 281 293 The packet will be wrapped in UDP_TX_TOKEN. Function Callback will be called … … 325 337 Issue a receive request to the UDP_IO. 326 338 339 If Udp version is not UDP_IO_UDP4_VERSION or UDP_IO_UDP6_VERSION, then ASSERT(). 340 327 341 This function is called when upper-layer needs packet from UDP for processing. 328 342 Only one receive request is acceptable at a time. Therefore, one common usage model is -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Ppi/AtaController.h
r58466 r77662 107 107 @param[in] This The pointer to this instance of the PEI_ATA_CONTROLLER_PPI. 108 108 @param[in] ChannelMask The bitmask that identifies the IDE and SATA channels to 109 enable or disable. This param ter is optional.109 enable or disable. This parameter is optional. 110 110 111 111 @retval EFI_SUCCESS The IDE or SATA channels were enabled or disabled successfully. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Ppi/SmmAccess.h
r58466 r77662 129 129 /// 130 130 /// EFI SMM Access PPI is used to control the visibility of the SMRAM on the platform. 131 /// It abstracts the location and characteristics of SMRAM. The expectation is 132 /// that the north bridge or memory controller would publish this PPI. 131 /// It abstracts the location and characteristics of SMRAM. The platform should report 132 /// all MMRAM via PEI_SMM_ACCESS_PPI. The expectation is that the north bridge or 133 /// memory controller would publish this PPI. 133 134 /// 134 135 struct _PEI_SMM_ACCESS_PPI { -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Protocol/DisplayProtocol.h
r58466 r77662 2 2 FormDiplay protocol to show Form 3 3 4 Copyright (c) 2013 - 201 4, Intel Corporation. All rights reserved.<BR>4 Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR> 5 5 This program and the accompanying materials are licensed and made available under 6 6 the terms and conditions of the BSD License that accompanies this distribution. … … 40 40 #define BROWSER_WARNING_IF BROWSER_ERROR | 0x07 41 41 #define BROWSER_SUBMIT_FAIL_NO_SUBMIT_IF BROWSER_ERROR | 0x08 42 #define BROWSER_RECONNECT_REQUIRED BROWSER_ERROR | 0x09 43 #define BROWSER_RECONNECT_FAIL BROWSER_ERROR | 0x0A 44 #define BROWSER_RECONNECT_SAVE_CHANGES BROWSER_ERROR | 0x0B 42 45 43 46 #define FORM_DISPLAY_ENGINE_STATEMENT_VERSION_1 0x10000 -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Protocol/EbcVmTest.h
r58466 r77662 2 2 EBC VM Test protocol for test purposes. 3 3 4 Copyright (c) 2011 , Intel Corporation. All rights reserved.<BR>4 Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR> 5 5 6 6 This program and the accompanying materials … … 30 30 // 31 31 typedef struct _EFI_EBC_VM_TEST_PROTOCOL EFI_EBC_VM_TEST_PROTOCOL; 32 33 // 34 // VM major/minor version 35 // 36 #define VM_MAJOR_VERSION 1 37 #define VM_MINOR_VERSION 0 38 39 // 40 // Bits in the VM->StopFlags field 41 // 42 #define STOPFLAG_APP_DONE 0x0001 43 #define STOPFLAG_BREAKPOINT 0x0002 44 #define STOPFLAG_INVALID_BREAK 0x0004 45 #define STOPFLAG_BREAK_ON_CALLEX 0x0008 46 47 // 48 // Masks for working with the VM flags register 49 // 50 #define VMFLAGS_CC 0x0001 // condition flag 51 #define VMFLAGS_STEP 0x0002 // step instruction mode 52 #define VMFLAGS_ALL_VALID (VMFLAGS_CC | VMFLAGS_STEP) 53 54 // 55 // Macros for operating on the VM flags register 56 // 57 #define VMFLAG_SET(pVM, Flag) (pVM->Flags |= (Flag)) 58 #define VMFLAG_ISSET(pVM, Flag) ((pVM->Flags & (Flag)) ? 1 : 0) 59 #define VMFLAG_CLEAR(pVM, Flag) (pVM->Flags &= ~(Flag)) 60 61 // 62 // Define a macro to get the operand. Then we can change it to be either a 63 // direct read or have it call a function to read memory. 64 // 65 #define GETOPERANDS(pVM) (UINT8) (*(UINT8 *) (pVM->Ip + 1)) 66 #define GETOPCODE(pVM) (UINT8) (*(UINT8 *) pVM->Ip) 67 68 // 69 // Macros for operating on the VM GP registers 70 // 71 #define OPERAND1_REGDATA(pVM, Op) pVM->Gpr[OPERAND1_REGNUM (Op)] 72 #define OPERAND2_REGDATA(pVM, Op) pVM->Gpr[OPERAND2_REGNUM (Op)] 73 74 // 75 // Bits of exception flags field of VM context 76 // 77 #define EXCEPTION_FLAG_FATAL 0x80000000 // can't continue 78 #define EXCEPTION_FLAG_ERROR 0x40000000 // bad, but try to continue 79 #define EXCEPTION_FLAG_WARNING 0x20000000 // harmless problem 80 #define EXCEPTION_FLAG_NONE 0x00000000 // for normal return 32 81 33 82 /// … … 93 142 @param[in] AsmText A pointer to EBC ASM text code. 94 143 @param[out] Buffer Buffer to store the instruction. 95 @param[out] BufferLen Size of buffer that is requ ried to store data.144 @param[out] BufferLen Size of buffer that is required to store data. 96 145 97 146 @retval EFI_UNSUPPORTED This functionality is unsupported. … … 114 163 @param[out] AsmText Contain the disasm text. 115 164 @param[out] Buffer Buffer to store the instruction. 116 @param[out] BufferLen Size of buffer that is requ ried to store data.165 @param[out] BufferLen Size of buffer that is required to store data. 117 166 118 167 @retval EFI_UNSUPPORTED This functionality is unsupported. -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Protocol/FormBrowserEx.h
r58466 r77662 3 3 register the different hot keys for the standard Browser actions described in UEFI specification. 4 4 5 Copyright (c) 2011 - 201 4, Intel Corporation. All rights reserved.<BR>5 Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR> 6 6 This program and the accompanying materials are licensed and made available under 7 7 the terms and conditions of the BSD License that accompanies this distribution. … … 20 20 { 0x1f73b18d, 0x4630, 0x43c1, { 0xa1, 0xde, 0x6f, 0x80, 0x85, 0x5d, 0x7d, 0xa4 } } 21 21 22 typedef struct _EFI_FORM_BROWSER_EXTENSION_PROTOCOL EFI_FORM_BROWSER_EXTENSION_PROTOCOL; 22 typedef struct _EDKII_FORM_BROWSER_EXTENSION_PROTOCOL EDKII_FORM_BROWSER_EXTENSION_PROTOCOL; 23 24 // 25 // To be compatible, keep EFI_FORM_BROWSER_EXTENSION_PROTOCOL definition 26 // 27 typedef EDKII_FORM_BROWSER_EXTENSION_PROTOCOL EFI_FORM_BROWSER_EXTENSION_PROTOCOL; 23 28 24 29 // … … 138 143 ); 139 144 140 struct _E FI_FORM_BROWSER_EXTENSION_PROTOCOL {145 struct _EDKII_FORM_BROWSER_EXTENSION_PROTOCOL { 141 146 SET_SCOPE SetScope; 142 147 REGISTER_HOT_KEY RegisterHotKey; … … 146 151 147 152 extern EFI_GUID gEfiFormBrowserExProtocolGuid; 153 extern EFI_GUID gEdkiiFormBrowserExProtocolGuid; 148 154 149 155 #endif -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Protocol/Print2.h
r58466 r77662 1 1 /** @file 2 2 3 This print protocol defines six basic print functions to 4 print the format unicode and ascii string. 5 6 Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> 3 Produces EFI_PRINT2_PROTOCOL and EFI_PRINT2S_PROTOCOL. 4 These protocols define basic print functions to print the format unicode and 5 ascii string. 6 7 Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR> 7 8 This program and the accompanying materials are licensed and made available under 8 9 the terms and conditions of the BSD License that accompanies this distribution. … … 27 28 28 29 /** 29 Produces a Null-terminated Unicode string in an output buffer ,based on30 a Null-terminated Unicode format string and a BASE_LIST argument list 31 32 Produces a Null-terminated Unicode string in the output buffer 33 specified by StartOfBufferand BufferSize.30 Produces a Null-terminated Unicode string in an output buffer based on 31 a Null-terminated Unicode format string and a BASE_LIST argument list. 32 33 Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer 34 and BufferSize. 34 35 The Unicode string is produced by parsing the format string specified by FormatString. 35 Arguments are pulled from the variable argument list specified by Marker. 36 Marker is constructed based on the contents of the format string. 37 This function returns the number of Unicode characters in the produced output buffer, 38 not including the Null-terminator. 39 If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned. 40 41 If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). 42 If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT(). 43 If BufferSize > 1 and FormatString is NULL, then ASSERT(). 44 If BufferSize > 1 and FormatString is not aligned on a 16-bit boundary, then ASSERT(). 36 Arguments are pulled from the variable argument list specified by Marker based on the 37 contents of the format string. 38 The number of Unicode characters in the produced output buffer is returned not including 39 the Null-terminator. 40 41 If StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT(). 42 If FormatString is not aligned on a 16-bit boundary, then ASSERT(). 43 44 If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is 45 unmodified and 0 is returned. 46 If BufferSize > 1 and FormatString is NULL, then ASSERT(). Also, the output buffer is 47 unmodified and 0 is returned. 48 If PcdMaximumUnicodeStringLength is not zero, and BufferSize > 49 (PcdMaximumUnicodeStringLength * sizeof (CHAR16) + 1), then ASSERT(). Also, the output 50 buffer is unmodified and 0 is returned. 45 51 If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than 46 PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then ASSERT().47 If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string48 contains more than PcdMaximumUnicodeStringLength Unicode characters not including the 49 Null-terminator, then ASSERT().52 PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then 53 ASSERT(). Also, the output buffer is unmodified and 0 is returned. 54 55 If BufferSize is 0 or 1, then the output buffer is unmodified and 0 is returned. 50 56 51 57 @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated 52 58 Unicode string. 53 59 @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer. 54 @param FormatString Null-terminated Unicode format string.60 @param FormatString A Null-terminated Unicode format string. 55 61 @param Marker BASE_LIST marker for the variable argument list. 56 62 57 @return The number of Unicode characters in the produced output buffer ,not including the63 @return The number of Unicode characters in the produced output buffer not including the 58 64 Null-terminator. 59 65 … … 72 78 Unicode format string and variable argument list. 73 79 74 Produces a Null-terminated Unicode string in the output buffer 75 specified by StartOfBuffer and BufferSize. 80 This function is similar as snprintf_s defined in C11. 81 82 Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer 83 and BufferSize. 76 84 The Unicode string is produced by parsing the format string specified by FormatString. 77 85 Arguments are pulled from the variable argument list based on the contents of the format string. 78 This function returns the number of Unicode characters in the produced output buffer, 79 not including the Null-terminator. 80 If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned. 81 82 If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). 83 If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT(). 84 If BufferSize > 1 and FormatString is NULL, then ASSERT(). 85 If BufferSize > 1 and FormatString is not aligned on a 16-bit boundary, then ASSERT(). 86 The number of Unicode characters in the produced output buffer is returned not including 87 the Null-terminator. 88 89 If StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT(). 90 If FormatString is not aligned on a 16-bit boundary, then ASSERT(). 91 92 If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is 93 unmodified and 0 is returned. 94 If BufferSize > 1 and FormatString is NULL, then ASSERT(). Also, the output buffer is 95 unmodified and 0 is returned. 96 If PcdMaximumUnicodeStringLength is not zero, and BufferSize > 97 (PcdMaximumUnicodeStringLength * sizeof (CHAR16) + 1), then ASSERT(). Also, the output 98 buffer is unmodified and 0 is returned. 86 99 If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than 87 PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then ASSERT().88 If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string89 contains more than PcdMaximumUnicodeStringLength Unicode characters not including the 90 Null-terminator, then ASSERT().100 PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then 101 ASSERT(). Also, the output buffer is unmodified and 0 is returned. 102 103 If BufferSize is 0 or 1, then the output buffer is unmodified and 0 is returned. 91 104 92 105 @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated 93 106 Unicode string. 94 107 @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer. 95 @param FormatString Null-terminated Unicode format string.108 @param FormatString A Null-terminated Unicode format string. 96 109 @param ... Variable argument list whose contents are accessed based on the 97 110 format string specified by FormatString. … … 111 124 112 125 /** 113 Produces a Null-terminated Unicode string in an output buffer ,based on a Null-terminated114 ASCII format string and a BASE_LIST argument list 115 116 Produces a Null-terminated Unicode string in the output buffer 117 specified by StartOfBufferand BufferSize.126 Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated 127 ASCII format string and a BASE_LIST argument list. 128 129 Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer 130 and BufferSize. 118 131 The Unicode string is produced by parsing the format string specified by FormatString. 119 132 Arguments are pulled from the variable argument list specified by Marker based on the 120 133 contents of the format string. 121 This function returns the number of Unicode characters in the produced output buffer, 122 not including the Null-terminator. 134 The number of Unicode characters in the produced output buffer is returned not including 135 the Null-terminator. 136 137 If StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT(). 138 139 If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is 140 unmodified and 0 is returned. 141 If BufferSize > 1 and FormatString is NULL, then ASSERT(). Also, the output buffer is 142 unmodified and 0 is returned. 143 If PcdMaximumUnicodeStringLength is not zero, and BufferSize > 144 (PcdMaximumUnicodeStringLength * sizeof (CHAR16) + 1), then ASSERT(). Also, the output 145 buffer is unmodified and 0 is returned. 146 If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than 147 PcdMaximumAsciiStringLength Ascii characters not including the Null-terminator, then 148 ASSERT(). Also, the output buffer is unmodified and 0 is returned. 149 123 150 If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned. 124 151 125 If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().126 If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().127 If BufferSize > 1 and FormatString is NULL, then ASSERT().128 If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than129 PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then ASSERT().130 If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string131 contains more than PcdMaximumUnicodeStringLength Unicode characters not including the132 Null-terminator, then ASSERT().133 134 152 @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated 135 153 Unicode string. 136 154 @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer. 137 @param FormatString Null-terminated ASCII format string.155 @param FormatString A Null-terminated ASCII format string. 138 156 @param Marker BASE_LIST marker for the variable argument list. 139 157 … … 153 171 /** 154 172 Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated 155 ASCII format string and a variable argument list. 156 157 Produces a Null-terminated Unicode string in the output buffer 158 specified by StartOfBuffer and BufferSize. 173 ASCII format string and variable argument list. 174 175 This function is similar as snprintf_s defined in C11. 176 177 Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer 178 and BufferSize. 159 179 The Unicode string is produced by parsing the format string specified by FormatString. 160 Arguments are pulled from the variable argument list based on the contents of the format string. 161 This function returns the number of Unicode characters in the produced output buffer, 162 not including the Null-terminator. 180 Arguments are pulled from the variable argument list based on the contents of the 181 format string. 182 The number of Unicode characters in the produced output buffer is returned not including 183 the Null-terminator. 184 185 If StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT(). 186 187 If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is 188 unmodified and 0 is returned. 189 If BufferSize > 1 and FormatString is NULL, then ASSERT(). Also, the output buffer is 190 unmodified and 0 is returned. 191 If PcdMaximumUnicodeStringLength is not zero, and BufferSize > 192 (PcdMaximumUnicodeStringLength * sizeof (CHAR16) + 1), then ASSERT(). Also, the output 193 buffer is unmodified and 0 is returned. 194 If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than 195 PcdMaximumAsciiStringLength Ascii characters not including the Null-terminator, then 196 ASSERT(). Also, the output buffer is unmodified and 0 is returned. 197 163 198 If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned. 164 199 165 If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().166 If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().167 If BufferSize > 1 and FormatString is NULL, then ASSERT().168 If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than169 PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then ASSERT().170 If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string171 contains more than PcdMaximumUnicodeStringLength Unicode characters not including the172 Null-terminator, then ASSERT().173 174 200 @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated 175 201 Unicode string. 176 202 @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer. 177 @param FormatString Null-terminated ASCII format string.203 @param FormatString A Null-terminated ASCII format string. 178 204 @param ... Variable argument list whose contents are accessed based on the 179 205 format string specified by FormatString. … … 246 272 ASCII format string and a BASE_LIST argument list. 247 273 248 Produces a Null-terminated ASCII string in the output buffer 249 pecified by StartOfBufferand BufferSize.274 Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer 275 and BufferSize. 250 276 The ASCII string is produced by parsing the format string specified by FormatString. 251 277 Arguments are pulled from the variable argument list specified by Marker based on 252 278 the contents of the format string. 253 This function returns the number of ASCII characters in the output buffer, 254 not including the Null-terminator. 279 The number of ASCII characters in the produced output buffer is returned not including 280 the Null-terminator. 281 282 If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is 283 unmodified and 0 is returned. 284 If BufferSize > 0 and FormatString is NULL, then ASSERT(). Also, the output buffer is 285 unmodified and 0 is returned. 286 If PcdMaximumAsciiStringLength is not zero, and BufferSize > 287 (PcdMaximumAsciiStringLength * sizeof (CHAR8)), then ASSERT(). Also, the output buffer 288 is unmodified and 0 is returned. 289 If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than 290 PcdMaximumAsciiStringLength Ascii characters not including the Null-terminator, then 291 ASSERT(). Also, the output buffer is unmodified and 0 is returned. 292 255 293 If BufferSize is 0, then no output buffer is produced and 0 is returned. 256 294 257 If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().258 If BufferSize > 0 and FormatString is NULL, then ASSERT().259 If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than260 PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then ASSERT().261 If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string262 contains more than PcdMaximumAsciiStringLength ASCII characters not including the263 Null-terminator, then ASSERT().264 265 295 @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated 266 296 ASCII string. 267 297 @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer. 268 @param FormatString Null-terminated ASCII format string.298 @param FormatString A Null-terminated ASCII format string. 269 299 @param Marker BASE_LIST marker for the variable argument list. 270 300 … … 284 314 /** 285 315 Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated 286 ASCII format string and variable argument list. 287 288 Produces a Null-terminated ASCII string in the output buffer 289 specified by StartOfBuffer and BufferSize. 316 ASCII format string and variable argument list. 317 318 This function is similar as snprintf_s defined in C11. 319 320 Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer 321 and BufferSize. 290 322 The ASCII string is produced by parsing the format string specified by FormatString. 291 Arguments are pulled from the variable argument list based on the contents of the format string. 292 This function returns the number of ASCII characters in the output buffer, 293 not including the Null-terminator. 323 Arguments are pulled from the variable argument list based on the contents of the 324 format string. 325 The number of ASCII characters in the produced output buffer is returned not including 326 the Null-terminator. 327 328 If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is 329 unmodified and 0 is returned. 330 If BufferSize > 0 and FormatString is NULL, then ASSERT(). Also, the output buffer is 331 unmodified and 0 is returned. 332 If PcdMaximumAsciiStringLength is not zero, and BufferSize > 333 (PcdMaximumAsciiStringLength * sizeof (CHAR8)), then ASSERT(). Also, the output buffer 334 is unmodified and 0 is returned. 335 If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than 336 PcdMaximumAsciiStringLength Ascii characters not including the Null-terminator, then 337 ASSERT(). Also, the output buffer is unmodified and 0 is returned. 338 294 339 If BufferSize is 0, then no output buffer is produced and 0 is returned. 295 340 296 If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().297 If BufferSize > 0 and FormatString is NULL, then ASSERT().298 If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than299 PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then ASSERT().300 If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string301 contains more than PcdMaximumAsciiStringLength ASCII characters not including the302 Null-terminator, then ASSERT().303 304 341 @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated 305 342 ASCII string. 306 343 @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer. 307 @param FormatString Null-terminated ASCII format string.344 @param FormatString A Null-terminated ASCII format string. 308 345 @param ... Variable argument list whose contents are accessed based on the 309 346 format string specified by FormatString. … … 326 363 Unicode format string and a BASE_LIST argument list. 327 364 328 Produces a Null-terminated ASCII string in the output buffer 329 specified by StartOfBufferand BufferSize.365 Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer 366 and BufferSize. 330 367 The ASCII string is produced by parsing the format string specified by FormatString. 331 368 Arguments are pulled from the variable argument list specified by Marker based on 332 369 the contents of the format string. 333 This function returns the number of ASCII characters in the output buffer, 334 not including the Null-terminator. 370 The number of ASCII characters in the produced output buffer is returned not including 371 the Null-terminator. 372 373 If FormatString is not aligned on a 16-bit boundary, then ASSERT(). 374 375 If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is 376 unmodified and 0 is returned. 377 If BufferSize > 0 and FormatString is NULL, then ASSERT(). Also, the output buffer is 378 unmodified and 0 is returned. 379 If PcdMaximumAsciiStringLength is not zero, and BufferSize > 380 (PcdMaximumAsciiStringLength * sizeof (CHAR8)), then ASSERT(). Also, the output buffer 381 is unmodified and 0 is returned. 382 If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than 383 PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then 384 ASSERT(). Also, the output buffer is unmodified and 0 is returned. 385 335 386 If BufferSize is 0, then no output buffer is produced and 0 is returned. 336 387 337 If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().338 If BufferSize > 0 and FormatString is NULL, then ASSERT().339 If BufferSize > 0 and FormatString is not aligned on a 16-bit boundary, then ASSERT().340 If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than341 PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then ASSERT().342 If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string343 contains more than PcdMaximumAsciiStringLength ASCII characters not including the344 Null-terminator, then ASSERT().345 346 388 @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated 347 389 ASCII string. 348 390 @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer. 349 @param FormatString Null-terminated Unicode format string.391 @param FormatString A Null-terminated Unicode format string. 350 392 @param Marker BASE_LIST marker for the variable argument list. 351 393 … … 367 409 Unicode format string and variable argument list. 368 410 369 Produces a Null-terminated ASCII string in the output buffer 370 specified by StartOfBuffer and BufferSize. 411 This function is similar as snprintf_s defined in C11. 412 413 Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer 414 and BufferSize. 371 415 The ASCII string is produced by parsing the format string specified by FormatString. 372 Arguments are pulled from the variable argument list based on the contents of the format string. 373 This function returns the number of ASCII characters in the output buffer, 374 not including the Null-terminator. 416 Arguments are pulled from the variable argument list based on the contents of the 417 format string. 418 The number of ASCII characters in the produced output buffer is returned not including 419 the Null-terminator. 420 421 If FormatString is not aligned on a 16-bit boundary, then ASSERT(). 422 423 If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT(). Also, the output buffer is 424 unmodified and 0 is returned. 425 If BufferSize > 0 and FormatString is NULL, then ASSERT(). Also, the output buffer is 426 unmodified and 0 is returned. 427 If PcdMaximumAsciiStringLength is not zero, and BufferSize > 428 (PcdMaximumAsciiStringLength * sizeof (CHAR8)), then ASSERT(). Also, the output buffer 429 is unmodified and 0 is returned. 430 If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than 431 PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then 432 ASSERT(). Also, the output buffer is unmodified and 0 is returned. 433 375 434 If BufferSize is 0, then no output buffer is produced and 0 is returned. 376 435 377 If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().378 If BufferSize > 0 and FormatString is NULL, then ASSERT().379 If BufferSize > 0 and FormatString is not aligned on a 16-bit boundary, then ASSERT().380 If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than381 PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then ASSERT().382 If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string383 contains more than PcdMaximumAsciiStringLength ASCII characters not including the384 Null-terminator, then ASSERT().385 386 436 @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated 387 437 ASCII string. 388 438 @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer. 389 @param FormatString Null-terminated Unicode format string.439 @param FormatString A Null-terminated Unicode format string. 390 440 @param ... Variable argument list whose contents are accessed based on the 391 441 format string specified by FormatString. … … 467 517 extern EFI_GUID gEfiPrint2ProtocolGuid; 468 518 519 520 #define EFI_PRINT2S_PROTOCOL_GUID \ 521 { 0xcc252d2, 0xc106, 0x4661, { 0xb5, 0xbd, 0x31, 0x47, 0xa4, 0xf8, 0x1f, 0x92 } } 522 523 // 524 // Forward reference for pure ANSI compatability 525 // 526 typedef struct _EFI_PRINT2S_PROTOCOL EFI_PRINT2S_PROTOCOL; 527 528 /** 529 Converts a decimal value to a Null-terminated Unicode string. 530 531 Converts the decimal number specified by Value to a Null-terminated Unicode 532 string specified by Buffer containing at most Width characters. No padding of 533 spaces is ever performed. If Width is 0 then a width of 534 MAXIMUM_VALUE_CHARACTERS is assumed. If the conversion contains more than 535 Width characters, then only the first Width characters are placed in Buffer. 536 Additional conversion parameters are specified in Flags. 537 538 The Flags bit LEFT_JUSTIFY is always ignored. 539 All conversions are left justified in Buffer. 540 If Width is 0, PREFIX_ZERO is ignored in Flags. 541 If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and 542 commas are inserted every 3rd digit starting from the right. 543 If RADIX_HEX is set in Flags, then the output buffer will be formatted in 544 hexadecimal format. 545 If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in 546 Buffer is a '-'. 547 If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored, then 548 Buffer is padded with '0' characters so the combination of the optional '-' 549 sign character, '0' characters, digit characters for Value, and the 550 Null-terminator add up to Width characters. 551 552 If Buffer is not aligned on a 16-bit boundary, then ASSERT(). 553 If an error would be returned, then the function will also ASSERT(). 554 555 @param Buffer The pointer to the output buffer for the produced 556 Null-terminated Unicode string. 557 @param BufferSize The size of Buffer in bytes, including the 558 Null-terminator. 559 @param Flags The bitmask of flags that specify left justification, 560 zero pad, and commas. 561 @param Value The 64-bit signed value to convert to a string. 562 @param Width The maximum number of Unicode characters to place in 563 Buffer, not including the Null-terminator. 564 565 @retval RETURN_SUCCESS The decimal value is converted. 566 @retval RETURN_BUFFER_TOO_SMALL If BufferSize cannot hold the converted 567 value. 568 @retval RETURN_INVALID_PARAMETER If Buffer is NULL. 569 If PcdMaximumUnicodeStringLength is not 570 zero, and BufferSize is greater than 571 (PcdMaximumUnicodeStringLength * 572 sizeof (CHAR16) + 1). 573 If unsupported bits are set in Flags. 574 If both COMMA_TYPE and RADIX_HEX are set in 575 Flags. 576 If Width >= MAXIMUM_VALUE_CHARACTERS. 577 578 **/ 579 typedef 580 RETURN_STATUS 581 (EFIAPI *UNICODE_VALUE_TO_STRING_S)( 582 IN OUT CHAR16 *Buffer, 583 IN UINTN BufferSize, 584 IN UINTN Flags, 585 IN INT64 Value, 586 IN UINTN Width 587 ); 588 589 /** 590 Converts a decimal value to a Null-terminated Ascii string. 591 592 Converts the decimal number specified by Value to a Null-terminated Ascii 593 string specified by Buffer containing at most Width characters. No padding of 594 spaces is ever performed. If Width is 0 then a width of 595 MAXIMUM_VALUE_CHARACTERS is assumed. If the conversion contains more than 596 Width characters, then only the first Width characters are placed in Buffer. 597 Additional conversion parameters are specified in Flags. 598 599 The Flags bit LEFT_JUSTIFY is always ignored. 600 All conversions are left justified in Buffer. 601 If Width is 0, PREFIX_ZERO is ignored in Flags. 602 If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and 603 commas are inserted every 3rd digit starting from the right. 604 If RADIX_HEX is set in Flags, then the output buffer will be formatted in 605 hexadecimal format. 606 If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in 607 Buffer is a '-'. 608 If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored, then 609 Buffer is padded with '0' characters so the combination of the optional '-' 610 sign character, '0' characters, digit characters for Value, and the 611 Null-terminator add up to Width characters. 612 613 If an error would be returned, then the function will ASSERT(). 614 615 @param Buffer The pointer to the output buffer for the produced 616 Null-terminated Ascii string. 617 @param BufferSize The size of Buffer in bytes, including the 618 Null-terminator. 619 @param Flags The bitmask of flags that specify left justification, 620 zero pad, and commas. 621 @param Value The 64-bit signed value to convert to a string. 622 @param Width The maximum number of Ascii characters to place in 623 Buffer, not including the Null-terminator. 624 625 @retval RETURN_SUCCESS The decimal value is converted. 626 @retval RETURN_BUFFER_TOO_SMALL If BufferSize cannot hold the converted 627 value. 628 @retval RETURN_INVALID_PARAMETER If Buffer is NULL. 629 If PcdMaximumAsciiStringLength is not 630 zero, and BufferSize is greater than 631 PcdMaximumAsciiStringLength. 632 If unsupported bits are set in Flags. 633 If both COMMA_TYPE and RADIX_HEX are set in 634 Flags. 635 If Width >= MAXIMUM_VALUE_CHARACTERS. 636 637 **/ 638 typedef 639 RETURN_STATUS 640 (EFIAPI *ASCII_VALUE_TO_STRING_S)( 641 IN OUT CHAR8 *Buffer, 642 IN UINTN BufferSize, 643 IN UINTN Flags, 644 IN INT64 Value, 645 IN UINTN Width 646 ); 647 648 struct _EFI_PRINT2S_PROTOCOL { 649 UNICODE_BS_PRINT UnicodeBSPrint; 650 UNICODE_S_PRINT UnicodeSPrint; 651 UNICODE_BS_PRINT_ASCII_FORMAT UnicodeBSPrintAsciiFormat; 652 UNICODE_S_PRINT_ASCII_FORMAT UnicodeSPrintAsciiFormat; 653 UNICODE_VALUE_TO_STRING_S UnicodeValueToStringS; 654 ASCII_BS_PRINT AsciiBSPrint; 655 ASCII_S_PRINT AsciiSPrint; 656 ASCII_BS_PRINT_UNICODE_FORMAT AsciiBSPrintUnicodeFormat; 657 ASCII_S_PRINT_UNICODE_FORMAT AsciiSPrintUnicodeFormat; 658 ASCII_VALUE_TO_STRING_S AsciiValueToStringS; 659 }; 660 661 extern EFI_GUID gEfiPrint2SProtocolGuid; 662 469 663 #endif -
trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Protocol/UfsHostController.h
r58466 r77662 3 3 EDKII Universal Flash Storage Host Controller Protocol. 4 4 5 Copyright (c) 2014 , Intel Corporation. All rights reserved.<BR>5 Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR> 6 6 This program and the accompanying materials are licensed and made available under 7 7 the terms and conditions of the BSD License that accompanies this distribution. … … 186 186 ); 187 187 188 typedef enum { 189 EfiUfsHcWidthUint8 = 0, 190 EfiUfsHcWidthUint16, 191 EfiUfsHcWidthUint32, 192 EfiUfsHcWidthUint64, 193 EfiUfsHcWidthMaximum 194 } EDKII_UFS_HOST_CONTROLLER_PROTOCOL_WIDTH; 195 196 /** 197 Enable a UFS bus driver to access UFS MMIO registers in the UFS Host Controller memory space. 198 199 @param This A pointer to the EDKII_UFS_HOST_CONTROLLER_PROTOCOL instance. 200 @param Width Signifies the width of the memory operations. 201 @param Offset The offset within the UFS Host Controller MMIO space to start the 202 memory operation. 203 @param Count The number of memory operations to perform. 204 @param Buffer For read operations, the destination buffer to store the results. 205 For write operations, the source buffer to write data from. 206 207 @retval EFI_SUCCESS The data was read from or written to the UFS host controller. 208 @retval EFI_UNSUPPORTED The address range specified by Offset, Width, and Count is not 209 valid for the UFS Host Controller memory space. 210 @retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources. 211 @retval EFI_INVALID_PARAMETER One or more parameters are invalid. 212 213 **/ 214 typedef 215 EFI_STATUS 216 (EFIAPI *EDKII_UFS_HC_MMIO_READ_WRITE)( 217 IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL *This, 218 IN EDKII_UFS_HOST_CONTROLLER_PROTOCOL_WIDTH Width, 219 IN UINT64 Offset, 220 IN UINTN Count, 221 IN OUT VOID *Buffer 222 ); 223 188 224 /// 189 225 /// UFS Host Controller Protocol structure. … … 196 232 EDKII_UFS_HC_UNMAP Unmap; 197 233 EDKII_UFS_HC_FLUSH Flush; 234 EDKII_UFS_HC_MMIO_READ_WRITE Read; 235 EDKII_UFS_HC_MMIO_READ_WRITE Write; 198 236 }; 199 237
Note:
See TracChangeset
for help on using the changeset viewer.