Daniel,
The issue I have is that 'lspci -vvv' will happily report the
VPD
data on my machine:
...
while libvirt refuses to report it. Even if the BIOS is not perfectly
following the spec, it is clearly still possible to extract the data
and display it to the user. So I don't think it is reasonable for libvirt
to refuse todo this. I'd have sympathy if this machine was pre-production
hardware or from a no-name vendor, but this machine is typical production
quality hardware from a major vendor.
The only think there I think it is reasonable for libvirt to reject the
data is in the cae of the two fields that contain non-printable
characters <FF>. Other than that I expect libvirt to report exactly
the same data as lspci will report, and not try to secondguess whether
the values provided by the vendor are semantically valid or not.
Makes sense to me: we can make a policy decision that better fits
users and the reality of existing hardware.
I also recognize that the VPD spec is quite old and it does not
include a very good description of the supported character set
(besides saying "alphanumeric").
I tried to follow the spec relatively strictly but I agree that a
balance between that and providing useful information is needed.
I'll resend the series and restrict the character set to the set of
printable ASCII code points and ignore the lack of RW at the end of
the read-write section.
Best Regards,
Dmitrii Shcherbakov
LP/oftc: dmitriis