Patch merged:
https://github.com/tianocore/edk2/commit/af98f1fb0311d8e3cc52ab9fc544a8c8ff8f7546

Thanks,
Chasel


> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chiu, Chasel
> Sent: Friday, March 31, 2023 4:16 PM
> To: devel@edk2.groups.io
> Cc: Chiu, Chasel <chasel.c...@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desim...@intel.com>; Zeng, Star <star.z...@intel.com>
> Subject: [edk2-devel] [PATCH] IntelFsp2Pkg: TempRamInit API should preserve
> EBX/RBX register.
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4395
> 
> FSP specification defines the TempRamInit API preserved register list which
> including EBX/RBX, however current implementation unexpectedly overriding
> EBX/RBX register that should be fixed.
> 
> Cc: Nate DeSimone <nathaniel.l.desim...@intel.com>
> Cc: Star Zeng <star.z...@intel.com>
> Signed-off-by: Chasel Chiu <chasel.c...@intel.com>
> ---
>  IntelFsp2Pkg/FspSecCore/Ia32/SaveRestoreSseNasm.inc |  7 +++++++
>  IntelFsp2Pkg/Include/SaveRestoreSseAvxNasm.inc      | 21
> ++++++++++++++++++++-
>  2 files changed, 27 insertions(+), 1 deletion(-)
> 
> diff --git a/IntelFsp2Pkg/FspSecCore/Ia32/SaveRestoreSseNasm.inc
> b/IntelFsp2Pkg/FspSecCore/Ia32/SaveRestoreSseNasm.inc
> index a222f2e376..016f943b43 100644
> --- a/IntelFsp2Pkg/FspSecCore/Ia32/SaveRestoreSseNasm.inc
> +++ b/IntelFsp2Pkg/FspSecCore/Ia32/SaveRestoreSseNasm.inc
> @@ -157,6 +157,9 @@ NextAddress:
>              ; Use CpuId instruction (CPUID.01H:EDX.SSE[bit 25] = 1) to test  
>            ;
> whether the processor supports SSE instruction.             ;+            ; 
> Save EBX to
> MM2+            ;+            movd    mm2, ebx             mov     eax, 1     
>         cpuid
> bt      edx, 25@@ -169,6 +172,10 @@ NextAddress:
>              bt      ecx, 19             jnc     SseError %endif+            
> ;+            ; Restore EBX
> from MM2+            ;+            movd    ebx, mm2              ;            
>  ; Set OSFXSR bit (bit
> #9) & OSXMMEXCPT bit (bit #10)diff --git
> a/IntelFsp2Pkg/Include/SaveRestoreSseAvxNasm.inc
> b/IntelFsp2Pkg/Include/SaveRestoreSseAvxNasm.inc
> index 38c807a311..002a5a1412 100644
> --- a/IntelFsp2Pkg/Include/SaveRestoreSseAvxNasm.inc
> +++ b/IntelFsp2Pkg/Include/SaveRestoreSseAvxNasm.inc
> @@ -255,6 +255,10 @@ NextAddress:
>              ; Use CpuId instruction (CPUID.01H:EDX.SSE[bit 25] = 1) to test  
>            ;
> whether the processor supports SSE instruction.             ;+            ; 
> Save RBX to
> R11+            ; Save RCX to R10+            ;+            mov     r11, rbx  
>            mov     r10,
> rcx             mov     rax, 1             cpuid@@ -266,7 +270,12 @@ 
> NextAddress:
>              ;             bt      ecx, 19             jnc     SseError-      
>       mov     rcx,
> r10+            ;+            ; Restore RBX from R11+            ; Restore 
> RCX from
> R10+            ;+            mov     rbx, r11+            mov     rcx, r10   
>            ;             ; Set
> OSFXSR bit (bit #9) & OSXMMEXCPT bit (bit #10)@@ -284,6 +293,11 @@
> NextAddress:
>              %endmacro  %macro ENABLE_AVX   0+            ;+            ; 
> Save RBX to
> R11+            ; Save RCX to R10+            ;+            mov     r11, rbx  
>            mov     r10,
> rcx             mov     eax, 1             cpuid@@ -307,6 +321,11 @@ 
> EnableAvx:
>              xgetbv                 ; result in edx:eax             or      
> eax, 00000006h ; Set XCR0
> bit #1 and bit #2 to enable SSE state and AVX state             xsetbv+       
>      ;+            ;
> Restore RBX from R11+            ; Restore RCX from R10+            ;+        
>     mov     rbx,
> r11             mov     rcx, r10             %endmacro --
> 2.35.0.windows.1
> 
> 
> 
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#102337): https://edk2.groups.io/g/devel/message/102337
> Mute This Topic: https://groups.io/mt/97984838/1777047
> Group Owner: devel+ow...@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [chasel.c...@intel.com] -=-
> =-=-=-=-=
> 



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


Reply via email to