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] -=-=-=-=-=-=-=-=-=-=-=-