What's the API for ACPI?

I need to obtain info (especially the system address map) from the ACPI
system from within my driver.
Does anybody know what API to use?
Is it possible to send an IOCTL Irp to the ACPI driver? If so, what would
the format of the data that is exchanged be?
The ACPI spec discusses INT 15 but, as far as I know, I can’t call real-mode
BIOS functions from Windows code.

I know that there has to be a way because tools loke APSoft’s PCIScope can
display the ACPI tables.

Perhaps if you ask the question differently, we can help you. There is no
generic way to get random data out of the ACPI driver. You can, however,
get the system address map through the CM_ APIs. You’d do what device
manager does. See devcon.exe in the DDK for details.

  • Jake

“User1964” wrote in message news:xxxxx@ntdev…
>
> I need to obtain info (especially the system address map) from the ACPI
> system from within my driver.
> Does anybody know what API to use?
> Is it possible to send an IOCTL Irp to the ACPI driver? If so, what would
> the format of the data that is exchanged be?
> The ACPI spec discusses INT 15 but, as far as I know, I can’t call
> real-mode
> BIOS functions from Windows code.
>
> I know that there has to be a way because tools loke APSoft’s PCIScope can
> display the ACPI tables.
>
>
>
>
>

> “User1964” wrote in message news:xxxxx@ntdev…
> >
> > I need to obtain info (especially the system address map) from the ACPI
> > system from within my driver.
> > Does anybody know what API to use?
> > Is it possible to send an IOCTL Irp to the ACPI driver? If so, what
would
> > the format of the data that is exchanged be?
> > The ACPI spec discusses INT 15 but, as far as I know, I can’t call
> > real-mode
> > BIOS functions from Windows code.
> >
> > I know that there has to be a way because tools loke APSoft’s PCIScope
can
> > display the ACPI tables.
> >
> >
> >
> >
> >
> “Jake Oshins” wrote in message
news:xxxxx@ntdev…
>
> Perhaps if you ask the question differently, we can help you. There is no
> generic way to get random data out of the ACPI driver. You can, however,
> get the system address map through the CM_ APIs. You’d do what device
> manager does. See devcon.exe in the DDK for details.
>
> - Jake
>
>
Thanks for the tip Jake. I’ve already had a quick look at the devcon
utility and on one system, I get a full memory map for the ACPI\PNP0C01\1
device (System Board).
Unfortunately, this device doesn’t show up on another (also ACPI compliant)
system. Will have to dig a bit deeper into this (a lot of reading
ahead…).

To ask the question differently as you suggested, I am looking for a
machine-independent method to find the physical addresses of all of the
system board’s memory (even memory beyond the 4GB boundary and especially
the memory that is excluded from being controlled by windows by means of the
/MAXMEM switch in the boot.ini file). I want to manage this from within the
WDM driver which controls the hardware device that references the memory. I
was asking for the ACPI API because AFAIK that’s the method that windows is
using at startup to determine where the system memory is. I agree that the
method you suggested is maybe a cleaner one (at least if I can get
consistent results out of it).

Koen