EdkCompatibilityPkg MpServicesOnFrameworkMpServicesThunk: Update .S files to be consistent with corresponding .asm files.

Signed-off-by: Sun Rui <rui.sun@intel.com>
Reviewed-by: Tian Feng <feng.tian@intel.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13481 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
rsun3 2012-07-02 10:38:24 +00:00
parent f9b843ec49
commit 6d896ff1cb
2 changed files with 25 additions and 5 deletions

View File

@ -1,7 +1,7 @@
#------------------------------------------------------------------------------
# IA32 assembly file for AP startup vector.
#
# Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@ -100,11 +100,21 @@ ProtectedModeStart: # protected mode entry point
#
movl $0x1b, %ecx
rdmsr
btl $10, %eax # Check for x2apic mode
jnc LegacyApicMode
movl $0x802, %ecx # Read APIC_ID
rdmsr
movl %eax, %ebx # ebx == apicid
jmp GetCpuNumber
LegacyApicMode:
andl $0xfffff000, %eax
addl $0x20, %eax
movl (%eax), %ebx
shrl $24, %ebx
shrl $24, %ebx # ebx == apicid
GetCpuNumber:
xorl %ecx, %ecx
movl %esi,%edi
addl $ProcessorNumber, %edi

View File

@ -1,7 +1,7 @@
#------------------------------------------------------------------------------
# X64 assembly file for AP startup vector.
#
# Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@ -134,11 +134,21 @@ LongModeStart:
#
movl $0x1b, %ecx
rdmsr
btl $10, %eax # Check for x2apic mode
jnc LegacyApicMode
movl $0x802, %ecx # Read APIC_ID
rdmsr
movl %eax, %ebx # ebx == apicid
jmp GetCpuNumber
LegacyApicMode:
andl $0xfffff000, %eax
addl $0x20, %eax
movl (%eax), %ebx
shrl $24, %ebx
shrl $24, %ebx # ebx == apicid
GetCpuNumber:
xorq %rcx, %rcx
movl %esi,%edi
addl $ProcessorNumberLocation, %edi