On 2/28/24 09:22, Gerd Hoffmann wrote: > On Wed, Feb 28, 2024 at 05:09:32AM +0100, Laszlo Ersek wrote: >> On 2/22/24 12:54, Gerd Hoffmann wrote: >>> Move code to clear the page tables to a nasm macro. >>> No functional change. >>> >>> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> >>> --- >>> OvmfPkg/ResetVector/Ia32/PageTables64.asm | 35 ++++++++++++----------- >>> 1 file changed, 19 insertions(+), 16 deletions(-) >>> >>> diff --git a/OvmfPkg/ResetVector/Ia32/PageTables64.asm >>> b/OvmfPkg/ResetVector/Ia32/PageTables64.asm >>> index 6fec6f2beeea..378ba2feeb4f 100644 >>> --- a/OvmfPkg/ResetVector/Ia32/PageTables64.asm >>> +++ b/OvmfPkg/ResetVector/Ia32/PageTables64.asm >>> @@ -45,6 +45,24 @@ BITS 32 >>> %define TDX_BSP 1 >>> %define TDX_AP 2 >>> >>> +; >>> +; For OVMF, build some initial page tables at >>> +; PcdOvmfSecPageTablesBase - (PcdOvmfSecPageTablesBase + 0x6000). >>> +; >>> +; This range should match with PcdOvmfSecPageTablesSize which is >>> +; declared in the FDF files. >>> +; >>> +; At the end of PEI, the pages tables will be rebuilt into a >>> +; more permanent location by DxeIpl. >>> +; >>> +%macro ClearOvmfPageTables 0 >>> + mov ecx, 6 * 0x1000 / 4 >>> + xor eax, eax >>> +.clearPageTablesMemoryLoop: >>> + mov dword[ecx * 4 + PT_ADDR (0) - 4], eax >>> + loop .clearPageTablesMemoryLoop >>> +%endmacro >>> + >>> ; >>> ; Modified: EAX, EBX, ECX, EDX >>> ; >> >> Ah, this made me read up on local labels: >> >> https://www.nasm.us/xdoc/2.16.01/html/nasmdoc3.html#section-3.9 >> >> Should we rather call the label >> >> ..@clearPageTablesMemoryLoop >> >> ? > > I've tried that and something (which I don't remember) didn't work as > expected. Given that each branch which uses that macro will have a jump > label anyway (so the local label is expanded to something like > TdxBspInit.clearPageTablesMemoryLoop) I've figured this is good enough
Sure, if you've tried it already, then the current method is fine! Thanks! Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116135): https://edk2.groups.io/g/devel/message/116135 Mute This Topic: https://groups.io/mt/104506789/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-