mirror of https://github.com/acidanthera/audk.git
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
|
||||
BufferStartLocation equ LockLocation + 1Ch
|
||||
ModeOffsetLocation equ LockLocation + 20h
|
||||
NumApsExecutingLoction equ LockLocation + 24h
|
||||
NumApsExecutingLocation equ LockLocation + 24h
|
||||
CodeSegmentLocation equ LockLocation + 28h
|
||||
DataSegmentLocation equ LockLocation + 2Ch
|
||||
|
||||
|
|
|
@ -71,8 +71,8 @@ o32 lidt [cs:si]
|
|||
xor ax, ax
|
||||
mov ds, ax
|
||||
|
||||
mov eax, cr0 ;Get control register 0
|
||||
or eax, 000000003h ;Set PE bit (bit #0) & MP
|
||||
mov eax, cr0 ; Get control register 0
|
||||
or eax, 000000003h ; Set PE bit (bit #0) & MP
|
||||
mov cr0, eax
|
||||
|
||||
jmp 0:strict dword 0 ; far jump to protected mode
|
||||
|
@ -95,7 +95,7 @@ TestLock:
|
|||
jz TestLock
|
||||
|
||||
mov edi, esi
|
||||
add edi, NumApsExecutingLoction
|
||||
add edi, NumApsExecutingLocation
|
||||
inc dword [edi]
|
||||
mov ebx, [edi]
|
||||
|
||||
|
@ -133,9 +133,9 @@ CProcedureInvoke:
|
|||
add edi, ApProcedureLocation
|
||||
mov eax, [edi]
|
||||
|
||||
call eax ; invoke C function
|
||||
call eax ; Invoke C function
|
||||
|
||||
jmp $ ; never reach here
|
||||
jmp $ ; Never reach here
|
||||
RendezvousFunnelProcEnd:
|
||||
|
||||
;-------------------------------------------------------------------------------------
|
||||
|
|
|
@ -56,7 +56,6 @@ typedef struct {
|
|||
UINTN CodeSegment;
|
||||
UINTN DataSegment;
|
||||
UINTN Cr3;
|
||||
PEI_CPU_MP_DATA *PeiCpuMpData;
|
||||
} MP_CPU_EXCHANGE_INFO;
|
||||
|
||||
#pragma pack()
|
||||
|
|
|
@ -33,7 +33,7 @@ GdtrLocation equ LockLocation + 20h
|
|||
IdtrLocation equ LockLocation + 2Ah
|
||||
BufferStartLocation equ LockLocation + 34h
|
||||
ModeOffsetLocation equ LockLocation + 3Ch
|
||||
NumApsExecutingLoction equ LockLocation + 44h
|
||||
NumApsExecutingLocation equ LockLocation + 44h
|
||||
CodeSegmentLocation equ LockLocation + 4Ch
|
||||
DataSegmentLocation equ LockLocation + 54h
|
||||
Cr3Location equ LockLocation + 5Ch
|
||||
|
|
|
@ -57,7 +57,7 @@ BITS 16
|
|||
mov di, CodeSegmentLocation
|
||||
mov edx, [di]
|
||||
mov di, ax
|
||||
sub di, 02h
|
||||
sub di, 02h
|
||||
mov [di],dx ; Patch long mode CS
|
||||
sub di, 04h
|
||||
add eax, ebx
|
||||
|
@ -117,7 +117,7 @@ TestLock:
|
|||
jz TestLock
|
||||
|
||||
mov edi, esi
|
||||
add edi, NumApsExecutingLoction
|
||||
add edi, NumApsExecutingLocation
|
||||
inc dword [edi]
|
||||
mov ebx, [edi]
|
||||
|
||||
|
@ -138,8 +138,8 @@ Releaselock:
|
|||
xchg qword [edi], rax
|
||||
|
||||
CProcedureInvoke:
|
||||
push rbp ; push BIST data at top of AP stack
|
||||
xor rbp, rbp ; clear ebp for call stack trace
|
||||
push rbp ; Push BIST data at top of AP stack
|
||||
xor rbp, rbp ; Clear ebp for call stack trace
|
||||
push rbp
|
||||
mov rbp, rsp
|
||||
|
||||
|
@ -157,9 +157,9 @@ CProcedureInvoke:
|
|||
mov rax, qword [edi]
|
||||
|
||||
sub rsp, 20h
|
||||
call rax ; invoke C function
|
||||
call rax ; Invoke C function
|
||||
add rsp, 20h
|
||||
jmp $
|
||||
jmp $ ; Should never reach here
|
||||
|
||||
RendezvousFunnelProcEnd:
|
||||
|
||||
|
@ -176,7 +176,7 @@ ASM_PFX(AsmGetAddressMap):
|
|||
|
||||
;-------------------------------------------------------------------------------------
|
||||
;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);
|
||||
;-------------------------------------------------------------------------------------
|
||||
global ASM_PFX(AsmExchangeRole)
|
||||
|
|
Loading…
Reference in New Issue