HI
UEFI OS loader or OS kernel can get ACPI2.0 RSDP from UEFI configuration table 
via EFI_ACPI_20_TABLE_GUID. See UEFI2.4a spec, page 93.
Then it can parse all ACPI information, like RSDP->XSDT->FADT->DSDT.

I think you also use this way too.

The limitation of ACPI_SDT_PROTOCOL is that: It is defined in PI spec, and not 
all platform BIOS produce it, as far as I know.

Thank you
Yao Jiewen

From: Rafael Machado [mailto:rafaelrodrigues.mach...@gmail.com]
Sent: Friday, January 31, 2014 10:02 PM
To: Laszlo Ersek
Cc: edk2-devel
Subject: Re: [edk2] ACPI Read at UEFI

Thanks for the answer Laszlo.
I'll thake a look on these information.

Nice to know this question helped you too.
Thanks
Rafael R. Machado

2014-01-31 Laszlo Ersek <ler...@redhat.com<mailto:ler...@redhat.com>>:
On 01/31/14 11:39, Rafael Machado wrote:
> Hi everyone.
>
> I have a question.
> I need to read some ACPI tables data at UEFI.
> As far as I could check, the only defined protocols to work with acpi
> tables at uefi are related to install and unninstall a new table, but
> how could I do to read a table already defined by the ACPI spec ?
> For example read the information contained at the Differentiated System
> Description Table (DSDT).
You can install and uninstall tables with EFI_ACPI_TABLE_PROTOCOL.
See UEFI 2.4a, 19 Protocols - ACPI Protocols.

Apparently, you can locate and walk tables with EFI_ACPI_SDT_PROTOCOL.
See Platform Init Vol.5, 9 ACPI System Description Table Protocol.

In edk2, the reference implementation for both of these is provided by
MdeModulePkg/Universal/Acpi/AcpiTableDxe. EFI_ACPI_SDT_PROTOCOL is only
installed dependent on
"gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol".

OVMF (for example) already builds in the driver, but for now we only use
the EFI_ACPI_TABLE_PROTOCOL that the driver provides. If you want the
other protocol too, you likely have to set said PCD to TRUE, in
OvmfPkg/OvmfPkg*.dsc, under [PcdsFeatureFlag].

Thanks for making me investigate this a little bit, especially
EFI_ACPI_SDT_PROTOCOL. In OvmfPkg we might want to inspect, at some
point, the ACPI tables that QEMU exports, and EFI_ACPI_SDT_PROTOCOL
could be handy to navigate them.

Laszlo

------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to