The discovery mechanisms are different for BIOS and UEFI systems. A BIOS system searches 000F0000h to 000FFFFFh, and a UEFI system has a GUID/pointer pair in the EFI System Table that points to the table. This is all described in the latest SMBIOS Spec.
http://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.8.0.pdf • On non-EFI systems, the SMBIOS Entry Point structure, can be located by application software by • 712 searching for the anchor-string on paragraph (16-byte) boundaries within the physical memory address • 713 range 000F0000h to 000FFFFFh. This entry point encapsulates an intermediate anchor string that is used • 714 by some existing DMI browsers. • 715 On EFI-based systems, the SMBIOS Entry Point structure can be located by looking in the EFI • 716 Configuration Table for the SMBIOS GUID (SMBIOS_TABLE_GUID) and using the associated pointer. • 717 See section 4.6 of the UEFI Specification for details. See section 2.3 and table 5-6 of the UEFI • 718 Specification for how to report the underlying memory type. So don't go searching 000F0000h to 000FFFFFh for the SMBIOS Entry Point structure on a UEFI system as it does not have to exist. The SMBIOS specification has a limitation that the table is < 4GB, but this spec is owned by the DMTF so it is up to them to change it. Thanks, Andrew Fish PS This causes pain for the EmulatorPkg on OS X as an application can't allocate memory < 4GB. On Aug 13, 2013, at 1:21 PM, David F. <[email protected]> wrote: > Hi, > I searched the UEFI specs for SMBIOS I found it's available through > the ConfigurationTable in the SystemTable. Once I do find it, is it > going to have the same Entry Point as defined in the SMBIOS specs? > The question comes up because the TableAddress is a 32bit value - > Which means the table is limited to being within the first 4G (fine > with me, just want to ensure that the data being given through UEFI > matches what is expected). The entry point with the AnchorSig, > CheckSum, etc.. which also gives the total TableLength I presume will > be there when pointed to by the configuration table? > > TIA!! > > ------------------------------------------------------------------------------ > Get 100% visibility into Java/.NET code with AppDynamics Lite! > It's a free troubleshooting tool designed for production. > Get down to code-level detail for bottlenecks, with <2% overhead. > Download for free and get started troubleshooting in minutes. > http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
