On 3/1/24 08:43, Gerd Hoffmann wrote:
> So I ran with the suggestion by Laszlo to move the page table setup into
> macros and untangle the non-CoCo / TDX / SEV code paths.  The first five
> patches of the series are doing that (without functional changes).
> 
> Support for 5-level paging is added by the following five patches.  This
> way it is indeed easier to understand.  Additional bonus is that the
> patches can be splitted into smaller pieces and 5-level paging for the
> three cases (non-CoCo / TDX / SEC) can be enabled independently.
> 
> The SEV patches (#9 + #10) are included here for completeness, but it is
> probably a good idea to merge them only after 5-level paging support was
> added to BaseMemEncryptSevLib.  This way we can turn on 5-level paging
> support without breaking SEV.
> 
> v2 changes:
>  - remove SetCr3La57 label, use Enable5LevelPaging macro instead.
>  - turn GetSevCBitMaskAbove31 into a macro.
>  - comment fixes.
> 
> Gerd Hoffmann (10):
>   OvmfPkg/ResetVector: improve page table flag names
>   OvmfPkg/ResetVector: add ClearOvmfPageTables macro
>   OvmfPkg/ResetVector: add CreatePageTables4Level macro
>   OvmfPkg/ResetVector: split TDX BSP workflow
>   OvmfPkg/ResetVector: split SEV and non-CoCo workflows
>   OvmfPkg/ResetVector: add 5-level paging support
>   OvmfPkg/ResetVector: print post codes for 4/5 level paging
>   OvmfPkg/ResetVector: wire up 5-level paging for TDX
>   OvmfPkg/ResetVector: leave SEV VC handler installed longer
>   OvmfPkg/ResetVector: wire up 5-level paging for SEV
> 
>  OvmfPkg/ResetVector/ResetVector.inf       |   1 +
>  OvmfPkg/ResetVector/Ia32/AmdSev.asm       |  40 ++-
>  OvmfPkg/ResetVector/Ia32/IntelTdx.asm     |  17 +-
>  OvmfPkg/ResetVector/Ia32/PageTables64.asm | 299 +++++++++++++++++-----
>  OvmfPkg/ResetVector/Main.asm              |   4 +
>  OvmfPkg/ResetVector/ResetVector.nasmb     |   5 +-
>  6 files changed, 272 insertions(+), 94 deletions(-)
> 

Patches 1 through 8 have been merged as

     8  fded08e74400 OvmfPkg/ResetVector: improve page table flag names
     9  52e44713d23d OvmfPkg/ResetVector: add ClearOvmfPageTables macro
    10  4329b5b0cd58 OvmfPkg/ResetVector: add CreatePageTables4Level macro
    11  b7a97bfac528 OvmfPkg/ResetVector: split TDX BSP workflow
    12  e3bd782373d8 OvmfPkg/ResetVector: split SEV and non-CoCo workflows
    13  49b7faba1d6e OvmfPkg/ResetVector: add 5-level paging support
    14  318b0d714a7e OvmfPkg/ResetVector: print post codes for 4/5 level paging
    15  275d0a39c42a OvmfPkg/ResetVector: wire up 5-level paging for TDX

via <https://github.com/tianocore/edk2/pull/5432>.

In patch #8, I moved the "CheckForSev:" label into "%if PG_5_LEVEL" scope, as 
discussed.

Laszlo



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116285): https://edk2.groups.io/g/devel/message/116285
Mute This Topic: https://groups.io/mt/104660109/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to