> 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