1 /* SPDX-License-Identifier: BSD-2-Clause */ 2 /* 3 * Copyright (c) 2024, Arm Limited and Contributors. All rights reserved. 4 */ 5 6 #ifndef __EFI_TYPES_H 7 #define __EFI_TYPES_H 8 9 #include <stdint.h> 10 11 typedef uint64_t efi_physical_address_t; 12 13 /***************************************************************************** 14 * EFI_BOOT_MODE * 15 *****************************************************************************/ 16 17 typedef uint32_t efi_boot_mode_t; 18 /** 19 * EFI boot mode. 20 */ 21 #define BOOT_WITH_FULL_CONFIGURATION 0x00 22 #define BOOT_WITH_MINIMAL_CONFIGURATION 0x01 23 #define BOOT_ASSUMING_NO_CONFIGURATION_CHANGES 0x02 24 #define BOOT_WITH_FULL_CONFIGURATION_PLUS_DIAGNOSTICS 0x03 25 #define BOOT_WITH_DEFAULT_SETTINGS 0x04 26 #define BOOT_ON_S4_RESUME 0x05 27 #define BOOT_ON_S5_RESUME 0x06 28 #define BOOT_WITH_MFG_MODE_SETTINGS 0x07 29 #define BOOT_ON_S2_RESUME 0x10 30 #define BOOT_ON_S3_RESUME 0x11 31 #define BOOT_ON_FLASH_UPDATE 0x12 32 #define BOOT_IN_RECOVERY_MODE 0x20 33 34 /***************************************************************************** 35 * EFI_RESOURCE_TYPE * 36 *****************************************************************************/ 37 38 typedef uint32_t efi_resource_type_t; 39 40 /** 41 * Value of EFI_RESOURCE_TYPE used in EFI_HOB_RESOURCE_DESCRIPTOR. 42 */ 43 #define EFI_RESOURCE_SYSTEM_MEMORY 0x00000000 44 #define EFI_RESOURCE_MEMORY_MAPPED_IO 0x00000001 45 #define EFI_RESOURCE_IO 0x00000002 46 #define EFI_RESOURCE_FIRMWARE_DEVICE 0x00000003 47 #define EFI_RESOURCE_MEMORY_MAPPED_IO_PORT 0x00000004 48 #define EFI_RESOURCE_MEMORY_RESERVED 0x00000005 49 #define EFI_RESOURCE_IO_RESERVED 0x00000006 50 51 /***************************************************************************** 52 * EFI_RESOURCE_ATTRIBUTE_TYPE * 53 *****************************************************************************/ 54 55 typedef uint32_t efi_resource_attribute_type_t; 56 57 #define EFI_RESOURCE_ATTR_PRESENT 0x00000001 58 #define EFI_RESOURCE_ATTR_INITIALIZED 0x00000002 59 #define EFI_RESOURCE_ATTR_TESTED 0x00000004 60 #define EFI_RESOURCE_ATTR_RD_PROTECTED 0x00000080 61 #define EFI_RESOURCE_ATTR_WR_PROTECTED 0x00000100 62 #define EFI_RESOURCE_ATTR_EXECUTION_PROTECTED 0x00000200 63 #define EFI_RESOURCE_ATTR_PERSISTENT 0x00800000 64 #define EFI_RESOURCE_ATTR_SINGLE_BIT_ECC 0x00000008 65 #define EFI_RESOURCE_ATTR_MULTIPLE_BIT_ECC 0x00000010 66 #define EFI_RESOURCE_ATTR_ECC_RESERVED_1 0x00000020 67 #define EFI_RESOURCE_ATTR_ECC_RESERVED_2 0x00000040 68 #define EFI_RESOURCE_ATTR_UNCACHEABLE 0x00000400 69 #define EFI_RESOURCE_ATTR_WR_COMBINEABLE 0x00000800 70 #define EFI_RESOURCE_ATTR_WR_THROUGH_CACHEABLE 0x00001000 71 #define EFI_RESOURCE_ATTR_WR_BACK_CACHEABLE 0x00002000 72 #define EFI_RESOURCE_ATTR_16_BIT_IO 0x00004000 73 #define EFI_RESOURCE_ATTR_32_BIT_IO 0x00008000 74 #define EFI_RESOURCE_ATTR_64_BIT_IO 0x00010000 75 #define EFI_RESOURCE_ATTR_UNCACHED_EXPORTED 0x00020000 76 #define EFI_RESOURCE_ATTR_RD_PROTECTABLE 0x00100000 77 #define EFI_RESOURCE_ATTR_WR_PROTECTABLE 0x00200000 78 #define EFI_RESOURCE_ATTR_EXECUTION_PROTECTABLE 0x00400000 79 #define EFI_RESOURCE_ATTR_PERSISTABLE 0x01000000 80 #define EFI_RESOURCE_ATTR_RD_ONLY_PROTECTED 0x00040000 81 #define EFI_RESOURCE_ATTR_RD_ONLY_PROTECTABLE 0x00080000 82 #define EFI_RESOURCE_ATTR_MORE_RELIABLE 0x02000000 83 84 #endif 85