audk/UefiCpuPkg
Min M Xu 3a3b12cbda UefiCpuPkg/MtrrLib: MtrrLibIsMtrrSupported always return FALSE in TD-Guest
Currently, TDX exposes MTRR CPUID bit to TDX VM. So based on the CPUID,
the guest software components (OVMF/TDVF and guest kernel) will access
MTRR MSRs. One problem for guest to use of MTRR is the change of MTRR
setting needs to set CR0.CD=1, which will case #VE for TDX.

For Linux kernel, there is a mechanism called SW defined MTRR introduced
by the patch https://lore.kernel.org/all/20230502120931.
20719-4-jgross@suse.com/. If this is integrated for TDX guest, then Linux
kernel will not access any MTRR MSRs.

So we update MtrrLibIsMtrrSupported() to always return false for TD-Guest,
then TDVF will not access MTRR MSRs at all.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Binbin Wu <binbin.wu@intel.com>
Signed-off-by: Min Xu <min.m.xu@intel.com>
2024-09-20 02:24:06 +00:00
..
Application/Cpuid UefiCpuPkg: Calculate DisplayFamily correctly 2023-03-07 10:42:38 +00:00
CpuDxe UefiCpuPkg: remove last instances of EFI_D_ 2024-07-31 08:59:21 +00:00
CpuDxeRiscV64 UefiCpuPkg: Add cache operations support for Arch proto 2024-02-04 03:09:12 +00:00
CpuFeatures UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
CpuIo2Dxe UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
CpuIo2Smm UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
CpuIoPei UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
CpuMmio2Dxe UefiCpuPkg: Add a new CPU IO 2 driver named CpuMmio2Dxe 2024-02-06 23:51:47 +08:00
CpuMpPei UefiCpuPkg/CpuMpPei: Don't write CR3 in ConvertMemoryPageToNotPresent 2024-02-22 03:28:55 +00:00
CpuS3DataDxe UefiCpuPkg: Save MTRR by lockbox in CpuS3DataDxe 2024-06-04 07:40:27 +00:00
CpuTimerDxeRiscV64 UefiCpuPkg/CpuTimerDxeRiscV64: Add support for Sstc 2024-01-11 12:07:42 +00:00
Include UefiCpuPkg: Add ACPI S3 Enable HOB definition 2024-08-28 15:25:27 +00:00
Library UefiCpuPkg/MtrrLib: MtrrLibIsMtrrSupported always return FALSE in TD-Guest 2024-09-20 02:24:06 +00:00
MicrocodeMeasurementDxe UefiCpuPkg/MicrocodeMeasurementDxe: Fix exception 2023-03-10 07:13:14 +00:00
PiSmmCommunication UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PiSmmCpuDxeSmm UefiCpuPkg/PiSmmCpuDxeSmm: Remove RestrictedMemoryAccess check for MM CPU 2024-09-06 08:41:49 +00:00
ResetVector UefiCpuPkg/ResetVector: Remove AP waking vector from ResetVector 2023-09-18 02:39:25 +00:00
SecCore UefiCpuPkg: auto-generate SEC ProcessLibraryConstructorList() decl 2024-03-08 09:09:22 +00:00
SecMigrationPei UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Test UefiCpuPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
Universal/Acpi/S3Resume2Pei UefiCpuPkg: Remove unneeded MpService2Ppi assignment 2024-06-04 07:40:27 +00:00
UefiCpuPkg.ci.yaml UefiCpuPkg/UefiCpuPkg.ci.yaml: Add PrEval CI config 2024-09-02 23:20:35 +00:00
UefiCpuPkg.dec UefiCpuPkg/PiSmmCpuDxeSmm: Simplify SMM Profile Size Calculation 2024-08-28 15:25:27 +00:00
UefiCpuPkg.dsc UefiCpuPkg: Add StackCheckLib 2024-09-13 03:58:46 +00:00
UefiCpuPkg.uni UefiCpuPkg: Refine the PCD usage comment 2024-06-14 07:02:37 +00:00
UefiCpuPkgExtra.uni UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00