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:
Jeff Fan 2016-07-29 21:08:01 +08:00
parent d94e5f6729
commit 8396e2dd30
5 changed files with 14 additions and 15 deletions

View File

@ -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

View File

@ -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:
;-------------------------------------------------------------------------------------

View File

@ -56,7 +56,6 @@ typedef struct {
UINTN CodeSegment;
UINTN DataSegment;
UINTN Cr3;
PEI_CPU_MP_DATA *PeiCpuMpData;
} MP_CPU_EXCHANGE_INFO;
#pragma pack()

View File

@ -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

View File

@ -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)