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

Reply via email to