Laszlo,

Reviewed-by: Michael Kinney <michael.d.kin...@intel.com>

Mike

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Laszlo 
> Ersek
> Sent: Tuesday, November 3, 2015 1:01 PM
> To: edk2-de...@ml01.01.org
> Cc: Paolo Bonzini <pbonz...@redhat.com>
> Subject: [edk2] [PATCH v4 26/41] OvmfPkg: build PiSmmCpuDxeSmm for -D 
> SMM_REQUIRE
> 
> At this point we can enable building PiSmmCpuDxeSmm.
> 
> CPU specific features, like SMRR detection, and functions that are used to
> initialize SMM and process SMIs, are abstracted through the
> SmmCpuFeaturesLib class for the PiSmmCpuDxeSmm module. Resolve it to our
> own implementation under OvmfPkg -- it allows PiSmmCpuDxeSmm to work with
> QEMU's and KVM's 64-bit state save map format, which follows the
> definition from AMD's programmer manual.
> 
> SmmCpuPlatformHookLib provides platform specific functions that are used
> to initialize SMM and process SMIs. Resolve it to the one Null instance
> provided by UefiCpuPkg, which is expected to work for most platforms.
> 
> PiSmmCpuDxeSmm is not yet intended to function correctly with regard to
> S3; the upcoming, trimmed down CpuMpDxe port (under the name CpuS3DataDxe)
> will be necessary for that.
> 
> Cc: Paolo Bonzini <pbonz...@redhat.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Laszlo Ersek <ler...@redhat.com>
> [pbonz...@redhat.com: resolve the SmmCpuFeaturesLib class to OVMF's own
>  instance]
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
> ---
> 
> Notes:
>     v4:
>     - Drop the SmmLib resolution from the DSC files, and the matching
>       paragraph from the commit message. Starting with SVN r18673 / git
>       f40577c3563f ("UefiCpuPkg: PiSmmCpuDxeSmm: Remove unused references to
>       SmmLib"), PiSmmCpuDxeSmm depends on SmmLib no more.
> 
>     v3:
>     - resolve SmmCpuFeaturesLib to OvmfPkg's own instance [Paolo]
> 
>     v2:
>     - The module builds now for X64 too, thanks to Intel for open sourcing
>       the X64 SMM entry vector (huge kudos). Update the commit message
>       accordingly.
>     - Thanks to Mike, PiSmmCpuDxeSmm and SmmCpuPlatformHookLibNull are now
>       under UefiCpuPkg; update pathnames in the DSC / FDF files accordingly.
>     - Version 2 of this patch also obviates "OvmfPkg: PiSmmCpuDxeSmm:
>       eliminate SmmLib dependency" from v1.
>     - Resolve SmmCpuFeaturesLib. This abstraction is new in Mike's
>       PiSmmCpuDxeSmm module; Quark used to have similar code in
>       "SmmFeatures.c" non-separably.
> 
>  OvmfPkg/OvmfPkgIa32.dsc    | 5 +++++
>  OvmfPkg/OvmfPkgIa32X64.dsc | 5 +++++
>  OvmfPkg/OvmfPkgX64.dsc     | 5 +++++
>  OvmfPkg/OvmfPkgIa32.fdf    | 1 +
>  OvmfPkg/OvmfPkgIa32X64.fdf | 1 +
>  OvmfPkg/OvmfPkgX64.fdf     | 1 +
>  6 files changed, 18 insertions(+)
> 
> diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
> index f9b7af7..d6d7253 100644
> --- a/OvmfPkg/OvmfPkgIa32.dsc
> +++ b/OvmfPkg/OvmfPkgIa32.dsc
> @@ -741,4 +741,9 @@ [Components]
>      <LibraryClasses>
>        LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
>    }
> +  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {
> +    <LibraryClasses>
> +      
> SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
> +      
> SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
> +  }
>  !endif
> diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
> index 028c21a..cea39c6 100644
> --- a/OvmfPkg/OvmfPkgIa32X64.dsc
> +++ b/OvmfPkg/OvmfPkgIa32X64.dsc
> @@ -748,4 +748,9 @@ [Components.X64]
>      <LibraryClasses>
>        LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
>    }
> +  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {
> +    <LibraryClasses>
> +      
> SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
> +      
> SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
> +  }
>  !endif
> diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
> index 5ee17ff..98a0133 100644
> --- a/OvmfPkg/OvmfPkgX64.dsc
> +++ b/OvmfPkg/OvmfPkgX64.dsc
> @@ -746,4 +746,9 @@ [Components]
>      <LibraryClasses>
>        LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
>    }
> +  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {
> +    <LibraryClasses>
> +      
> SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
> +      
> SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
> +  }
>  !endif
> diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
> index 53ddae3..7f9e201 100644
> --- a/OvmfPkg/OvmfPkgIa32.fdf
> +++ b/OvmfPkg/OvmfPkgIa32.fdf
> @@ -362,6 +362,7 @@ [FV.DXEFV]
>  INF  MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
>  INF  UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
>  INF  MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf
> +INF  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
>  !endif
> 
>  
> ################################################################################
> diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
> index bb7ca6e..d70736e 100644
> --- a/OvmfPkg/OvmfPkgIa32X64.fdf
> +++ b/OvmfPkg/OvmfPkgIa32X64.fdf
> @@ -362,6 +362,7 @@ [FV.DXEFV]
>  INF  MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
>  INF  UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
>  INF  MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf
> +INF  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
>  !endif
> 
>  
> ################################################################################
> diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
> index bceab15..b9fee36 100644
> --- a/OvmfPkg/OvmfPkgX64.fdf
> +++ b/OvmfPkg/OvmfPkgX64.fdf
> @@ -362,6 +362,7 @@ [FV.DXEFV]
>  INF  MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
>  INF  UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
>  INF  MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf
> +INF  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
>  !endif
> 
>  
> ################################################################################
> --
> 1.8.3.1
> 
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to