2015-06-02 19:57 GMT-03:00 Andrew Fish <af...@apple.com>:

>
> On Jun 2, 2015, at 12:47 PM, Andrew Fish <af...@apple.com> wrote:
>
>
> On Jun 2, 2015, at 11:50 AM, Tomaz Fogaça <tom.fog...@gmail.com> wrote:
>
> Hello everyone,
>
> I'm writing this application for UEFI using the UDK and in it I'm trying
> to gather some information from the SMBios table.
>
> I'm trying to reach the System Event Log, and in order to do that I've
> decoded the System Event Log(Type 15) structure and found that, in my
> machine, the field "Access Method" has a value of '4', which, according to
> the SMBios spec, means "Available through General-Purpose NonVolatile Data
> functions."
>
> I have little to no idea of what "General-Purpose NonVolatile Data
> functions" are. I've looked into the Linux kernel source only to find that
> it explicitly does not support such access method, so I cannot use that as
> a reference.
>
> The only other reference to the term 'gpnv' that I could find was in an
> old SMBios spec, which references something called "Plug and Play
> functions", which I also am not familiar with.
>
> I'd appreciate any help regarding these questions:
> 1 - What are "General-Purpose NonVolatile Data functions”?
>
>
> They are the old “legacy BIOS” Plug and Play functions that are callable
> in real-mode, and 16-bit protected-mode.
>
> 2 - How do I use them?
>
>
> You go back in time to 1994:
> ftp://download.intel.com/support/motherboards/desktop/sb/pnpbiosspecificationv10a.pdf
> Older versions of the SMBIOS spec talk about the functions, like the one
> from 1999:
> http://www.dmtf.org/sites/default/files/standards/documents/DSP0119.pdf
>
> 3 - Is there any UDK api to handle them?
>
>
> No.
>
>
> Technically speaking the
> https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Include/Library/BaseLib.h
>  has
> functions like AsmThunk16() that let you call coding in real mode from
> Protected or Long mode.
>
> https://svn.code.sf.net/p/edk2/code/trunk/edk2/DuetPkg/ probably has some
> examples.
>
> But you would have to do all the Legacy BIOS PnP discovery stuff, and you
> could be on a platform that does not have a legacy BIOS?
>
>
This is looking like more trouble than it's worth. The reason I was going
after the System Event Log is to look for ECC errors which, according to
some sparse documentation for this firmware, should be being logged there.

On the other hand, perhaps I should look for instances of the "32-Bit
Memory Error Information (Type 18)" struct in the SMBios? I can't be sure
that these will be implemented by the firmware, but if they are, are they
supposed to have information equivalent to that of the log that would be
retrieved via the access method indicated in "System Event Log (Type 15)"?

In fact, if I were dealing with a firmware that is up to spec, should I
expect it to log everything in the "System Event Log" as well as on those
"32-Bit Memory Error Information (Type 18)" structs? That seems a bit
redundant.

> Thanks,
>
> Andrew Fish
>
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
>
Thanks a lot for the attention,

Tomaz
------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to