> 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 
>> <mailto: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
>  
> <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 
> <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 
<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/ 
<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?

Thanks,

Andrew Fish

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

Reply via email to