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

Reply via email to