mirror of
https://github.com/ipxe/ipxe
synced 2025-12-26 01:22:37 +03:00
[smbios] Expose board serial number as ${board-serial}
With blade servers, the chassis serial number (exposed via ${serial})
may not be unique. Expose ${board-serial} as a named setting to
provide easy access to a more meaningful serial number.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
committed by
Michael Brown
parent
bb5a4a111b
commit
7fe0735170
@@ -116,6 +116,23 @@ struct smbios_system_information {
|
|||||||
/** SMBIOS system information structure type */
|
/** SMBIOS system information structure type */
|
||||||
#define SMBIOS_TYPE_SYSTEM_INFORMATION 1
|
#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 */
|
/** SMBIOS enclosure information structure */
|
||||||
struct smbios_enclosure_information {
|
struct smbios_enclosure_information {
|
||||||
/** SMBIOS structure header */
|
/** SMBIOS structure header */
|
||||||
|
|||||||
@@ -241,3 +241,15 @@ const struct setting asset_setting __setting ( SETTING_HOST_EXTRA, asset ) = {
|
|||||||
.type = &setting_type_string,
|
.type = &setting_type_string,
|
||||||
.scope = &smbios_settings_scope,
|
.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,
|
||||||
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user