summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2026-02-18 08:27:58 -0600
committerTom Rini <[email protected]>2026-02-18 08:27:58 -0600
commite8dd062642d91a00ddb596787ff35bd3641a6a21 (patch)
treeb1f660d3176f9b150375278f02974bcb12f84adb /include
parent9ddccb51443d4856e5ad2f06cc3552627b86b3d9 (diff)
parent4c816ddbadb1bd8bfe09a457538d4f518151fd6d (diff)
Merge patch series "Implement all missing SMBIOS types required by distro tooling"
Raymond Mao <[email protected]> says: From: Raymond Mao <[email protected]> This series finish the last missing puzzle of required SMBIOS types by: 1) Fixing duplicated handles when multiple instances exist in one type; 2) Implementing the rest of required types 9/16/17/19; 3) Adding version control when printing properties for all types. Type 9/16/17/19 are generally DT-based, the idea is to write these tables using a hybrid approach: Explicit DT definitions under existing '/smbios/smbios' take precedence, with fallback to scan and interpret values from the entire DT. Moreover, all below APIs: smbios_get_val_si() smbios_get_u64_si() smbios_add_prop_si() are on top of sysinfo, thus allow vendors to get values from other subsystems by implementing their own sysinfo driver if needed. Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'include')
-rw-r--r--include/smbios.h151
-rw-r--r--include/smbios_def.h250
-rw-r--r--include/sysinfo.h4
3 files changed, 405 insertions, 0 deletions
diff --git a/include/smbios.h b/include/smbios.h
index f2f7483bce5..39090d3ba18 100644
--- a/include/smbios.h
+++ b/include/smbios.h
@@ -110,10 +110,42 @@ struct __packed smbios_type0 {
char eos[SMBIOS_STRUCT_EOS_BYTES];
};
+#define SMBIOS_TYPE0_LENGTH_V24 0x18
+#define SMBIOS_TYPE0_LENGTH_V31 0x1a
+
#define SMBIOS_TYPE1_LENGTH_V20 0x08
#define SMBIOS_TYPE1_LENGTH_V21 0x19
#define SMBIOS_TYPE1_LENGTH_V24 0x1b
+#define SMBIOS_TYPE4_LENGTH_V20 0x1a
+#define SMBIOS_TYPE4_LENGTH_V23 0x23
+#define SMBIOS_TYPE4_LENGTH_V25 0x28
+#define SMBIOS_TYPE4_LENGTH_V26 0x2a
+#define SMBIOS_TYPE4_LENGTH_V30 0x30
+#define SMBIOS_TYPE4_LENGTH_V36 0x32
+
+#define SMBIOS_TYPE7_LENGTH_V20 0x0f
+#define SMBIOS_TYPE7_LENGTH_V21 0x13
+#define SMBIOS_TYPE7_LENGTH_V31 0x1b
+
+#define SMBIOS_TYPE9_LENGTH_V20 0x0c
+#define SMBIOS_TYPE9_LENGTH_V21 0x0d
+#define SMBIOS_TYPE9_LENGTH_V26 0x11
+
+#define SMBIOS_TYPE16_LENGTH_V21 0x0f
+#define SMBIOS_TYPE16_LENGTH_V27 0x17
+
+#define SMBIOS_TYPE17_LENGTH_V21 0x15
+#define SMBIOS_TYPE17_LENGTH_V23 0x1b
+#define SMBIOS_TYPE17_LENGTH_V26 0x1c
+#define SMBIOS_TYPE17_LENGTH_V27 0x22
+#define SMBIOS_TYPE17_LENGTH_V28 0x28
+#define SMBIOS_TYPE17_LENGTH_V32 0x54
+#define SMBIOS_TYPE17_LENGTH_V33 0x5c
+
+#define SMBIOS_TYPE19_LENGTH_V21 0x0f
+#define SMBIOS_TYPE19_LENGTH_V27 0x1f
+
struct __packed smbios_type1 {
struct smbios_header hdr;
u8 manufacturer;
@@ -264,6 +296,125 @@ struct __packed smbios_type7 {
char eos[SMBIOS_STRUCT_EOS_BYTES];
};
+#define SMBIOS_TYPE9_PGROUP_SIZE 5
+
+struct pci_attr_lookup_table {
+ const char *str;
+ u8 slot_type;
+ u8 data_bus_width;
+ u8 slot_length;
+ u8 chara1;
+ u8 chara2;
+};
+
+union dev_func_num {
+ struct {
+ u8 dev_num:5;
+ u8 func_num:3;
+ } fields;
+ u8 data;
+};
+
+struct __packed smbios_type9 {
+ struct smbios_header hdr;
+ u8 socket_design;
+ u8 slot_type;
+ u8 slot_data_bus_width;
+ u8 current_usage;
+ u8 slot_length;
+ u16 slot_id;
+ u8 slot_characteristics_1;
+ u8 slot_characteristics_2;
+ u16 segment_group_number;
+ u8 bus_number;
+ union dev_func_num device_function_number;
+ u8 electrical_bus_width;
+ u8 peer_grouping_count;
+ /*
+ * Dynamic bytes will be inserted here to store peer_groups.
+ * length is equal to 'peer_grouping_count' * 5
+ */
+ u8 slot_information;
+ u8 slot_physical_width;
+ u16 slot_pitch;
+ u8 slot_height;
+ char eos[SMBIOS_STRUCT_EOS_BYTES];
+};
+
+enum {
+ SMBIOS_MEM_NONE = 0,
+ SMBIOS_MEM_CUSTOM = 1,
+ SMBIOS_MEM_FDT_MEM_NODE = 2,
+ SMBIOS_MEM_FDT_MEMCON_NODE = 3
+};
+
+struct __packed smbios_type16 {
+ struct smbios_header hdr;
+ u8 location;
+ u8 use;
+ u8 mem_err_corr;
+ u32 max_cap;
+ u16 mem_err_info_hdl;
+ u16 num_of_mem_dev;
+ u64 ext_max_cap;
+ char eos[SMBIOS_STRUCT_EOS_BYTES];
+};
+
+struct __packed smbios_type17 {
+ struct smbios_header hdr;
+ u16 phy_mem_array_hdl;
+ u16 mem_err_info_hdl;
+ u16 total_width;
+ u16 data_width;
+ u16 size;
+ u8 form_factor;
+ u8 dev_set;
+ u8 dev_locator;
+ u8 bank_locator;
+ u8 mem_type;
+ u16 type_detail;
+ u16 speed;
+ u8 manufacturer;
+ u8 serial_number;
+ u8 asset_tag;
+ u8 part_number;
+ u8 attributes;
+ u32 ext_size;
+ u16 config_mem_speed;
+ u16 min_voltage;
+ u16 max_voltage;
+ u16 config_voltage;
+ u8 mem_tech;
+ u16 mem_op_mode_cap;
+ u8 fw_ver;
+ u16 module_man_id;
+ u16 module_prod_id;
+ u16 mem_subsys_con_man_id;
+ u16 mem_subsys_con_prod_id;
+ u64 nonvolatile_size;
+ u64 volatile_size;
+ u64 cache_size;
+ u64 logical_size;
+ u32 ext_speed;
+ u32 ext_config_mem_speed;
+ u16 pmic0_man_id;
+ u16 pmic0_rev_num;
+ u16 rcd_man_id;
+ u16 rcd_rev_num;
+ char eos[SMBIOS_STRUCT_EOS_BYTES];
+};
+
+struct __packed smbios_type19 {
+ struct smbios_header hdr;
+ u32 start_addr;
+ u32 end_addr;
+ u16 mem_array_hdl;
+ u8 partition_wid;
+ u64 ext_start_addr;
+ u64 ext_end_addr;
+ char eos[SMBIOS_STRUCT_EOS_BYTES];
+};
+
struct __packed smbios_type32 {
u8 type;
u8 length;
diff --git a/include/smbios_def.h b/include/smbios_def.h
index 81c5781217f..ae50e1a808e 100644
--- a/include/smbios_def.h
+++ b/include/smbios_def.h
@@ -191,4 +191,254 @@
#define SMBIOS_CACHE_ASSOC_64WAY 13
#define SMBIOS_CACHE_ASSOC_20WAY 14
+/*
+ * System Slot
+ */
+
+/* Slot Type */
+#define SMBIOS_SYSSLOT_TYPE_OTHER 1
+#define SMBIOS_SYSSLOT_TYPE_UNKNOWN 2
+#define SMBIOS_SYSSLOT_TYPE_ISA 3 /* ISA */
+#define SMBIOS_SYSSLOT_TYPE_PCI 6 /* PCI */
+#define SMBIOS_SYSSLOT_TYPE_PCMCIA 7 /* PCMCIA */
+#define SMBIOS_SYSSLOT_TYPE_PCIE 0xa5 /* PCI Express */
+#define SMBIOS_SYSSLOT_TYPE_PCIEX1 0xa6 /* PCI Express x1 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEX2 0xa7 /* PCI Express x2 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEX4 0xa8 /* PCI Express x4 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEX8 0xa9 /* PCI Express x8 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEX16 0xaa /* PCI Express x16 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN2 0xab /* PCI Express Gen 2 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN2X1 0xac /* PCI Express Gen 2 x1 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN2X2 0xad /* PCI Express Gen 2 x2 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN2X4 0xae /* PCI Express Gen 2 x4 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN2X8 0xaf /* PCI Express Gen 2 x8 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN2X16 0xb0 /* PCI Express Gen 2 x16 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN3 0xb1 /* PCI Express Gen 3 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN3X1 0xb2 /* PCI Express Gen 3 x1 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN3X2 0xb3 /* PCI Express Gen 3 x2 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN3X4 0xb4 /* PCI Express Gen 3 x4 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN3X8 0xb5 /* PCI Express Gen 3 x8 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN3X16 0xb6 /* PCI Express Gen 3 x16 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN4 0xb8 /* PCI Express Gen 4 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN4X1 0xb9 /* PCI Express Gen 4 x1 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN4X2 0xba /* PCI Express Gen 4 x2 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN4X4 0xbb /* PCI Express Gen 4 x4 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN4X8 0xbc /* PCI Express Gen 4 x8 */
+#define SMBIOS_SYSSLOT_TYPE_PCIEGEN4X16 0xbd /* PCI Express Gen 4 x16 */
+
+/* Slot Data Bus Width */
+#define SMBIOS_SYSSLOT_WIDTH_OTHER 1
+#define SMBIOS_SYSSLOT_WIDTH_UNKNOWN 2
+#define SMBIOS_SYSSLOT_WIDTH_8BIT 3
+#define SMBIOS_SYSSLOT_WIDTH_16BIT 4
+#define SMBIOS_SYSSLOT_WIDTH_32BIT 5
+#define SMBIOS_SYSSLOT_WIDTH_64BIT 6
+#define SMBIOS_SYSSLOT_WIDTH_128BIT 7
+#define SMBIOS_SYSSLOT_WIDTH_1X 8
+#define SMBIOS_SYSSLOT_WIDTH_2X 9
+#define SMBIOS_SYSSLOT_WIDTH_4X 10
+#define SMBIOS_SYSSLOT_WIDTH_8X 11
+#define SMBIOS_SYSSLOT_WIDTH_12X 12
+#define SMBIOS_SYSSLOT_WIDTH_16X 13
+#define SMBIOS_SYSSLOT_WIDTH_32X 14
+
+/* Current Usage */
+#define SMBIOS_SYSSLOT_USAGE_OTHER 1
+#define SMBIOS_SYSSLOT_USAGE_UNKNOWN 2
+#define SMBIOS_SYSSLOT_USAGE_AVAILABLE 3
+#define SMBIOS_SYSSLOT_USAGE_INUSE 4
+#define SMBIOS_SYSSLOT_USAGE_NA 5
+
+/* Slot Length */
+#define SMBIOS_SYSSLOT_LENG_OTHER 1
+#define SMBIOS_SYSSLOT_LENG_UNKNOWN 2
+#define SMBIOS_SYSSLOT_LENG_SHORT 3
+#define SMBIOS_SYSSLOT_LENG_LONG 4
+#define SMBIOS_SYSSLOT_LENG_2_5INDRV 5
+#define SMBIOS_SYSSLOT_LENG_3_5INDRV 6
+
+/* Slot Characteristics 1 */
+#define SMBIOS_SYSSLOT_CHAR_UND 1 /* BIT(0) */
+#define SMBIOS_SYSSLOT_CHAR_5V 2 /* BIT(1) */
+#define SMBIOS_SYSSLOT_CHAR_3_3V 4 /* BIT(2) */
+#define SMBIOS_SYSSLOT_CHAR_SHARED 8 /* BIT(3) */
+#define SMBIOS_SYSSLOT_CHAR_PCCARD16 16 /* BIT(4) */
+#define SMBIOS_SYSSLOT_CHAR_PCCARDBUS 32 /* BIT(5) */
+#define SMBIOS_SYSSLOT_CHAR_PCCARDZV 64 /* BIT(6) */
+#define SMBIOS_SYSSLOT_CHAR_PCCARDMRR 0x80 /* BIT(7) */
+
+/* Slot Characteristics 2 */
+#define SMBIOS_SYSSLOT_CHAR_PCIPME 1 /* BIT(0) */
+#define SMBIOS_SYSSLOT_CHAR_HOTPLUG 2 /* BIT(1) */
+#define SMBIOS_SYSSLOT_CHAR_PCISMB 4 /* BIT(2) */
+#define SMBIOS_SYSSLOT_CHAR_PCIBIF 8 /* BIT(3) */
+#define SMBIOS_SYSSLOT_CHAR_ASYNCRM 16 /* BIT(4) */
+#define SMBIOS_SYSSLOT_CHAR_FBCXL1 32 /* BIT(5) */
+#define SMBIOS_SYSSLOT_CHAR_FBCXL2 64 /* BIT(6) */
+#define SMBIOS_SYSSLOT_CHAR_FBCXL3 0x80 /* BIT(7) */
+
+/* Slot segment group number */
+#define SMBIOS_SYSSLOT_SGGNUM_UND 0
+
+/* Physical Memory Array */
+
+/* Location */
+#define SMBIOS_MA_LOCATION_OTHER 1
+#define SMBIOS_MA_LOCATION_UNKNOWN 2
+#define SMBIOS_MA_LOCATION_MOTHERBOARD 3
+
+/* Use */
+#define SMBIOS_MA_USE_OTHER 1
+#define SMBIOS_MA_USE_UNKNOWN 2
+#define SMBIOS_MA_USE_SYSTEM 3
+#define SMBIOS_MA_USE_VIDEO 4
+#define SMBIOS_MA_USE_FLASH 5
+#define SMBIOS_MA_USE_NVRAM 6
+#define SMBIOS_MA_USE_CACHE 7
+
+/* Error Correction Type */
+#define SMBIOS_MA_ERRCORR_OTHER 1
+#define SMBIOS_MA_ERRCORR_UNKNOWN 2
+#define SMBIOS_MA_ERRCORR_NONE 3
+#define SMBIOS_MA_ERRCORR_PARITY 4
+#define SMBIOS_MA_ERRCORR_SBITECC 5
+#define SMBIOS_MA_ERRCORR_MBITECC 6
+#define SMBIOS_MA_ERRCORR_CRC 7
+
+/* Error Information Handle */
+#define SMBIOS_MA_ERRINFO_NONE 0xFFFE
+#define SMBIOS_MA_ERRINFO_NOERR 0xFFFF
+
+/* Memory Device */
+
+/* Size */
+
+#define SMBIOS_MD_SIZE_UNKNOWN 0xFFFF
+#define SMBIOS_MD_SIZE_EXT 0x7FFF
+
+/* Form Factor */
+#define SMBIOS_MD_FF_OTHER 1
+#define SMBIOS_MD_FF_UNKNOWN 2
+#define SMBIOS_MD_FF_SIMM 3
+#define SMBIOS_MD_FF_SIP 4
+#define SMBIOS_MD_FF_CHIP 5
+#define SMBIOS_MD_FF_DIP 6
+#define SMBIOS_MD_FF_ZIP 7
+#define SMBIOS_MD_FF_PROPCARD 8
+#define SMBIOS_MD_FF_DIMM 9
+#define SMBIOS_MD_FF_TSOP 10
+#define SMBIOS_MD_FF_ROC 11
+#define SMBIOS_MD_FF_RIMM 12
+#define SMBIOS_MD_FF_SODIMM 13
+#define SMBIOS_MD_FF_SRIMM 14
+#define SMBIOS_MD_FF_FBDIMM 15
+#define SMBIOS_MD_FF_DIE 16
+
+/* Device set */
+#define SMBIOS_MD_DEVSET_NONE 0
+#define SMBIOS_MD_DEVSET_UNKNOWN 0xFF
+
+/* Speed */
+#define SMBIOS_MD_SPEED_UNKNOWN 0
+#define SMBIOS_MD_SPEED_EXT 0xFFFF
+
+/* Attributes */
+#define SMBIOS_MD_ATTR_RANK_UNKNOWN 0
+
+/* Configured Memory Speed */
+#define SMBIOS_MD_CONFSPEED_UNKNOWN 0
+#define SMBIOS_MD_CONFSPEED_EXT 0xFFFF
+
+/* Voltage */
+#define SMBIOS_MD_VOLTAGE_UNKNOWN 0
+
+/* Type */
+#define SMBIOS_MD_TYPE_OTHER 1
+#define SMBIOS_MD_TYPE_UNKNOWN 2
+#define SMBIOS_MD_TYPE_DRAM 3
+#define SMBIOS_MD_TYPE_EDRAM 4
+#define SMBIOS_MD_TYPE_VRAM 5
+#define SMBIOS_MD_TYPE_SRAM 6
+#define SMBIOS_MD_TYPE_RAM 7
+#define SMBIOS_MD_TYPE_ROM 8
+#define SMBIOS_MD_TYPE_FLASH 9
+#define SMBIOS_MD_TYPE_EEPROM 10
+#define SMBIOS_MD_TYPE_FEPROM 11
+#define SMBIOS_MD_TYPE_EPROM 12
+#define SMBIOS_MD_TYPE_CDRAM 13
+#define SMBIOS_MD_TYPE_3DRAM 14
+#define SMBIOS_MD_TYPE_SDRAM 15
+#define SMBIOS_MD_TYPE_SGRAM 16
+#define SMBIOS_MD_TYPE_RDRAM 17
+#define SMBIOS_MD_TYPE_DDR 18
+#define SMBIOS_MD_TYPE_DDR2 19
+#define SMBIOS_MD_TYPE_DDR2FBD 20
+#define SMBIOS_MD_TYPE_RSVD1 21
+#define SMBIOS_MD_TYPE_RSVD2 22
+#define SMBIOS_MD_TYPE_DSVD3 23
+#define SMBIOS_MD_TYPE_DDR3 24
+#define SMBIOS_MD_TYPE_FBD2 25
+#define SMBIOS_MD_TYPE_DDR4 26
+#define SMBIOS_MD_TYPE_LPDDR 27
+#define SMBIOS_MD_TYPE_LPDDR2 28
+#define SMBIOS_MD_TYPE_LPDDR3 29
+#define SMBIOS_MD_TYPE_LPDDR4 30
+#define SMBIOS_MD_TYPE_LNVD 31
+#define SMBIOS_MD_TYPE_HBM 32
+#define SMBIOS_MD_TYPE_HBM2 33
+#define SMBIOS_MD_TYPE_DDR5 34
+#define SMBIOS_MD_TYPE_LPDDR5 35
+#define SMBIOS_MD_TYPE_HBM3 36
+
+/* Type Detail */
+#define SMBIOS_MD_TD_RSVD 1 /* BIT(0), set to 0 */
+#define SMBIOS_MD_TD_OTHER 2 /* BIT(1) */
+#define SMBIOS_MD_TD_UNKNOWN 4 /* BIT(2) */
+#define SMBIOS_MD_TD_FP 8 /* BIT(3) */
+#define SMBIOS_MD_TD_SC 0x10 /* BIT(4) */
+#define SMBIOS_MD_TD_PS 0x20 /* BIT(5) */
+#define SMBIOS_MD_TD_RAMBUS 0x40 /* BIT(6) */
+#define SMBIOS_MD_TD_SYNC 0x80 /* BIT(7) */
+#define SMBIOS_MD_TD_CMOS 0x100 /* BIT(8) */
+#define SMBIOS_MD_TD_EDO 0x200 /* BIT(9) */
+#define SMBIOS_MD_TD_WINDRAM 0x400 /* BIT(10) */
+#define SMBIOS_MD_TD_CACHEDRAM 0x800 /* BIT(11) */
+#define SMBIOS_MD_TD_NV 0x1000 /* BIT(12) */
+#define SMBIOS_MD_TD_RGSTD 0x2000 /* BIT(13) */
+#define SMBIOS_MD_TD_UNRGSTD 0x4000 /* BIT(14) */
+#define SMBIOS_MD_TD_LRDIMM 0x8000 /* BIT(15) */
+
+/* Technology */
+#define SMBIOS_MD_TECH_OTHER 1
+#define SMBIOS_MD_TECH_UNKNOWN 2
+#define SMBIOS_MD_TECH_DRAM 3
+#define SMBIOS_MD_TECH_NVDIMMN 4
+#define SMBIOS_MD_TECH_NVDIMMF 5
+#define SMBIOS_MD_TECH_NVDIMMP 6
+#define SMBIOS_MD_TECH_OPTANE 7
+
+/* Operating Mode Capability */
+#define SMBIOS_MD_OPMC_RSVD 1 /* BIT(0), set to 0 */
+#define SMBIOS_MD_OPMC_OTHER 2 /* BIT(1) */
+#define SMBIOS_MD_OPMC_UNKNOWN 4 /* BIT(2) */
+#define SMBIOS_MD_OPMC_VM 8 /* BIT(3) */
+#define SMBIOS_MD_OPMC_BYTEAPM 0x10 /* BIT(4) */
+#define SMBIOS_MD_OPMC_BLKAPM 0x20 /* BIT(5) */
+/* Bit 6:15 Reserved, set to 0 */
+
+/* Non-volatile / Volatile / Cache / Logical portion Size */
+#define SMBIOS_MD_PORT_SIZE_NONE 0
+#define SMBIOS_MD_PORT_SIZE_UNKNOWN_HI 0xFFFFFFFF
+#define SMBIOS_MD_PORT_SIZE_UNKNOWN_LO 0xFFFFFFFF
+#define SMBIOS_MS_PORT_SIZE_UNKNOWN 0xFFFFFFFFFFFFFFFF
+
+/* Error Information Handle */
+#define SMBIOS_MD_ERRINFO_NONE 0xFFFE
+#define SMBIOS_MD_ERRINFO_NOERR 0xFFFF
+
+/* Memory Array Mapped Address */
+
+/* Partition Width */
+#define SMBIOS_MAMA_PW_DEF 1 /* not partitioned */
+
#endif /* _SMBIOS_DEF_H_ */
diff --git a/include/sysinfo.h b/include/sysinfo.h
index e87cf969fcd..54eb64a204a 100644
--- a/include/sysinfo.h
+++ b/include/sysinfo.h
@@ -12,6 +12,7 @@
struct udevice;
#define SYSINFO_CACHE_LVL_MAX 3
+#define SYSINFO_MEM_HANDLE_MAX 8
/*
* This uclass encapsulates hardware methods to gather information about a
@@ -149,6 +150,9 @@ enum sysinfo_id {
SYSID_SM_CACHE_INFO_END =
SYSID_SM_CACHE_INST_SIZE2 + SYSINFO_CACHE_LVL_MAX - 1,
+ /* Memory Array (Type 16) */
+ SYSID_SM_MEMARRAY_HANDLE,
+
/* For show_board_info() */
SYSID_BOARD_MODEL,
SYSID_BOARD_MANUFACTURER,