On 04/29/16 04:23, Hao Wu wrote: > The RamDiskDxe driver in MdeModulePkg now will use EFI_ACPI_TABLE_PROTOCOL > and EFI_ACPI_SDT_PROTOCOL during reporting RAM disks to NVDIMM Firmware > Interface Table (NFIT). > > A Pcd 'PcdInstallAcpiSdtProtocol' controls whether the > EFI_ACPI_SDT_PROTOCOL will be produced. Its default value is set to FALSE > in MdeModulePkg. To make the NFIT reporting feature working properly under > OVMF, the patch will set the Pcd to TRUE in OVMF DSC files. > > Also, the RamDiskDxe driver will sometimes report a NVDIMM Root Device > using ASL code which is put in a Secondary System Description Table (SSDT) > according to the ACPI 6.1 spec. > > Locating the SSDT requires modifying the [Rule.Common.DXE_DRIVER] field in > OVMF FDF files. > > Cc: Laszlo Ersek <[email protected]> > Cc: Jordan Justen <[email protected]> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Hao Wu <[email protected]> > --- > OvmfPkg/OvmfPkgIa32.dsc | 1 + > OvmfPkg/OvmfPkgIa32.fdf | 2 ++ > OvmfPkg/OvmfPkgIa32X64.dsc | 1 + > OvmfPkg/OvmfPkgIa32X64.fdf | 2 ++ > OvmfPkg/OvmfPkgX64.dsc | 1 + > OvmfPkg/OvmfPkgX64.fdf | 2 ++ > 6 files changed, 9 insertions(+) > > diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc > index 0206dda..5dbfe57 100644 > --- a/OvmfPkg/OvmfPkgIa32.dsc > +++ b/OvmfPkg/OvmfPkgIa32.dsc > @@ -350,6 +350,7 @@ > gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE > gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE > + gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE > !if $(SECURE_BOOT_ENABLE) == TRUE > gUefiOvmfPkgTokenSpaceGuid.PcdSecureBootEnable|TRUE > !endif > diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf > index 93a51a5..287737c 100644 > --- a/OvmfPkg/OvmfPkgIa32.fdf > +++ b/OvmfPkg/OvmfPkgIa32.fdf > @@ -444,6 +444,8 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { > PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi > UI STRING="$(MODULE_NAME)" Optional > VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) > + RAW ACPI Optional |.acpi > + RAW ASL Optional |.aml > } > > [Rule.Common.DXE_RUNTIME_DRIVER] > diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc > index 06fe141..896f9c6 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.dsc > +++ b/OvmfPkg/OvmfPkgIa32X64.dsc > @@ -355,6 +355,7 @@ > gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE > gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE > gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE > + gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE > !if $(SECURE_BOOT_ENABLE) == TRUE > gUefiOvmfPkgTokenSpaceGuid.PcdSecureBootEnable|TRUE > !endif > diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf > index aad16a6..cc1587a 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.fdf > +++ b/OvmfPkg/OvmfPkgIa32X64.fdf > @@ -444,6 +444,8 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { > PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi > UI STRING="$(MODULE_NAME)" Optional > VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) > + RAW ACPI Optional |.acpi > + RAW ASL Optional |.aml > } > > [Rule.Common.DXE_RUNTIME_DRIVER] > diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc > index e88e70d..cdac4ef 100644 > --- a/OvmfPkg/OvmfPkgX64.dsc > +++ b/OvmfPkg/OvmfPkgX64.dsc > @@ -355,6 +355,7 @@ > gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE > gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE > + gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE > !if $(SECURE_BOOT_ENABLE) == TRUE > gUefiOvmfPkgTokenSpaceGuid.PcdSecureBootEnable|TRUE > !endif > diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf > index 387b808..1b52381 100644 > --- a/OvmfPkg/OvmfPkgX64.fdf > +++ b/OvmfPkg/OvmfPkgX64.fdf > @@ -444,6 +444,8 @@ FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { > PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi > UI STRING="$(MODULE_NAME)" Optional > VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER) > + RAW ACPI Optional |.acpi > + RAW ASL Optional |.aml > } > > [Rule.Common.DXE_RUNTIME_DRIVER] >
Okay, I reviewed the [Rule] docs in the FDF spec, and the FileType definitions in the INF spec. Patch looks good. Reviewed-by: Laszlo Ersek <[email protected]> Jordan, do you have any comments? Thanks! Laszlo _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

