On 05/16/17 14:55, Evgeny Yakovlev wrote: > I am writing a DXE driver for a paravirtualized HyperV storage device for > OvmfPkg. Host hypervisor exposes the presence of this device through ACPI > device node in DSDT. Specific AML path itself may be different from host to > host but device UID is always a string: "VMBus". > > I was hoping to be able to walk DSDT table in my DXE driver to locate this > device node and start publishing necessary protocols, but I am having > trouble figuring out how to do this, i.e. are there any support libraries > or protocols to traverse ACPI tables or how do I have to do that manually. > Will be glad for any advice, thanks.
This is one of the goals that EFI_ACPI_SDT_PROTOCOL serves. The protocol is specified in Volume 5 of the PI spec. In edk2, the protocol is produced by MdeModulePkg/Universal/Acpi/AcpiTableDxe when the gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol Feature PCD is set to TRUE. I think there are a handful (?) of protocol consumers in edk2 as well, for example in QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/ Thanks, Laszlo _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

