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 take care, Gerd -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116094): https://edk2.groups.io/g/devel/message/116094 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] -=-=-=-=-=-=-=-=-=-=-=-