----- Original Message -----
On Tue 2015-12-08 12:15 -0500, Dave Anderson wrote:
Hi Dave,
Sorry for the delay. Please find a v2 patch attached with a similar
approach to your attempt to add support for 'dmi_field' when available.
> The attached patch is what I'm thinking. On a Lenovo laptop it looks
> like:
>
> crash> sys -i
> DMI_BIOS_VENDOR: LENOVO
> DMI_BIOS_VERSION: G4ET37WW (1.12 )
> DMI_BIOS_DATE: 05/29/2012
> DMI_SYS_VENDOR: LENOVO
> DMI_PRODUCT_NAME: 2429BQ1
> DMI_PRODUCT_VERSION: ThinkPad T530
> DMI_PRODUCT_SERIAL: R9R91HZ
> DMI_PRODUCT_UUID: 568DFA01-5180-11CB-B851-BD06085ADDB0
> DMI_BOARD_VENDOR: LENOVO
> DMI_BOARD_NAME: 2429BQ1
> DMI_BOARD_VERSION: Not Available
> DMI_BOARD_SERIAL: 1ZLV127F17M
> DMI_BOARD_ASSET_TAG: Not Available
> DMI_CHASSIS_VENDOR: LENOVO
> DMI_CHASSIS_TYPE: 10
> DMI_CHASSIS_VERSION: Not Available
> DMI_CHASSIS_SERIAL: R9R91HZ
> DMI_CHASSIS_ASSET_TAG: RH0004111
> crash>
>
> A recent HP kernel looks like this though:
>
> crash> sys -i
> DMI_BIOS_VENDOR: Hewlett-Packard
> DMI_BIOS_VERSION: 786F7 v01.05
> DMI_BIOS_DATE: 04/25/2008
> DMI_SYS_VENDOR: Hewlett-Packard
> DMI_PRODUCT_NAME: HP xw4550 Workstation
> DMI_PRODUCT_VERSION:
> DMI_PRODUCT_SERIAL: BAL1010051
> DMI_PRODUCT_UUID: 308A59FA-9B77-DE11-BBDA-C486CC82001C
> DMI_BOARD_VENDOR: Hewlett-Packard
> DMI_BOARD_NAME: 0AC8h
> DMI_BOARD_VERSION:
> DMI_BOARD_SERIAL: BAL1010051
> DMI_BOARD_ASSET_TAG:
> DMI_CHASSIS_VENDOR: Hewlett-Packard
> DMI_CHASSIS_TYPE: 6
> DMI_CHASSIS_VERSION:
> DMI_CHASSIS_SERIAL: BAL1010051
> DMI_CHASSIS_ASSET_TAG:
> crash>
>
> when the "empty" entries are not NULL pointers, but rather pointers to
> NULL strings or strings with spaces in them:
>
> crash> p dmi_ident
> dmi_ident = $1 =
> {0x0, 0xffffffff8203b000 "Hewlett-Packard", 0xffffffff8203b010
"786F7
> v01.05", 0xffffffff8203b020 "04/25/2008", 0xffffffff8203b02c
> "Hewlett-Packard", 0xffffffff8203b03c "HP xw4550 Workstation",
> 0xffffffff8203b054 " ", 0xffffffff8203b058 "BAL1010051",
> 0xffffffff8203b064 "308A59FA-9B77-DE11-BBDA-C486CC82001C",
> 0xffffffff8203b08c "Hewlett-Packard", 0xffffffff8203b09c
"0AC8h",
> 0xffffffff8203b0a4 "", 0xffffffff8203b0a8 "BAL1010051",
> 0xffffffff8203b0b4 "", 0xffffffff8203b0b8 "Hewlett-Packard",
> 0xffffffff8203b0c8 "6", 0xffffffff8203b0cc "",
0xffffffff8203b0d0
> "BAL1010051", 0xffffffff8203b0dc " "}
> crash>
>
> Do you think those should should be just dropped, or shown as above?
What does 'dmidecode' show? If dmidecode shows the same, I'd suggest that
perhaps we should follow suit.
It's difficult to tell with dmidecode. Plus there are a bunch of other
odd-ball settings like these examples:
DMI_BOARD_ASSET_TAG: -
DMI_CHASSIS_ASSET_TAG: ................
DMI_SYS_VENDOR: To Be Filled By O.E.M.
DMI_BOARD_VERSION: N/A
DMI_CHASSIS_SERIAL: Not Available
DMI_CHASSIS_ASSET_TAG: No Asset Information
DMI_PRODUCT_SERIAL: n/a
DMI_BOARD_VERSION: (none)
DMI_CHASSIS_VERSION: none
DMI_BOARD_SERIAL: None
DMI_CHASSIS_VENDOR: No Enclosure
DMI_CHASSIS_ASSET_TAG: No Asset Tag
In any case, if there is anything but a NULL pointer, then some kernel
entity has explicitly set the string, so I'm going to just show it.
Queued for crash-7.1.4:
https://github.com/crash-utility/crash/commit/9ba68adb0c2a0e6f4839fdc3c09...
Thanks,
Dave