This patch set addresses bug 11908, bug 44305, and others. It reconstructs the SMBIOS table from the SMBIOS values that the kernel exposes to userspace.
Because some BIOSes have more than one of each type of SMBIOS struct, and not every BIOS has every type of struct, I have chosen to declare each struct separately. This will allow for a more sophisticated implementation in the future. It will also allow implementations for other platforms (e.g. Mac OS) to implement one or two of the structs without having to implement them all at once.
Testing on Windows revealed that the id parameter to GetSystemFirmwareTable is ignored if the provider parameter is RSMB.
For more information, see the SMBIOS specification: https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.2.0.p...
Alex Henrie (4): kernel32: Return BIOS info from GetSystemFirmwareTable on Linux kernel32: Return system info from GetSystemFirmwareTable on Linux kernel32: Return board info from GetSystemFirmwareTable on Linux kernel32: Return chassis info from GetSystemFirmwareTable on Linux
dlls/kernel32/process.c | 294 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 293 insertions(+), 1 deletion(-)