mirror of https://github.com/acidanthera/audk.git
UefiCpuPkg/MpInitLib: increase NumApsExecuting only for ApInitConfig
NumApsExecuting is only used when InitFlag == ApInitConfig for counting the processor count. The patch changes Ia32 version of waking up vector assembly code to align to x64 version of waking up vector assembly code. After the change both versions of waking up vector increase NumApsExecuting when InitFlag == ApInitConfig. Signed-off-by: Ray Ni <ray.ni@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
This commit is contained in:
parent
f0718d1d6b
commit
5b9b0a8da6
|
@ -1,5 +1,5 @@
|
|||
;------------------------------------------------------------------------------ ;
|
||||
; Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
; Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||
; SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
;
|
||||
; Module Name:
|
||||
|
@ -81,12 +81,6 @@ Flat32Start: ; protected mode entry point
|
|||
|
||||
mov esi, ebx
|
||||
|
||||
; Increment the number of APs executing here as early as possible
|
||||
; This is decremented in C code when AP is finished executing
|
||||
mov edi, esi
|
||||
add edi, NumApsExecutingLocation
|
||||
lock inc dword [edi]
|
||||
|
||||
mov edi, esi
|
||||
add edi, EnableExecuteDisableLocation
|
||||
cmp byte [edi], 0
|
||||
|
@ -120,6 +114,12 @@ SkipEnableExecuteDisable:
|
|||
cmp dword [edi], 1 ; 1 == ApInitConfig
|
||||
jnz GetApicId
|
||||
|
||||
; Increment the number of APs executing here as early as possible
|
||||
; This is decremented in C code when AP is finished executing
|
||||
mov edi, esi
|
||||
add edi, NumApsExecutingLocation
|
||||
lock inc dword [edi]
|
||||
|
||||
; AP init
|
||||
mov edi, esi
|
||||
add edi, LockLocation
|
||||
|
|
Loading…
Reference in New Issue