mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-28 16:14:04 +02:00
UefiCpuPkg/MpInitLib: Fix typo and clean up the code
1. Rename NumApsExecutingLoction to NumApsExecutingLocation 2. Update some comments in NASM files. 3. Remove PeiCpuMpData from MP_CPU_EXCHANGE_INFO. Cc: Michael Kinney <michael.d.kinney@intel.com> Cc: Feng Tian <feng.tian@intel.com> Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Michael Kinney <michael.d.kinney@intel.com>
This commit is contained in:
parent
d94e5f6729
commit
8396e2dd30
@ -33,7 +33,7 @@ GdtrLocation equ LockLocation + 10h
|
|||||||
IdtrLocation equ LockLocation + 16h
|
IdtrLocation equ LockLocation + 16h
|
||||||
BufferStartLocation equ LockLocation + 1Ch
|
BufferStartLocation equ LockLocation + 1Ch
|
||||||
ModeOffsetLocation equ LockLocation + 20h
|
ModeOffsetLocation equ LockLocation + 20h
|
||||||
NumApsExecutingLoction equ LockLocation + 24h
|
NumApsExecutingLocation equ LockLocation + 24h
|
||||||
CodeSegmentLocation equ LockLocation + 28h
|
CodeSegmentLocation equ LockLocation + 28h
|
||||||
DataSegmentLocation equ LockLocation + 2Ch
|
DataSegmentLocation equ LockLocation + 2Ch
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ TestLock:
|
|||||||
jz TestLock
|
jz TestLock
|
||||||
|
|
||||||
mov edi, esi
|
mov edi, esi
|
||||||
add edi, NumApsExecutingLoction
|
add edi, NumApsExecutingLocation
|
||||||
inc dword [edi]
|
inc dword [edi]
|
||||||
mov ebx, [edi]
|
mov ebx, [edi]
|
||||||
|
|
||||||
@ -133,9 +133,9 @@ CProcedureInvoke:
|
|||||||
add edi, ApProcedureLocation
|
add edi, ApProcedureLocation
|
||||||
mov eax, [edi]
|
mov eax, [edi]
|
||||||
|
|
||||||
call eax ; invoke C function
|
call eax ; Invoke C function
|
||||||
|
|
||||||
jmp $ ; never reach here
|
jmp $ ; Never reach here
|
||||||
RendezvousFunnelProcEnd:
|
RendezvousFunnelProcEnd:
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------------
|
||||||
|
@ -56,7 +56,6 @@ typedef struct {
|
|||||||
UINTN CodeSegment;
|
UINTN CodeSegment;
|
||||||
UINTN DataSegment;
|
UINTN DataSegment;
|
||||||
UINTN Cr3;
|
UINTN Cr3;
|
||||||
PEI_CPU_MP_DATA *PeiCpuMpData;
|
|
||||||
} MP_CPU_EXCHANGE_INFO;
|
} MP_CPU_EXCHANGE_INFO;
|
||||||
|
|
||||||
#pragma pack()
|
#pragma pack()
|
||||||
|
@ -33,7 +33,7 @@ GdtrLocation equ LockLocation + 20h
|
|||||||
IdtrLocation equ LockLocation + 2Ah
|
IdtrLocation equ LockLocation + 2Ah
|
||||||
BufferStartLocation equ LockLocation + 34h
|
BufferStartLocation equ LockLocation + 34h
|
||||||
ModeOffsetLocation equ LockLocation + 3Ch
|
ModeOffsetLocation equ LockLocation + 3Ch
|
||||||
NumApsExecutingLoction equ LockLocation + 44h
|
NumApsExecutingLocation equ LockLocation + 44h
|
||||||
CodeSegmentLocation equ LockLocation + 4Ch
|
CodeSegmentLocation equ LockLocation + 4Ch
|
||||||
DataSegmentLocation equ LockLocation + 54h
|
DataSegmentLocation equ LockLocation + 54h
|
||||||
Cr3Location equ LockLocation + 5Ch
|
Cr3Location equ LockLocation + 5Ch
|
||||||
|
@ -117,7 +117,7 @@ TestLock:
|
|||||||
jz TestLock
|
jz TestLock
|
||||||
|
|
||||||
mov edi, esi
|
mov edi, esi
|
||||||
add edi, NumApsExecutingLoction
|
add edi, NumApsExecutingLocation
|
||||||
inc dword [edi]
|
inc dword [edi]
|
||||||
mov ebx, [edi]
|
mov ebx, [edi]
|
||||||
|
|
||||||
@ -138,8 +138,8 @@ Releaselock:
|
|||||||
xchg qword [edi], rax
|
xchg qword [edi], rax
|
||||||
|
|
||||||
CProcedureInvoke:
|
CProcedureInvoke:
|
||||||
push rbp ; push BIST data at top of AP stack
|
push rbp ; Push BIST data at top of AP stack
|
||||||
xor rbp, rbp ; clear ebp for call stack trace
|
xor rbp, rbp ; Clear ebp for call stack trace
|
||||||
push rbp
|
push rbp
|
||||||
mov rbp, rsp
|
mov rbp, rsp
|
||||||
|
|
||||||
@ -157,9 +157,9 @@ CProcedureInvoke:
|
|||||||
mov rax, qword [edi]
|
mov rax, qword [edi]
|
||||||
|
|
||||||
sub rsp, 20h
|
sub rsp, 20h
|
||||||
call rax ; invoke C function
|
call rax ; Invoke C function
|
||||||
add rsp, 20h
|
add rsp, 20h
|
||||||
jmp $
|
jmp $ ; Should never reach here
|
||||||
|
|
||||||
RendezvousFunnelProcEnd:
|
RendezvousFunnelProcEnd:
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ ASM_PFX(AsmGetAddressMap):
|
|||||||
|
|
||||||
;-------------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------------
|
||||||
;AsmExchangeRole procedure follows. This procedure executed by current BSP, that is
|
;AsmExchangeRole procedure follows. This procedure executed by current BSP, that is
|
||||||
;about to become an AP. It switches it'stack with the current AP.
|
;about to become an AP. It switches its stack with the current AP.
|
||||||
;AsmExchangeRole (IN CPU_EXCHANGE_INFO *MyInfo, IN CPU_EXCHANGE_INFO *OthersInfo);
|
;AsmExchangeRole (IN CPU_EXCHANGE_INFO *MyInfo, IN CPU_EXCHANGE_INFO *OthersInfo);
|
||||||
;-------------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------------
|
||||||
global ASM_PFX(AsmExchangeRole)
|
global ASM_PFX(AsmExchangeRole)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user