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