[AMD Official Use Only - General]
> -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of duntan > via groups.io > Sent: Wednesday, September 28, 2022 9:52 AM > To: devel@edk2.groups.io > Cc: Eric Dong <eric.d...@intel.com>; Ray Ni <ray...@intel.com>; Rahul > Kumar <rahul1.ku...@intel.com> > Subject: [edk2-devel] [PATCH] UefiCpuPkg/CpuExceptionHandlerLib: Code > optimization to allow bigger stack > > Caution: This message originated from an External Source. Use proper > caution when opening attachments, clicking links, or responding. > > > This commit is a code optimization to allow bigger seperate stack size in > ArchSetupExceptionStack. In previous code logic, CPU_STACK_ALIGNMENT > bytes will be wasted if StackTop is already CPU_STACK_ALIGNMENT aligned. > > Signed-off-by: Dun Tan <dun....@intel.com> > Cc: Eric Dong <eric.d...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Rahul Kumar <rahul1.ku...@intel.com> > --- > UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ArchExceptionHandler.c | > 2 +- > UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ArchExceptionHandler.c | > 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ArchExceptionHandler.c > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ArchExceptionHandler. > c > index 8c398ebc5b..c8fa30a32f 100644 > --- > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ArchExceptionHandler.c > +++ > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ArchExceptionHandle > +++ r.c > @@ -215,7 +215,7 @@ ArchSetupExceptionStack ( > // Fixup exception task descriptor and task-state segment > // > AsmGetTssTemplateMap (&TemplateMap); > - StackTop = StackTop - CPU_STACK_ALIGNMENT; > + StackTop = StackTop - CPU_STACK_ALIGNMENT + 1; Hi Dun, Could you please add a comment on this change says the change is for the compact stack layout? Thanks Abner > StackTop = (UINTN)ALIGN_POINTER (StackTop, CPU_STACK_ALIGNMENT); > IdtTable = (IA32_IDT_GATE_DESCRIPTOR *)Idtr.Base; > for (Index = 0; Index < CPU_STACK_SWITCH_EXCEPTION_NUMBER; > ++Index) { diff --git > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ArchExceptionHandler.c > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ArchExceptionHandler.c > index 80e9f08e5b..74b2193cb0 100644 > --- > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ArchExceptionHandler.c > +++ > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ArchExceptionHandler > +++ .c > @@ -223,7 +223,7 @@ ArchSetupExceptionStack ( > // Fixup exception task descriptor and task-state segment > // > ZeroMem (Tss, sizeof (*Tss)); > - StackTop = StackTop - CPU_STACK_ALIGNMENT; > + StackTop = StackTop - CPU_STACK_ALIGNMENT + 1; > StackTop = (UINTN)ALIGN_POINTER (StackTop, CPU_STACK_ALIGNMENT); > IdtTable = (IA32_IDT_GATE_DESCRIPTOR *)Idtr.Base; > for (Index = 0; Index < CPU_STACK_SWITCH_EXCEPTION_NUMBER; > ++Index) { > -- > 2.31.1.windows.1 > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#94489): https://edk2.groups.io/g/devel/message/94489 Mute This Topic: https://groups.io/mt/93964451/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-