diff --git a/dmidecode.c b/dmidecode.c index cff7d3f..e4cd6d8 100644 --- a/dmidecode.c +++ b/dmidecode.c @@ -5082,6 +5082,10 @@ static void dmi_table_string(const struct dmi_header *h, const u8 *data, u16 ver key = (opt.string->type << 8) | offset; switch (key) { + case 0x015: /* -s bios-revision */ + if (data[key - 1] != 0xFF && data[key] != 0xFF) + printf("%u.%u\n", data[key - 1], data[key]); + break; case 0x108: dmi_system_uuid(data + offset, ver); printf("\n"); diff --git a/dmiopt.c b/dmiopt.c index 2f285f3..9ceb35a 100644 --- a/dmiopt.c +++ b/dmiopt.c @@ -151,6 +151,7 @@ static const struct string_keyword opt_string_keyword[] = { { "bios-vendor", 0, 0x04 }, { "bios-version", 0, 0x05 }, { "bios-release-date", 0, 0x08 }, + { "bios-revision", 0, 0x15 }, /* 0x14 and 0x15 */ { "system-manufacturer", 1, 0x04 }, { "system-product-name", 1, 0x05 }, { "system-version", 1, 0x06 }, diff --git a/man/dmidecode.8 b/man/dmidecode.8 index 1f6529d..c3f8713 100644 --- a/man/dmidecode.8 +++ b/man/dmidecode.8 @@ -74,6 +74,7 @@ displayed. Meta-data and handle references are hidden. Only display the value of the \s-1DMI\s0 string identified by \fBKEYWORD\fR. \fBKEYWORD\fR must be a keyword from the following list: \fBbios-vendor\fR, \fBbios-version\fR, \fBbios-release-date\fR, +\fBbios-revision\fR, \fBsystem-manufacturer\fR, \fBsystem-product-name\fR, \fBsystem-version\fR, \fBsystem-serial-number\fR, \fBsystem-uuid\fR, \fBsystem-family\fR,