[edk2-devel] [Patch V2 0/8] Create page table by CpuPageTableLib in DxeIpl

Lendacky, Thomas via groups.io thomas.lendacky=amd.com at groups.io
Mon Apr 3 14:24:11 UTC 2023


On 3/31/23 09:35, Tom Lendacky wrote:
> On 3/31/23 04:41, Tan, Dun wrote:
>> Hi Tom,
>>
>> Reccentlly I sent this patch set to change DxeIpl code to use 
>> CpuPageTableLib to create page table. I have done some test on Intel CPU 
>> to make sure that the page table created by DxeIpl before the change is 
>> the same as the page table created by DxeIpl after the change. But there 
>> was a remaining case that I didn't cover. The case is that 
>> PcdPteMemoryEncryptionAddressOrMask, PcdGhcbBase and PcdGhcbSize are not 
>> zero(when memory encryption is enabled on AMD processors supporting the 
>> SEV feature).
>> So could you please help do a test on AMD processor to make sure that 
>> the SEV feature still works good with this pacth set?
> 
> Yes, I can test it.

This is breaking the SEV-ES and SEV-SNP boots. I'll see if I can figure 
out what or where the breakage is, but this patchset can't be merged as is.

Thanks,
Tom

> 
> Thanks,
> Tom
> 
>>
>> Thanks,
>> Dun
>>
>> -----Original Message-----
>> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of duntan
>> Sent: Friday, March 31, 2023 5:34 PM
>> To: devel at edk2.groups.io
>> Subject: [edk2-devel] [Patch V2 0/8] Create page table by 
>> CpuPageTableLib in DxeIpl
>>
>> In this V2 patch set:
>> 1.Remove the unneeded patch for ArmVirtPkg 2.In this patch 'Create page 
>> table by CpuPageTableLib', change the input parameter name from 
>> Is32BitPageTable to Is64BitPageTable and add a line of 
>> "MapAttribute.Bits.Present = 0" before set a range to non-present.
>> 3.In this patch 'Refinement to the code to set PageTable as RO', add a 
>> line of "MapAttribute.Bits.ReadWrite = 0" before set a range to ReadOnly.
>>
>> Dun Tan (8):
>>    EmulatorPkg: Add CpuPageTableLib required by DxeIpl in DSC
>>    IntelFsp2Pkg: Add CpuPageTableLib required by DxeIpl in DSC
>>    MdeModulePkg: Add CpuPageTableLib required by DxeIpl in DSC
>>    OvmfPkg: Add CpuPageTableLib required by DxeIpl in DSC file
>>    MdeModulePkg: Add UefiCpuPkg.dec to pass DependencyCheck
>>    MdeModulePkg/DxeIpl: Create page table by CpuPageTableLib
>>    MdeModulePkg/DxeIpl: Remove duplicated code to enable NX
>>    MdeModulePkg/DxeIpl: Refinement to the code to set PageTable as RO
>>
>>   EmulatorPkg/EmulatorPkg.dsc                      |   3 ++-
>>   IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc          |   3 ++-
>>   MdeModulePkg/Core/DxeIplPeim/DxeIpl.h            |   3 ++-
>>   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf          |   4 +++-
>>   MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c  | 112 
>> ++++------------------------------------------------------------------------------------------------------------
>>   MdeModulePkg/Core/DxeIplPeim/X64/DxeLoadFunc.c   |   5 +++--
>>   MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c | 711 
>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>   MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.h | 182 
>> ++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>   MdeModulePkg/MdeModulePkg.ci.yaml                |   5 +++--
>>   MdeModulePkg/MdeModulePkg.dsc                    |   3 ++-
>>   OvmfPkg/AmdSev/AmdSevX64.dsc                     |   2 +-
>>   OvmfPkg/Bhyve/BhyveX64.dsc                       |   3 ++-
>>   OvmfPkg/CloudHv/CloudHvX64.dsc                   |   2 +-
>>   OvmfPkg/Microvm/MicrovmX64.dsc                   |   2 +-
>>   OvmfPkg/OvmfPkgIa32.dsc                          |   3 ++-
>>   OvmfPkg/OvmfPkgIa32X64.dsc                       |   2 +-
>>   OvmfPkg/OvmfPkgX64.dsc                           |   2 +-
>>   OvmfPkg/OvmfXen.dsc                              |   2 +-
>>   18 files changed, 200 insertions(+), 849 deletions(-)
>>
>> -- 
>> 2.31.1.windows.1
>>
>>
>>
>> 
>>
>>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#102403): https://edk2.groups.io/g/devel/message/102403
Mute This Topic: https://groups.io/mt/97969850/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list