1 /* 2 * Copyright (c) 2024, Arm Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef EFI_TYPES_H 8 #define EFI_TYPES_H 9 10 #include <stdint.h> 11 #include <tools_share/uuid.h> 12 13 typedef uint64_t efi_physical_address_t; 14 15 /***************************************************************************** 16 * EFI_BOOT_MODE * 17 *****************************************************************************/ 18 19 typedef uint32_t efi_boot_mode_t; 20 /** 21 * EFI boot mode. 22 */ 23 #define EFI_BOOT_WITH_FULL_CONFIGURATION U(0x00) 24 #define EFI_BOOT_WITH_MINIMAL_CONFIGURATION U(0x01) 25 #define EFI_BOOT_ASSUMING_NO_CONFIGURATION_CHANGES U(0x02) 26 #define EFI_BOOT_WITH_FULL_CONFIGURATION_PLUS_DIAGNOSTICS U(0x03) 27 #define EFI_BOOT_WITH_DEFAULT_SETTINGS U(0x04) 28 #define EFI_BOOT_ON_S4_RESUME U(0x05) 29 #define EFI_BOOT_ON_S5_RESUME U(0x06) 30 #define EFI_BOOT_WITH_MFG_MODE_SETTINGS U(0x07) 31 #define EFI_BOOT_ON_S2_RESUME U(0x10) 32 #define EFI_BOOT_ON_S3_RESUME U(0x11) 33 #define EFI_BOOT_ON_FLASH_UPDATE U(0x12) 34 #define EFI_BOOT_IN_RECOVERY_MODE U(0x20) 35 36 /***************************************************************************** 37 * EFI_RESOURCE_TYPE * 38 *****************************************************************************/ 39 40 typedef uint32_t efi_resource_type_t; 41 42 /** 43 * Value of EFI_RESOURCE_TYPE used in EFI_HOB_RESOURCE_DESCRIPTOR. 44 */ 45 #define EFI_RESOURCE_SYSTEM_MEMORY U(0x00000000) 46 #define EFI_RESOURCE_MEMORY_MAPPED_IO U(0x00000001) 47 #define EFI_RESOURCE_IO U(0x00000002) 48 #define EFI_RESOURCE_FIRMWARE_DEVICE U(0x00000003) 49 #define EFI_RESOURCE_MEMORY_MAPPED_IO_PORT U(0x00000004) 50 #define EFI_RESOURCE_MEMORY_RESERVED U(0x00000005) 51 #define EFI_RESOURCE_IO_RESERVED U(0x00000006) 52 53 /***************************************************************************** 54 * EFI_RESOURCE_ATTRIBUTE_TYPE * 55 *****************************************************************************/ 56 57 typedef uint32_t efi_resource_attribute_type_t; 58 59 #define EFI_RESOURCE_ATTRIBUTE_PRESENT U(0x00000001) 60 #define EFI_RESOURCE_ATTRIBUTE_INITIALIZED U(0x00000002) 61 #define EFI_RESOURCE_ATTRIBUTE_TESTED U(0x00000004) 62 #define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTED U(0x00000080) 63 #define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTED U(0x00000100) 64 #define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTED U(0x00000200) 65 #define EFI_RESOURCE_ATTRIBUTE_PERSISTENT U(0x00800000) 66 #define EFI_RESOURCE_ATTRIBUTE_SINGLE_BIT_ECC U(0x00000008) 67 #define EFI_RESOURCE_ATTRIBUTE_MULTIPLE_BIT_ECC U(0x00000010) 68 #define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_1 U(0x00000020) 69 #define EFI_RESOURCE_ATTRIBUTE_ECC_RESERVED_2 U(0x00000040) 70 #define EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE U(0x00000400) 71 #define EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE U(0x00000800) 72 #define EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE U(0x00001000) 73 #define EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE U(0x00002000) 74 #define EFI_RESOURCE_ATTRIBUTE_16_BIT_IO U(0x00004000) 75 #define EFI_RESOURCE_ATTRIBUTE_32_BIT_IO U(0x00008000) 76 #define EFI_RESOURCE_ATTRIBUTE_64_BIT_IO U(0x00010000) 77 #define EFI_RESOURCE_ATTRIBUTE_UNCACHED_EXPORTED U(0x00020000) 78 #define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTABLE U(0x00100000) 79 #define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTABLE U(0x00200000) 80 #define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTABLE U(0x00400000) 81 #define EFI_RESOURCE_ATTRIBUTE_PERSISTABLE U(0x01000000) 82 #define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTED U(0x00040000) 83 #define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTABLE U(0x00080000) 84 #define EFI_RESOURCE_ATTRIBUTE_MORE_RELIABLE U(0x02000000) 85 86 #endif /* EFI_TYPES_H */ 87