/** SMBIOS system information structure type */
#define SMBIOS_TYPE_SYSTEM_INFORMATION 1
+/** SMBIOS base board information structure */
+struct smbios_base_board_information {
+ /** SMBIOS structure header */
+ struct smbios_header header;
+ /** Manufacturer string */
+ uint8_t manufacturer;
+ /** Product string */
+ uint8_t product;
+ /** Version string */
+ uint8_t version;
+ /** Serial number string */
+ uint8_t serial;
+} __attribute__ (( packed ));
+
+/** SMBIOS base board information structure type */
+#define SMBIOS_TYPE_BASE_BOARD_INFORMATION 2
+
/** SMBIOS enclosure information structure */
struct smbios_enclosure_information {
/** SMBIOS structure header */
.type = &setting_type_string,
.scope = &smbios_settings_scope,
};
+
+/** Board serial number setting (may differ from chassis serial number) */
+const struct setting board_serial_setting __setting ( SETTING_HOST_EXTRA,
+ board_serial ) = {
+ .name = "board-serial",
+ .description = "Base board serial",
+ .tag = SMBIOS_STRING_TAG ( SMBIOS_TYPE_BASE_BOARD_INFORMATION,
+ struct smbios_base_board_information,
+ serial ),
+ .type = &setting_type_string,
+ .scope = &smbios_settings_scope,
+};