1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228
/* SPDX-License-Identifier: GPL-2.0+ */ /* * Copyright (c) 2024 Linaro Limited * Author: Raymond Mao <raymond.mao@linaro.org> */ #ifndef _SMBIOS_DEF_H_ #define _SMBIOS_DEF_H_ /* * BIOS characteristics */ #define BIOS_CHARACTERISTICS_PCI_SUPPORTED 0x80 /* BIT(7) */ #define BIOS_CHARACTERISTICS_UPGRADEABLE 0x800 /* BIT(11) */ #define BIOS_CHARACTERISTICS_SELECTABLE_BOOT 0x10000 /* BIT(16) */ #define BIOS_CHARACTERISTICS_EXT1_ACPI 1 /* BIT(0) */ #define BIOS_CHARACTERISTICS_EXT2_UEFI 8 /* BIT(3) */ #define BIOS_CHARACTERISTICS_EXT2_TARGET 4 /* BIT(2) */ /* * System Information */ #define SMBIOS_WAKEUP_TYPE_RESERVED 0 #define SMBIOS_WAKEUP_TYPE_OTHER 1 #define SMBIOS_WAKEUP_TYPE_UNKNOWN 2 #define SMBIOS_WAKEUP_TYPE_APM_TIMER 3 #define SMBIOS_WAKEUP_TYPE_MODEM_RING 4 #define SMBIOS_WAKEUP_TYPE_LAN_REMOTE 5 #define SMBIOS_WAKEUP_TYPE_POWER_SWITCH 6 #define SMBIOS_WAKEUP_TYPE_PCI_PME 7 #define SMBIOS_WAKEUP_TYPE_AC_POWER_RESTORED 8 /* * Baseboard Information */ #define SMBIOS_BOARD_FEAT_HOST_BOARD 1 /* BIT(0) */ #define SMBIOS_BOARD_FEAT_REQ_AUX 2 /* BIT(1) */ #define SMBIOS_BOARD_FEAT_REMOVABLE 4 /* BIT(2) */ #define SMBIOS_BOARD_FEAT_REPLACEABLE 8 /* BIT(3) */ #define SMBIOS_BOARD_FEAT_HOT_SWAPPABLE 16 /* BIT(4) */ #define SMBIOS_BOARD_TYPE_UNKNOWN 1 #define SMBIOS_BOARD_TYPE_OTHER 2 #define SMBIOS_BOARD_TYPE_SERVER_BLADE 3 #define SMBIOS_BOARD_TYPE_CON_SWITCH 4 #define SMBIOS_BOARD_TYPE_SM_MODULE 5 #define SMBIOS_BOARD_TYPE_PROCESSOR_MODULE 6 #define SMBIOS_BOARD_TYPE_IO_MODULE 7 #define SMBIOS_BOARD_TYPE_MEM_MODULE 8 #define SMBIOS_BOARD_TYPE_DAUGHTER_BOARD 9 #define SMBIOS_BOARD_TYPE_MOTHERBOARD 10 #define SMBIOS_BOARD_TYPE_PROC_MEM_MODULE 11 #define SMBIOS_BOARD_TYPE_PROC_IO_MODULE 12 #define SMBIOS_BOARD_TYPE_INTERCON 13 /* * System Enclosure or Chassis */ #define SMBIOS_ENCLOSURE_UNKNOWN 2 #define SMBIOS_ENCLOSURE_DESKTOP 3 #define SMBIOS_STATE_OTHER 1 #define SMBIOS_STATE_UNKNOWN 2 #define SMBIOS_STATE_SAFE 3 #define SMBIOS_STATE_WARNING 4 #define SMBIOS_STATE_CRITICAL 5 #define SMBIOS_STATE_NONRECOVERABLE 6 #define SMBIOS_SECURITY_OTHER 1 #define SMBIOS_SECURITY_UNKNOWN 2 #define SMBIOS_SECURITY_NONE 3 #define SMBIOS_SECURITY_EXTINT_LOCK 4 #define SMBIOS_SECURITY_EXTINT_EN 5 #define SMBIOS_ENCLOSURE_OEM_UND 0 #define SMBIOS_ENCLOSURE_HEIGHT_UND 0 #define SMBIOS_POWCORD_NUM_UND 0 #define SMBIOS_ELEMENT_TYPE_SELECT 0x80 /* BIT(7) */ /* * Processor Information */ #define SMBIOS_PROCESSOR_TYPE_OTHER 1 #define SMBIOS_PROCESSOR_TYPE_UNKNOWN 2 #define SMBIOS_PROCESSOR_TYPE_CENTRAL 3 #define SMBIOS_PROCESSOR_TYPE_MATH 4 #define SMBIOS_PROCESSOR_TYPE_DSP 5 #define SMBIOS_PROCESSOR_TYPE_VIDEO 6 #define SMBIOS_PROCESSOR_STATUS_UNKNOWN 0 #define SMBIOS_PROCESSOR_STATUS_ENABLED 1 #define SMBIOS_PROCESSOR_STATUS_DISABLED_USER 2 #define SMBIOS_PROCESSOR_STATUS_DISABLED_BIOS 3 #define SMBIOS_PROCESSOR_STATUS_IDLE 4 #define SMBIOS_PROCESSOR_STATUS_OTHER 7 #define SMBIOS_PROCESSOR_UPGRADE_OTHER 1 #define SMBIOS_PROCESSOR_UPGRADE_UNKNOWN 2 #define SMBIOS_PROCESSOR_UPGRADE_NONE 6 #define SMBIOS_PROCESSOR_FAMILY_OTHER 1 #define SMBIOS_PROCESSOR_FAMILY_UNKNOWN 2 #define SMBIOS_PROCESSOR_FAMILY_RSVD 255 #define SMBIOS_PROCESSOR_FAMILY_ARMV7 256 #define SMBIOS_PROCESSOR_FAMILY_ARMV8 257 #define SMBIOS_PROCESSOR_FAMILY_RV32 512 #define SMBIOS_PROCESSOR_FAMILY_RV64 513 #define SMBIOS_PROCESSOR_FAMILY_EXT 0xfe /* Processor Characteristics */ #define SMBIOS_PROCESSOR_RSVD 1 /* BIT(0) */ #define SMBIOS_PROCESSOR_UND 2 /* BIT(1) */ #define SMBIOS_PROCESSOR_64BIT 4 /* BIT(2) */ #define SMBIOS_PROCESSOR_MULTICORE 8 /* BIT(3) */ #define SMBIOS_PROCESSOR_HWTHREAD 16 /* BIT(4) */ #define SMBIOS_PROCESSOR_EXEC_PROT 32 /* BIT(5) */ #define SMBIOS_PROCESSOR_ENH_VIRT 64 /* BIT(6) */ #define SMBIOS_PROCESSOR_POW_CON 0x80 /* BIT(7) */ #define SMBIOS_PROCESSOR_128BIT 0x100 /* BIT(8) */ #define SMBIOS_PROCESSOR_ARM64_SOCID 0x200 /* BIT(9) */ /* * Cache Information */ #define SMBIOS_CACHE_SIZE_EXT_KB (2047 * 1024) /* 2047 MiB */ #define SMBIOS_CACHE_HANDLE_NONE 0xffff /* System Cache Type */ #define SMBIOS_CACHE_SYSCACHE_TYPE_OTHER 1 #define SMBIOS_CACHE_SYSCACHE_TYPE_UNKNOWN 2 #define SMBIOS_CACHE_SYSCACHE_TYPE_INST 3 #define SMBIOS_CACHE_SYSCACHE_TYPE_DATA 4 #define SMBIOS_CACHE_SYSCACHE_TYPE_UNIFIED 5 /* Cache Speed */ #define SMBIOS_CACHE_SPEED_UNKNOWN 0 /* SRAM Type */ #define SMBIOS_CACHE_SRAM_TYPE_UNKNOWN 2 /* BIT(1) */ /* Error Correction Type */ #define SMBIOS_CACHE_ERRCORR_OTHER 1 #define SMBIOS_CACHE_ERRCORR_UNKNOWN 2 #define SMBIOS_CACHE_ERRCORR_NONE 3 #define SMBIOS_CACHE_ERRCORR_PARITY 4 #define SMBIOS_CACHE_ERRCORR_SBITECC 5 #define SMBIOS_CACHE_ERRCORR_MBITECC 6 /* Cache Configuration */ #define SMBIOS_CACHE_LEVEL_1 0 #define SMBIOS_CACHE_LEVEL_2 1 #define SMBIOS_CACHE_LEVEL_3 2 #define SMBIOS_CACHE_LEVEL_4 3 #define SMBIOS_CACHE_LEVEL_5 4 #define SMBIOS_CACHE_LEVEL_6 5 #define SMBIOS_CACHE_LEVEL_7 6 #define SMBIOS_CACHE_LEVEL_8 7 #define SMBIOS_CACHE_SOCKETED 8 /* BIT(3) */ #define SMBIOS_CACHE_LOCATE_EXTERNAL 32 /* BIT(5) */ #define SMBIOS_CACHE_LOCATE_RESERVED 64 /* BIT(6) */ #define SMBIOS_CACHE_LOCATE_UNKNOWN 96 /* (BIT(5) | BIT(6)) */ #define SMBIOS_CACHE_ENABLED 0x80 /* BIT(7) */ #define SMBIOS_CACHE_OP_WB 0x100 /* BIT(8), Write Back */ #define SMBIOS_CACHE_OP_VAR 0x200 /* BIT(9), Varies with Memory Address */ #define SMBIOS_CACHE_OP_UND 0x300 /* (BIT(8) | BIT(9)), Unknown*/ /* Cache Granularity */ #define SMBIOS_CACHE_GRANU_1K 0 #define SMBIOS_CACHE_GRANU_64K 1 /* Cache Associativity */ #define SMBIOS_CACHE_ASSOC_OTHER 1 #define SMBIOS_CACHE_ASSOC_UNKNOWN 2 #define SMBIOS_CACHE_ASSOC_DMAPPED 3 #define SMBIOS_CACHE_ASSOC_2WAY 4 #define SMBIOS_CACHE_ASSOC_4WAY 5 #define SMBIOS_CACHE_ASSOC_FULLY 6 #define SMBIOS_CACHE_ASSOC_8WAY 7 #define SMBIOS_CACHE_ASSOC_16WAY 8 #define SMBIOS_CACHE_ASSOC_12WAY 9 #define SMBIOS_CACHE_ASSOC_24WAY 10 #define SMBIOS_CACHE_ASSOC_32WAY 11 #define SMBIOS_CACHE_ASSOC_48WAY 12 #define SMBIOS_CACHE_ASSOC_64WAY 13 #define SMBIOS_CACHE_ASSOC_20WAY 14 /* Physical Memory Array */ #define SMBIOS_MEM_ARRAY_LOCATION_OTHER 0x01 #define SMBIOS_MEM_ARRAY_LOCATION_UNKNOWN 0x02 #define SMBIOS_MEM_ARRAY_LOCATION_SYSTEM_BOARD 0x03 #define SMBIOS_MEM_ARRAY_LOCATION_ISA_ADDON 0x04 #define SMBIOS_MEM_ARRAY_LOCATION_EISA_ADDON 0x05 #define SMBIOS_MEM_ARRAY_LOCATION_PCI_ADDON 0x06 #define SMBIOS_MEM_ARRAY_LOCATION_MCA_ADDON 0x07 #define SMBIOS_MEM_ARRAY_LOCATION_PCMCIA_ADDON 0x08 #define SMBIOS_MEM_ARRAY_LOCATION_PROPRIETARY_ADDON 0x09 #define SMBIOS_MEM_ARRAY_LOCATION_NUBUS 0x0a #define SMBIOS_MEM_ARRAY_LOCATION_PC98_C20_ADDON 0xa0 #define SMBIOS_MEM_ARRAY_LOCATION_PC98_C24_ADDON 0xa1 #define SMBIOS_MEM_ARRAY_LOCATION_PC98_E_ADDON 0xa2 #define SMBIOS_MEM_ARRAY_LOCATION_PC98_LOCAL_BUS_ADDON 0xa3 #define SMBIOS_MEM_ARRAY_USE_OTHER 0x01 #define SMBIOS_MEM_ARRAY_USE_UNKNOWN 0x02 #define SMBIOS_MEM_ARRAY_USE_SYSTEM 0x03 #define SMBIOS_MEM_ARRAY_USE_VIDEO 0x04 #define SMBIOS_MEM_ARRAY_USE_FLASH 0x05 #define SMBIOS_MEM_ARRAY_USE_NON_VOLATILE_RAM 0x06 #define SMBIOS_MEM_ARRAY_USE_CACHE 0x07 #define SMBIOS_MEM_ERR_CORR_OTHER 0x01 #define SMBIOS_MEM_ERR_CORR_UNKNOWN 0x02 #define SMBIOS_MEM_ERR_CORR_NONE 0x03 #define SMBIOS_MEM_ERR_CORR_PARITY 0x04 #define SMBIOS_MEM_ERR_CORR_SINGLE_BIT_ECC 0x05 #define SMBIOS_MEM_ERR_CORR_MULTI_BIT_ECC 0x06 #define SMBIOS_MEM_ERR_CORR_CRC 0x07 #define SMBIOS_MEM_CAPACITY_EXTENDED 0x80000000 #endif /* _SMBIOS_DEF_H_ */