> > 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
_______________________________________________
ipxe-devel mailing list
[email protected]
https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel

Reply via email to