]> git.proxmox.com Git - mirror_edk2.git/commitdiff
UefiCpuPkg/CpuMpPei: Remove PmodeOffset and LmodeOffset
authorJeff Fan <jeff.fan@intel.com>
Tue, 12 Jul 2016 00:49:33 +0000 (08:49 +0800)
committerJeff Fan <jeff.fan@intel.com>
Thu, 14 Jul 2016 01:44:09 +0000 (09:44 +0800)
Remove Pmode(Entry)Offset/Lmode(Entry)Offset and use unified Mode(Entry)Offset
to clean up the definition of MP_ASSEMBLY_ADDRESS_MAP and MP_CPU_EXCHANGE_INFO.

Cc: Feng Tian <feng.tian@intel.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Cc: Giri Mudusuru <giri.p.mudusuru@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
UefiCpuPkg/CpuMpPei/CpuMpPei.c
UefiCpuPkg/CpuMpPei/CpuMpPei.h
UefiCpuPkg/CpuMpPei/Ia32/MpEqu.inc
UefiCpuPkg/CpuMpPei/Ia32/MpFuncs.asm
UefiCpuPkg/CpuMpPei/Ia32/MpFuncs.nasm
UefiCpuPkg/CpuMpPei/X64/MpEqu.inc
UefiCpuPkg/CpuMpPei/X64/MpFuncs.asm
UefiCpuPkg/CpuMpPei/X64/MpFuncs.nasm

