summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTimothy Stack2009-04-01 00:20:07 +0200
committerMichael Brown2009-04-15 18:23:18 +0200
commitcc4363accae82538f02621e0b91623f6d4104806 (patch)
treef66b1a8478ed85740667b30e378b5e52c41d3ac5 /src
parent[gdb] Allow resynchronisation with gdb (diff)
downloadipxe-cc4363accae82538f02621e0b91623f6d4104806.tar.gz
ipxe-cc4363accae82538f02621e0b91623f6d4104806.tar.xz
ipxe-cc4363accae82538f02621e0b91623f6d4104806.zip
[smbios] Add asset tag setting
Add SMBIOS asset tag as a named setting. Signed-off-by: Michael Brown <mcb30@etherboot.org>
Diffstat (limited to 'src')
-rw-r--r--src/include/gpxe/smbios.h19
-rw-r--r--src/interface/smbios/smbios_settings.c8
2 files changed, 27 insertions, 0 deletions
diff --git a/src/include/gpxe/smbios.h b/src/include/gpxe/smbios.h
index 2b0fcbd10..a2942366d 100644
--- a/src/include/gpxe/smbios.h
+++ b/src/include/gpxe/smbios.h
@@ -113,6 +113,25 @@ struct smbios_system_information {
/** SMBIOS system information structure type */
#define SMBIOS_TYPE_SYSTEM_INFORMATION 1
+/** SMBIOS enclosure information structure */
+struct smbios_enclosure_information {
+ /** SMBIOS structure header */
+ struct smbios_header header;
+ /** Manufacturer string */
+ uint8_t manufacturer;
+ /** Type string */
+ uint8_t type;
+ /** Version string */
+ uint8_t version;
+ /** Serial number string */
+ uint8_t serial;
+ /** Asset tag */
+ uint8_t asset_tag;
+} __attribute__ (( packed ));
+
+/** SMBIOS enclosure information structure type */
+#define SMBIOS_TYPE_ENCLOSURE_INFORMATION 3
+
/**
* SMBIOS entry point descriptor
*
diff --git a/src/interface/smbios/smbios_settings.c b/src/interface/smbios/smbios_settings.c
index 61c2d9192..ec594c52c 100644
--- a/src/interface/smbios/smbios_settings.c
+++ b/src/interface/smbios/smbios_settings.c
@@ -198,4 +198,12 @@ struct setting smbios_named_settings[] __setting = {
serial ),
.type = &setting_type_string,
},
+ {
+ .name = "asset",
+ .description = "Asset tag",
+ .tag = SMBIOS_STRING_TAG ( SMBIOS_TYPE_ENCLOSURE_INFORMATION,
+ struct smbios_enclosure_information,
+ asset_tag ),
+ .type = &setting_type_string,
+ },
};