summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/sys/smbios.h
diff options
context:
space:
mode:
authorDan McDonald <danmcd@mnx.io>2022-05-13 17:20:24 -0400
committerGitHub <noreply@github.com>2022-05-13 17:20:24 -0400
commitbb7d6c9b47695f41cbacbcf6662baf3d0e152fdf (patch)
tree75f2d0cab5fb92f97f2ab2c3186a0b5d1579a33a /usr/src/uts/common/sys/smbios.h
parent8ca5534c77e93c25d2c1f777499b12da0f7cc0cd (diff)
parent402559e299331588f209b3a9693e3bcd6a83d22c (diff)
downloadillumos-joyent-OS-8149.tar.gz
Merge branch 'master' into OS-8149OS-8149
Diffstat (limited to 'usr/src/uts/common/sys/smbios.h')
-rw-r--r--usr/src/uts/common/sys/smbios.h200
1 files changed, 179 insertions, 21 deletions
diff --git a/usr/src/uts/common/sys/smbios.h b/usr/src/uts/common/sys/smbios.h
index 34281898e0..257956b047 100644
--- a/usr/src/uts/common/sys/smbios.h
+++ b/usr/src/uts/common/sys/smbios.h
@@ -22,6 +22,7 @@
/*
* Copyright 2015 OmniTI Computer Consulting, Inc. All rights reserved.
* Copyright (c) 2018, Joyent, Inc.
+ * Copyright 2021 Oxide Computer Company
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -157,12 +158,14 @@ typedef union {
#define SMB_TYPE_MCHI 42 /* mgmt controller host interface */
#define SMB_TYPE_TPM 43 /* TPM device */
#define SMB_TYPE_PROCESSOR_INFO 44 /* Processor Additional Information */
+#define SMB_TYPE_FWINFO 45 /* Firmware Inventory Information */
+#define SMB_TYPE_STRPROP 46 /* String Property */
#define SMB_TYPE_INACTIVE 126 /* inactive table entry */
#define SMB_TYPE_EOT 127 /* end of table */
#define SMB_TYPE_OEM_LO 128 /* start of OEM-specific type range */
#define SUN_OEM_EXT_PROCESSOR 132 /* processor extended info */
-#define SUN_OEM_EXT_PORT 136 /* port exteded info */
+#define SUN_OEM_EXT_PORT 136 /* port extended info */
#define SUN_OEM_PCIEXRC 138 /* PCIE RootComplex/RootPort info */
#define SUN_OEM_EXT_MEMARRAY 144 /* phys memory array extended info */
#define SUN_OEM_EXT_MEMDEVICE 145 /* memory device extended info */
@@ -201,8 +204,6 @@ typedef struct smbios_version {
uint8_t smbv_minor; /* version minor number */
} smbios_version_t;
-#define SMB_CONT_BYTE 1 /* contained elements are byte size */
-#define SMB_CONT_WORD 2 /* contained elements are word size */
#define SMB_CONT_MAX 255 /* maximum contained objects */
/*
@@ -285,6 +286,8 @@ typedef struct smbios_bios {
#define SMB_BIOSXB2_ETCDIST 0x04 /* Enable Targeted Content Distrib. */
#define SMB_BIOSXB2_UEFI 0x08 /* UEFI Specification supported */
#define SMB_BIOSXB2_VM 0x10 /* SMBIOS table describes a VM */
+#define SMB_BIOSXB2_MFG_MODE 0x20 /* Manufacturing mode is supported */
+#define SMB_BIOSXB2_MFG_EN 0x40 /* Manufacturing mode is enabled */
/*
* SMBIOS System Information. See DSP0134 Section 7.2 for more information.
@@ -322,7 +325,7 @@ typedef struct smbios_bboard {
#define SMB_BBFL_MOTHERBOARD 0x01 /* board is a motherboard */
#define SMB_BBFL_NEEDAUX 0x02 /* auxiliary card or daughter req'd */
#define SMB_BBFL_REMOVABLE 0x04 /* board is removable */
-#define SMB_BBFL_REPLACABLE 0x08 /* board is field-replacable */
+#define SMB_BBFL_REPLACABLE 0x08 /* board is field-replaceable */
#define SMB_BBFL_HOTSWAP 0x10 /* board is hot-swappable */
#define SMB_BBT_UNKNOWN 0x1 /* unknown */
@@ -355,7 +358,7 @@ typedef struct smbios_chassis {
uint8_t smbc_cords; /* number of power cords */
uint8_t smbc_elems; /* number of element records (n) */
uint8_t smbc_elemlen; /* length of contained element (m) */
- char smbc_sku[256]; /* SKU number (as a string) */
+ const char *smbc_sku; /* SKU number (as a string) */
} smbios_chassis_t;
#define SMB_CHT_OTHER 0x01 /* other */
@@ -409,6 +412,19 @@ typedef struct smbios_chassis {
#define SMB_CHSC_EIENAB 0x05 /* external interface enabled */
/*
+ * Chassis element record types
+ */
+typedef struct smbios_chassis_entry {
+ uint8_t smbce_type; /* Type of elt */
+ uint8_t smbce_elt; /* Containing Element */
+ uint8_t smbce_min; /* minimum number of elt */
+ uint8_t smbce_max; /* minimum number of elt */
+} smbios_chassis_entry_t;
+
+#define SMB_CELT_BBOARD 0 /* smbce_elt is a base board type */
+#define SMB_CELT_SMBIOS 1 /* smbce_elt is an smbios type */
+
+/*
* SMBIOS Processor description. See DSP0134 Section 7.5 for more details.
* If the L1, L2, or L3 cache handle is -1, the cache information is unknown.
* If the handle refers to something of size 0, that type of cache is absent.
@@ -527,6 +543,9 @@ typedef struct smbios_processor {
#define SMB_PRU_BGA1392 0x3A /* Socket BGA1392 */
#define SMB_PRU_BGA1510 0x3B /* Socket BGA1510 */
#define SMB_PRU_BGA1528 0x3C /* Socket BGA1528 */
+#define SMB_PRU_LGA4189 0x3D /* Socket LGA4189 */
+#define SMB_PRU_LGA1200 0x3E /* Socket LGA1200 */
+#define SMB_PRU_LGA4677 0x3F /* Socket LGA4677 */
#define SMB_PRC_RESERVED 0x0001 /* reserved */
#define SMB_PRC_UNKNOWN 0x0002 /* unknown */
@@ -944,6 +963,10 @@ typedef struct smbios_slot {
uint8_t smbl_df; /* device/function number */
uint8_t smbl_dbw; /* data bus width */
uint8_t smbl_npeers; /* PCIe bifurcation peers */
+ uint8_t smbl_info; /* slot info */
+ uint8_t smbl_pwidth; /* slot physical width */
+ uint32_t smbl_pitch; /* slot pitch in 10um */
+ uint8_t smbl_height; /* slot height */
} smbios_slot_t;
#define SMB_SLT_OTHER 0x01 /* other */
@@ -976,8 +999,8 @@ typedef struct smbios_slot {
#define SMB_SLT_MXM_V 0x1C /* MXM Type IV */
#define SMB_SLT_MXM3_A 0x1D /* MXM 3.0 Type A */
#define SMB_SLT_MXM3_B 0x1E /* MXM 3.0 Type B */
-#define SMB_SLT_PCIEG2_SFF 0x1F /* PCI Express Gen 2 SFF-8639 */
-#define SMB_SLT_PCIEG3_SFF 0x20 /* PCI Express Gen 3 SFF-8639 */
+#define SMB_SLT_PCIEG2_SFF 0x1F /* PCI Express Gen 2 SFF-8639 (U.2) */
+#define SMB_SLT_PCIEG3_SFF 0x20 /* PCI Express Gen 3 SFF-8639 (U.2) */
/*
* These lines must be on one line for the string generating code.
*/
@@ -986,6 +1009,11 @@ typedef struct smbios_slot {
#define SMB_SLT_PCIE_M52_WOBSKO 0x22 /* PCI Express Mini 52-pin without bottom-side keep-outs */
/* END CSTYLED */
#define SMB_SLT_PCIE_M76 0x23 /* PCI Express Mini 72-pin */
+#define SMB_SLT_PCIEG4_SFF 0x24 /* PCI Express Gen 4 SFF-8639 (U.2) */
+#define SMB_SLT_PCIEG5_SFF 0x25 /* PCI Express Gen 5 SFF-8639 (U.2) */
+#define SMB_SLT_OCP3_SFF 0x26 /* OCP NIC 3.0 Small Form Factor */
+#define SMB_SLT_OCP3_LFF 0x27 /* OCP NIC 3.0 Large Form Factor */
+#define SMB_SLT_OCP_PRE 0x28 /* OCP NIC prior to 3.0 */
#define SMB_SLT_CXL1 0x30 /* CXL Flexbus 1.0 */
#define SMB_SLT_PC98_C20 0xA0 /* PC-98/C20 */
#define SMB_SLT_PC98_C24 0xA1 /* PC-98/C24 */
@@ -1016,6 +1044,15 @@ typedef struct smbios_slot {
#define SMB_SLT_PCIE4G4 0xBB /* PCI Exp. Gen 4 x4 */
#define SMB_SLT_PCIE4G8 0xBC /* PCI Exp. Gen 4 x8 */
#define SMB_SLT_PCIE4G16 0xBD /* PCI Exp. Gen 4 x16 */
+#define SMB_SLT_PCIE5G 0xBE /* PCI Exp. Gen 5 */
+#define SMB_SLT_PCIE5G1 0xBF /* PCI Exp. Gen 5 x1 */
+#define SMB_SLT_PCIE5G2 0xC0 /* PCI Exp. Gen 5 x2 */
+#define SMB_SLT_PCIE5G4 0xC1 /* PCI Exp. Gen 5 x4 */
+#define SMB_SLT_PCIE5G8 0xC2 /* PCI Exp. Gen 5 x8 */
+#define SMB_SLT_PCIE5G16 0xC3 /* PCI Exp. Gen 5 x16 */
+#define SMB_SLT_PCIEG6P 0xC4 /* PCI Exp. Gen 6+ */
+#define SMB_SLT_EDSFF_E1 0xC5 /* Ent. and DC 1U E1 Form Factor */
+#define SMB_SLT_EDSFF_E3 0xC6 /* Ent. and DC 3" E3 Form Factor */
#define SMB_SLW_OTHER 0x01 /* other */
#define SMB_SLW_UNKNOWN 0x02 /* unknown */
@@ -1041,6 +1078,8 @@ typedef struct smbios_slot {
#define SMB_SLL_UNKNOWN 0x02 /* unknown */
#define SMB_SLL_SHORT 0x03 /* short length */
#define SMB_SLL_LONG 0x04 /* long length */
+#define SMB_SLL_2IN5 0x05 /* 2.5" drive form factor */
+#define SMB_SLL_3IN5 0x06 /* 3.5" drive form factor */
#define SMB_SLCH1_UNKNOWN 0x01 /* characteristics unknown */
#define SMB_SLCH1_5V 0x02 /* provides 5.0V */
@@ -1055,6 +1094,15 @@ typedef struct smbios_slot {
#define SMB_SLCH2_HOTPLUG 0x02 /* slot supports hot-plug devices */
#define SMB_SLCH2_SMBUS 0x04 /* slot supports SMBus signal */
#define SMB_SLCH2_BIFUR 0x08 /* slot supports PCIe bifurcation */
+#define SMB_SLCH2_SURPREM 0x10 /* slot supports surprise removal */
+#define SMB_SLCH2_CXL1 0x20 /* Flexbus slot, CXL 1.0 capable */
+#define SMB_SLCH2_CXL2 0x40 /* Flexbus slot, CXL 2.0 capable */
+
+#define SMB_SLHT_NA 0x00 /* not applicable */
+#define SMB_SLHT_OTHER 0x01 /* other */
+#define SMB_SLHT_UNKNOWN 0x02 /* unknown */
+#define SMB_SLHT_FULL 0x03 /* full height */
+#define SMB_SLHT_LP 0x04 /* low profile */
/*
* SMBIOS 7.10.9 Slot Peer Devices
@@ -1178,7 +1226,7 @@ typedef struct smbios_memarray {
#define SMB_MAL_PC98C24 0xA1 /* PC-98/C24 add-on card */
#define SMB_MAL_PC98E 0xA2 /* PC-98/E add-on card */
#define SMB_MAL_PC98LB 0xA3 /* PC-98/Local bus add-on card */
-#define SMB_MAL_CXL1 0xA4 /* CXL Flexbus 1.0 add-on card */
+#define SMB_MAL_CXL1 0xA4 /* CXL add-on card */
#define SMB_MAU_OTHER 0x01 /* other */
#define SMB_MAU_UNKNOWN 0x02 /* unknown */
@@ -1285,6 +1333,8 @@ typedef struct smbios_memdevice {
#define SMB_MDT_LOGNV 0x1F /* Logical non-volatile device */
#define SMB_MDT_HBM 0x20 /* High Bandwidth Memory */
#define SMB_MDT_HBM2 0x21 /* High Bandwidth Memory 2 */
+#define SMB_MDT_DDR5 0x22 /* DDR5 */
+#define SMB_MDT_LPDDR5 0x23 /* LPDDR5 */
#define SMB_MDF_OTHER 0x0002 /* other */
#define SMB_MDF_UNKNOWN 0x0004 /* unknown */
@@ -1313,13 +1363,14 @@ typedef struct smbios_memdevice {
#define SMB_MTECH_NVDIMM_N 0x04 /* NVDIMM-N */
#define SMB_MTECH_NVDIMM_F 0x05 /* NVDIMM-F */
#define SMB_MTECH_NVDIMM_P 0x06 /* NVDIMM-P */
-#define SMB_MTECH_INTCPM 0x07 /* Intel Optane DC Persistent Memory */
+#define SMB_MTECH_INTCPM 0x07 /* Intel Optane persistent memory */
-#define SMB_MOMC_OTHER 0x01 /* other */
-#define SMB_MOMC_UNKNOWN 0x02 /* unknown */
-#define SMB_MOMC_VOLATILE 0x04 /* Volatile memory */
-#define SMB_MOMC_BYTE_PM 0x08 /* Byte-accessible persistent memory */
-#define SMB_MOMC_BLOCK_PM 0x10 /* Block-accessible persistent memory */
+#define SMB_MOMC_RESERVED 0x01 /* reserved */
+#define SMB_MOMC_OTHER 0x02 /* other */
+#define SMB_MOMC_UNKNOWN 0x04 /* unknown */
+#define SMB_MOMC_VOLATILE 0x08 /* Volatile memory */
+#define SMB_MOMC_BYTE_PM 0x10 /* Byte-accessible persistent memory */
+#define SMB_MOMC_BLOCK_PM 0x20 /* Block-accessible persistent memory */
/*
* SMBIOS Memory Array Mapped Address. See DSP0134 Section 7.20 for more
@@ -1376,7 +1427,9 @@ typedef struct smbios_pointdev {
#define SMB_PDI_ADB 0x08 /* ADB (Apple Desktop Bus) */
#define SMB_PDI_BUSM_DB9 0xA0 /* Bus mouse DB-9 */
#define SMB_PDI_BUSM_UDIN 0xA1 /* Bus mouse micro-DIN */
-#define SMB_PDI_BUSM_USB 0xA2 /* USB */
+#define SMB_PDI_USB 0xA2 /* USB */
+#define SMB_PDI_I2C 0xA3 /* I2C */
+#define SMB_PDI_SPI 0xA4 /* SPI */
/*
* SMBIOS Portable Battery. See DSP0134 Section 7.23 for more information.
@@ -1683,8 +1736,25 @@ typedef struct smbios_obdev_ext {
uint8_t smboe_df; /* device/function number */
} smbios_obdev_ext_t;
+#define SMB_OBET_OTHER 0x01 /* Other */
+#define SMB_OBET_UNKNOWN 0x02 /* Unknown */
+#define SMB_OBET_VIDEO 0x03 /* video */
+#define SMB_OBET_SCSI 0x04 /* SCSI */
+#define SMB_OBET_ETHERNET 0x05 /* Ethernet */
+#define SMB_OBET_TOKEN 0x06 /* Token Ring */
+#define SMB_OBET_SOUND 0x07 /* Sound */
+#define SMB_OBET_PATA 0x08 /* PATA */
+#define SMB_OBET_SATA 0x09 /* SATA */
+#define SMB_OBET_SAS 0x0A /* SAS */
+#define SMB_OBET_WLAN 0x0B /* Wireless LAN */
+#define SMB_OBET_BT 0x0C /* Bluetooth */
+#define SMB_OBET_WWAN 0x0D /* WWAN */
+#define SMB_OBET_EMMC 0x0E /* eMMC */
+#define SMB_OBET_NVME 0x0F /* NVMe */
+#define SMB_OBET_UFS 0x10 /* UFS */
+
/*
- * SMBIOS Processor Additional Information (Type 44). See sectoin 7.45 for more
+ * SMBIOS Processor Additional Information (Type 44). See section 7.45 for more
* information.
*/
typedef struct smbios_processor_info {
@@ -1756,7 +1826,7 @@ typedef struct smbios_processor_info_riscv {
#define SMB_RV_ISA_N (1 << 13) /* User-level interrupts */
#define SMB_RV_ISA_O (1 << 14) /* Reserved */
#define SMB_RV_ISA_P (1 << 15) /* Reserved */
-#define SMB_RV_ISA_Q (1 << 16) /* Quad-precision floating-poit */
+#define SMB_RV_ISA_Q (1 << 16) /* Quad-precision floating-point */
#define SMB_RV_ISA_R (1 << 17) /* Reserved */
#define SMB_RV_ISA_S (1 << 18) /* Supervisor mode */
#define SMB_RV_ISA_T (1 << 19) /* Reserved */
@@ -1769,11 +1839,78 @@ typedef struct smbios_processor_info_riscv {
/* END CSTYLED */
/*
+ * SMBIOS Firmware Inventory Information (Type 45).
+ */
+typedef struct smbios_fwinfo {
+ const char *smbfw_name; /* Firmware component name */
+ const char *smbfw_id; /* Firmware ID */
+ const char *smbfw_reldate; /* Release date */
+ const char *smbfw_lsv; /* Lowest supported version */
+ uint64_t smbfw_imgsz; /* Image size */
+ uint16_t smbfw_chars; /* Characteristics */
+ uint16_t smbfw_state; /* State */
+ uint16_t smbfw_ncomps; /* Number of associated components */
+ uint8_t smbfw_vers_fmt; /* Firmware version format */
+ uint8_t smbfw_id_fmt; /* Firmware ID format */
+} smbios_fwinfo_t;
+
+typedef struct smbios_fwinfo_comp {
+ id_t smbfwe_id; /* Contained element ID */
+} smbios_fwinfo_comp_t;
+
+/*
+ * Firmware version format constants.
+ */
+#define SMB_FWV_FF 0x00 /* free-form */
+#define SMB_FWV_MM 0x01 /* major.minor */
+#define SMB_FWV_HEX32 0x02 /* 32-bit hex */
+#define SMB_FWV_HEX64 0x03 /* 64-bit hex */
+
+/*
+ * Firmware ID format constants.
+ */
+#define SMB_FWI_FF 0x00 /* free-form */
+#define SMB_FWI_UEFI 0x01 /* UEFI GUID */
+
+/*
+ * Firmware characteristic bitfields.
+ */
+#define SMB_FWC_UPDATE 0x01 /* updatable */
+#define SMB_FWC_WP 0x02 /* write-protect */
+
+/*
+ * Firmware state constants.
+ */
+#define SMB_FWS_OTHER 0x01 /* other */
+#define SMB_FWS_UNKNOWN 0x02 /* unknown */
+#define SMB_FWS_DISABLED 0x03 /* disabled */
+#define SMB_FWS_ENABLED 0x04 /* enabled */
+#define SMB_FWS_ABSENT 0x05 /* absent */
+#define SMB_FWS_STB_OFFLINE 0x06 /* standby offline */
+#define SMB_FWS_STB_SPARE 0x07 /* standby spare */
+#define SMB_FWS_UA_OFFLINE 0x08 /* unavailable offline */
+
+/*
+ * SMBIOS String Property (Type 46). See section 7.47 for more information.
+ */
+typedef struct smbios_strprop {
+ uint32_t smbsp_prop_id; /* property ID */
+ const char *smbsp_prop_val; /* property Value */
+ id_t smbsp_parent; /* parent handle */
+} smbios_strprop_t;
+
+/*
+ * String Property IDs
+ */
+#define SMB_STRP_RESERVED 0x00 /* reserved */
+#define SMB_STRP_UEFI_DEVPATH 0x01 /* UEFI device path */
+
+/*
* SMBIOS OEM-specific (Type 132) Processor Extended Information.
*/
typedef struct smbios_processor_ext {
uint16_t smbpe_processor; /* extending processor handle */
- uint8_t smbpe_fru; /* FRU indicaor */
+ uint8_t smbpe_fru; /* FRU indicator */
uint8_t smbpe_n; /* number of APIC IDs */
uint16_t *smbpe_apicid; /* strand Inital APIC IDs */
} smbios_processor_ext_t;
@@ -1837,7 +1974,9 @@ typedef struct smbios_memdevice_ext {
#define SMB_VERSION_31 0x0301 /* SMBIOS encoding for DMTF spec 3.1 */
#define SMB_VERSION_32 0x0302 /* SMBIOS encoding for DMTF spec 3.2 */
#define SMB_VERSION_33 0x0303 /* SMBIOS encoding for DMTF spec 3.3 */
-#define SMB_VERSION SMB_VERSION_33 /* SMBIOS latest version definitions */
+#define SMB_VERSION_34 0x0304 /* SMBIOS encoding for DMTF spec 3.4 */
+#define SMB_VERSION_35 0x0305 /* SMBIOS encoding for DMTF spec 3.5 */
+#define SMB_VERSION SMB_VERSION_35 /* SMBIOS latest version definitions */
#define SMB_O_NOCKSUM 0x1 /* do not verify header checksums */
#define SMB_O_NOVERS 0x2 /* do not verify header versions */
@@ -1890,6 +2029,10 @@ extern id_t smbios_info_bios(smbios_hdl_t *, smbios_bios_t *);
extern id_t smbios_info_system(smbios_hdl_t *, smbios_system_t *);
extern int smbios_info_bboard(smbios_hdl_t *, id_t, smbios_bboard_t *);
extern int smbios_info_chassis(smbios_hdl_t *, id_t, smbios_chassis_t *);
+extern int smbios_info_chassis_elts(smbios_hdl_t *, id_t, uint_t *,
+ smbios_chassis_entry_t **);
+extern void smbios_info_chassis_elts_free(smbios_hdl_t *, uint_t,
+ smbios_chassis_entry_t *);
extern int smbios_info_processor(smbios_hdl_t *, id_t, smbios_processor_t *);
extern int smbios_info_extprocessor(smbios_hdl_t *, id_t,
smbios_processor_ext_t *);
@@ -1929,7 +2072,12 @@ extern int smbios_info_processor_info(smbios_hdl_t *, id_t,
smbios_processor_info_t *);
extern int smbios_info_processor_riscv(smbios_hdl_t *, id_t,
smbios_processor_info_riscv_t *);
-
+extern int smbios_info_strprop(smbios_hdl_t *, id_t, smbios_strprop_t *);
+extern int smbios_info_fwinfo(smbios_hdl_t *, id_t, smbios_fwinfo_t *);
+extern int smbios_info_fwinfo_comps(smbios_hdl_t *, id_t, uint_t *,
+ smbios_fwinfo_comp_t **);
+extern void smbios_info_fwinfo_comps_free(smbios_hdl_t *, uint_t,
+ smbios_fwinfo_comp_t *);
extern const char *smbios_psn(smbios_hdl_t *);
extern const char *smbios_csn(smbios_hdl_t *);
@@ -1937,7 +2085,7 @@ extern const char *smbios_csn(smbios_hdl_t *);
#ifndef _KERNEL
/*
* The smbios_*_desc() and smbios_*_name() interfaces can be used for utilities
- * such as smbios(1M) that wish to decode SMBIOS fields for humans. The _desc
+ * such as smbios(8) that wish to decode SMBIOS fields for humans. The _desc
* functions return the comment string next to the #defines listed above, and
* the _name functions return the appropriate #define identifier itself.
*/
@@ -1975,6 +2123,12 @@ extern const char *smbios_evlog_flag_name(uint_t);
extern const char *smbios_evlog_format_desc(uint_t);
extern const char *smbios_evlog_method_desc(uint_t);
+extern const char *smbios_fwinfo_ch_name(uint_t);
+extern const char *smbios_fwinfo_ch_desc(uint_t);
+extern const char *smbios_fwinfo_id_desc(uint_t);
+extern const char *smbios_fwinfo_state_desc(uint_t);
+extern const char *smbios_fwinfo_vers_desc(uint_t);
+
extern const char *smbios_vprobe_loc_desc(uint_t);
extern const char *smbios_vprobe_status_desc(uint_t);
@@ -2013,6 +2167,7 @@ extern const char *smbios_memdevice_op_capab_name(uint_t);
extern const char *smbios_memdevice_op_capab_desc(uint_t);
extern const char *smbios_onboard_type_desc(uint_t);
+extern const char *smbios_onboard_ext_type_desc(uint_t);
extern const char *smbios_pointdev_iface_desc(uint_t);
extern const char *smbios_pointdev_type_desc(uint_t);
@@ -2042,6 +2197,9 @@ extern const char *smbios_slot_ch1_desc(uint_t);
extern const char *smbios_slot_ch1_name(uint_t);
extern const char *smbios_slot_ch2_desc(uint_t);
extern const char *smbios_slot_ch2_name(uint_t);
+extern const char *smbios_slot_height_desc(uint_t);
+
+extern const char *smbios_strprop_id_desc(uint_t);
extern const char *smbios_type_desc(uint_t);
extern const char *smbios_type_name(uint_t);