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