[ipxe-devel] new storage driver

James Harper james at ejbdigital.com.au
Thu Oct 1 13:46:46 UTC 2015


> > Another question, maybe OT for this list, it looks like the acpi_describe
> > functionality might append my description into the ACPI table into memory,
> > but when my windows driver uses
> > AuxKlibEnumerateSystemFirmwareTables('ACPI', ...), my new table isn't
> > there (just the expected ACPI tables). Am I right about what I think this
> > does? I can see that iPXE definitely calls my _describe function.
> >
> > I can fall back to just scanning low memory for my signature, but that
> > doesn’t seem nearly as elegant.
> 
> Scanning low memory is how iSCSI works (for the iBFT).  AFAIK, there is
> no standard way for us to link in an extra ACPI table to the RSDT.
> 

The way the AoE driver does it under Windows is simply map the low 1MB (or a good chunk of it) and search for the signature there. That must be how Windows does it for iBFT too. Unfortunately the MmMapIoSpace call that AoE uses to do this appears to have broken under the later versions of Windows - it complains that un-owned memory is being mapped, and at least under the debugger, won't proceed.

A bit of digging has uncovered the (undocumented) x86BiosReadMemory function which can be used to get the required data out of the x86 BIOS emulator. So at least for now I can proceed.

Thanks

James


More information about the ipxe-devel mailing list