L.S.,
Adriana is proposing [0] a method for DT based platforms that boot without EFI to expose the SMBIOS tables via the /chosen DT node.
There appears to be consensus between the stakeholders in the u-boot and linux communities that this is a reasonable thing to do, and it looks like this is going to be adopted soon.
Adriana has kindly agreed to contributing the u-boot side implementation as well, so all the pieces will be there in terms of code.
What is lacking is a contribution to the DMTF spec, which currently only permits the EFI config table method for non-x86 systems. So some wording should be added to paragraph 5.2.2 (SMBIOS 3.9 [1])
It currently reads
On non-UEFI systems, the 64-bit SMBIOS Entry Point structure can be located by application software by searching for the anchor-string on paragraph (16-byte) boundaries within the physical memory address range 000F0000h to 000FFFFFh.
Given that this makes sense only on x86 systems, I suggest we rephrase this along the lines of
On non-UEFI systems, the 64-bit SMBIOS Entry Point structure can be located by application software - on x86 systems only, by searching for the anchor-string on paragraph (16-byte) boundaries within the physical memory address range 000F0000h to 000FFFFFh, - on DT based systems, by obtaining the physical memory address of the structure from the /chosen/smbios3-entrypoint property in the device tree.
Maybe Rob can suggest a normative reference to be added to section 2?
Thanks, Ard.
[0] https://lore.kernel.org/all/CAERbo5z6BzHqQxXdxPxmxE_eDR7GGGbt3A8kB0gQiWFBE-2... [1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.9.0.p...