index bfaaa7a6b0c660052f5ce44c47f8e95891607599..4a453c657092a3bc094e925aa4356f4dcad91c7b 100644 (file)
@@ -428,8 +428,7 @@ WakeUpAP (
   ExchangeInfo->StackStart         = PeiCpuMpData->Buffer;\r
   ExchangeInfo->StackSize          = PeiCpuMpData->CpuApStackSize;\r
   ExchangeInfo->BufferStart        = PeiCpuMpData->WakeupBuffer;\r
-  ExchangeInfo->PmodeOffset        = PeiCpuMpData->AddressMap.PModeEntryOffset;\r
-  ExchangeInfo->LmodeOffset        = PeiCpuMpData->AddressMap.LModeEntryOffset;\r
+  ExchangeInfo->ModeOffset         = PeiCpuMpData->AddressMap.ModeEntryOffset;\r
   ExchangeInfo->Cr3                = AsmReadCr3 ();\r
   ExchangeInfo->CodeSegment        = AsmReadCs ();\r
   ExchangeInfo->DataSegment        = AsmReadDs ();\r
index ef214503656a38ba6bc7aabf127192d08db41ac0..b2e578b96ab8e58004f5136433d0c38a1cbd1527 100644 (file)
@@ -66,8 +66,7 @@ typedef enum {
 //\r
 typedef struct {\r
   UINT8             *RendezvousFunnelAddress;\r
-  UINTN             PModeEntryOffset;\r
-  UINTN             LModeEntryOffset;\r
+  UINTN             ModeEntryOffset;\r
   UINTN             RendezvousFunnelSize;\r
 } MP_ASSEMBLY_ADDRESS_MAP;\r
 \r
@@ -98,11 +97,10 @@ typedef struct {
   IA32_DESCRIPTOR       GdtrProfile;\r
   IA32_DESCRIPTOR       IdtrProfile;\r
   UINTN                 BufferStart;\r
-  UINTN                 PmodeOffset;\r
+  UINTN                 ModeOffset;\r
   UINTN                 NumApsExecuting;\r
   UINTN                 CodeSegment;\r
   UINTN                 DataSegment;\r
-  UINTN                 LmodeOffset;\r
   UINTN                 Cr3;\r
   PEI_CPU_MP_DATA       *PeiCpuMpData;\r
 } MP_CPU_EXCHANGE_INFO;\r
index 50111e5023d140149c5dc74f18bbf52afac1cc98..773eab3a4dc194c72ff6a60c66a50ab5b4f222b5 100644 (file)
@@ -32,7 +32,7 @@ ApProcedureLocation           equ        LockLocation + 0Ch
 GdtrLocation                  equ        LockLocation + 10h\r
 IdtrLocation                  equ        LockLocation + 16h\r
 BufferStartLocation           equ        LockLocation + 1Ch\r
-PmodeOffsetLocation           equ        LockLocation + 20h\r
+ModeOffsetLocation            equ        LockLocation + 20h\r
 NumApsExecutingLoction        equ        LockLocation + 24h\r
 CodeSegmentLocation           equ        LockLocation + 28h\r
 DataSegmentLocation           equ        LockLocation + 2Ch\r
index d0b00887291a5d9a1ada18bcbf4ff8529a92fca8..27e16c66f4247d11163d11b595642707ddb519c3 100644 (file)
@@ -52,7 +52,7 @@ RendezvousFunnelProcStart::
     db 66h,  8Bh, 1Ch                   ; mov        ebx, dword ptr [si]\r
 \r
     db 0BEh                             ; opcode of mov si, mem16\r
-    dw PmodeOffsetLocation              ; mov        si,  PmodeOffsetLocation\r
+    dw ModeOffsetLocation               ; mov        si,  ModeOffsetLocation\r
     db 66h,  8Bh,  04h                  ; mov        eax, [si]\r
     db 0BEh                             ; opcode of mov si, mem16\r
     dw CodeSegmentLocation              ; mov        si,  CodeSegmentLocation\r
@@ -161,9 +161,8 @@ AsmGetAddressMap   PROC  near C  PUBLIC
 \r
     mov        ebx, dword ptr [ebp+24h]\r
     mov        dword ptr [ebx], RendezvousFunnelProcStart\r
-    mov        dword ptr [ebx +  4h], Flat32Start - RendezvousFunnelProcStart\r
-    mov        dword ptr [ebx +  8h], 0\r
-    mov        dword ptr [ebx + 0ch], RendezvousFunnelProcEnd - RendezvousFunnelProcStart\r
+    mov        dword ptr [ebx + 4h], Flat32Start - RendezvousFunnelProcStart\r
+    mov        dword ptr [ebx + 8h], RendezvousFunnelProcEnd - RendezvousFunnelProcStart\r
 \r
     popad\r
     ret\r
index fc9db873fc1210caa9fdcdb36a04425387c0c4c3..0852a5bc848cfe00d4d108666620224d3d8e39c2 100644 (file)
@@ -48,7 +48,7 @@ BITS 16
     mov        si,  BufferStartLocation\r
     mov        ebx, [si]\r
 \r
-    mov        si,  PmodeOffsetLocation\r
+    mov        si,  ModeOffsetLocation\r
     mov        eax, [si]\r
     mov        si,  CodeSegmentLocation\r
     mov        edx, [si]\r
@@ -149,8 +149,7 @@ ASM_PFX(AsmGetAddressMap):
     mov        ebx,  [ebp + 24h]\r
     mov        dword [ebx], RendezvousFunnelProcStart\r
     mov        dword [ebx +  4h], Flat32Start - RendezvousFunnelProcStart\r
-    mov        dword [ebx +  8h], 0\r
-    mov        dword [ebx + 0ch], RendezvousFunnelProcEnd - RendezvousFunnelProcStart\r
+    mov        dword [ebx +  8h], RendezvousFunnelProcEnd - RendezvousFunnelProcStart\r
 \r
     popad\r
     ret\r
index 07caf3b99131877dd5329667b168a040994ed531..00f57ce54952b7574d339ef1f280bf677d030a01 100644 (file)
@@ -32,11 +32,10 @@ ApProcedureLocation           equ        LockLocation + 18h
 GdtrLocation                  equ        LockLocation + 20h\r
 IdtrLocation                  equ        LockLocation + 2Ah\r
 BufferStartLocation           equ        LockLocation + 34h\r
-PmodeOffsetLocation           equ        LockLocation + 3Ch\r
+ModeOffsetLocation            equ        LockLocation + 3Ch\r
 NumApsExecutingLoction        equ        LockLocation + 44h\r
 CodeSegmentLocation           equ        LockLocation + 4Ch\r
 DataSegmentLocation           equ        LockLocation + 54h\r
-LmodeOffsetLocation           equ        LockLocation + 5Ch\r
-Cr3Location                   equ        LockLocation + 64h\r
+Cr3Location                   equ        LockLocation + 5Ch\r
 \r
 ;-------------------------------------------------------------------------------\r
index 03e00924fb0cd0b22c0b73fcb8baf5dcc2807980..4adfff3c1c3e9dc956cd8cd32f97cf1ff601bfb6 100644 (file)
@@ -48,7 +48,7 @@ RendezvousFunnelProcStart::
     db 66h,  8Bh, 1Ch                 ; mov        ebx, dword ptr [si]\r
 \r
     db 0BFh                           ; opcode of mov di, mem16                         \r
-    dw LmodeOffsetLocation            ; mov        di,  LmodeOffsetLocation\r
+    dw ModeOffsetLocation             ; mov        di,  ModeOffsetLocation\r
     db 66h, 8Bh, 05h                  ; mov        eax, [di]\r
     db 0BFh                           ; opcode of mov di, mem16  \r
     dw CodeSegmentLocation            ; mov        di,  CodeSegmentLocation\r
@@ -176,9 +176,8 @@ RendezvousFunnelProcEnd::
 AsmGetAddressMap   PROC\r
     mov        rax, offset RendezvousFunnelProcStart\r
     mov        qword ptr [rcx], rax\r
-    mov        qword ptr [rcx +  8h], 0\r
-    mov        qword ptr [rcx + 10h], LongModeStart - RendezvousFunnelProcStart\r
-    mov        qword ptr [rcx + 18h], RendezvousFunnelProcEnd - RendezvousFunnelProcStart\r
+    mov        qword ptr [rcx +  8h], LongModeStart - RendezvousFunnelProcStart\r
+    mov        qword ptr [rcx + 10h], RendezvousFunnelProcEnd - RendezvousFunnelProcStart\r
     ret\r
 AsmGetAddressMap   ENDP\r
 \r
index e0a98647dff027360d701cdf87859f4b3569c8f5..f19c75f91397db3b2653708b0009dc6807227f80 100644 (file)
@@ -52,7 +52,7 @@ BITS 16
     mov        si,  BufferStartLocation\r
     mov        ebx, [si]\r
 \r
-    mov        di,  LmodeOffsetLocation\r
+    mov        di,  ModeOffsetLocation\r
     mov        eax, [di]\r
     mov        di,  CodeSegmentLocation\r
     mov        edx, [di]\r
@@ -170,9 +170,8 @@ global ASM_PFX(AsmGetAddressMap)
 ASM_PFX(AsmGetAddressMap):\r
     mov        rax, ASM_PFX(RendezvousFunnelProc)\r
     mov        qword [rcx], rax\r
-    mov        qword [rcx +  8h], 0\r
-    mov        qword [rcx + 10h], LongModeStart - RendezvousFunnelProcStart\r
-    mov        qword [rcx + 18h], RendezvousFunnelProcEnd - RendezvousFunnelProcStart\r
+    mov        qword [rcx +  8h], LongModeStart - RendezvousFunnelProcStart\r
+    mov        qword [rcx + 10h], RendezvousFunnelProcEnd - RendezvousFunnelProcStart\r
     ret\r
 \r
 ;-------------------------------------------------------------------------------------\r