]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/CpuMpPei/Ia32/MpFuncs.asm
UefiCpuPkg/CpuMpPei: Remove un-used variables and functions
[mirror_edk2.git] / UefiCpuPkg / CpuMpPei / Ia32 / MpFuncs.asm
index eb23a1691762ad10625611588cc3d38f863281b8..d0b00887291a5d9a1ada18bcbf4ff8529a92fca8 100644 (file)
@@ -1,5 +1,5 @@
 ;------------------------------------------------------------------------------ ;\r
-; Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+; Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>\r
 ; This program and the accompanying materials\r
 ; are licensed and made available under the terms and conditions of the BSD License\r
 ; which accompanies this distribution.  The full text of the license may be found at\r
@@ -39,25 +39,34 @@ RendezvousFunnelProcStart::
 ; Save BIST information to ebp firstly\r
     db 66h,  08bh, 0e8h                 ; mov        ebp, eax    ; save BIST information\r
 \r
-    db 8ch,0c8h                         ; mov        ax,cs\r
-    db 8eh,0d8h                         ; mov        ds,ax\r
-    db 8eh,0c0h                         ; mov        es,ax\r
-    db 8eh,0d0h                         ; mov        ss,ax\r
-    db 33h,0c0h                         ; xor        ax,ax\r
-    db 8eh,0e0h                         ; mov        fs,ax\r
-    db 8eh,0e8h                         ; mov        gs,ax\r
+    db 8ch,0c8h                         ; mov        ax, cs\r
+    db 8eh,0d8h                         ; mov        ds, ax\r
+    db 8eh,0c0h                         ; mov        es, ax\r
+    db 8eh,0d0h                         ; mov        ss, ax\r
+    db 33h,0c0h                         ; xor        ax, ax\r
+    db 8eh,0e0h                         ; mov        fs, ax\r
+    db 8eh,0e8h                         ; mov        gs, ax\r
 \r
     db 0BEh                             ; opcode of mov si, mem16\r
     dw BufferStartLocation              ; mov        si, BufferStartLocation\r
-    db 66h,  8Bh, 1Ch                   ; mov        ebx,dword ptr [si]\r
+    db 66h,  8Bh, 1Ch                   ; mov        ebx, dword ptr [si]\r
 \r
-    db 0BFh                             ; opcode of mov di, mem16\r
-    dw PmodeOffsetLocation              ; mov        di, PmodeOffsetLocation\r
-    db 66h,  8Bh, 05h                   ; mov        eax,dword ptr [di]\r
-    db 8Bh,  0F8h                       ; mov        di, ax\r
-    db 83h,  0EFh,06h                   ; sub        di, 06h\r
-    db 66h,  03h, 0C3h                  ; add        eax, ebx\r
-    db 66h,  89h, 05h                   ; mov        dword ptr [di],eax\r
+    db 0BEh                             ; opcode of mov si, mem16\r
+    dw PmodeOffsetLocation              ; mov        si,  PmodeOffsetLocation\r
+    db 66h,  8Bh,  04h                  ; mov        eax, [si]\r
+    db 0BEh                             ; opcode of mov si, mem16\r
+    dw CodeSegmentLocation              ; mov        si,  CodeSegmentLocation\r
+    db 66h,  8Bh,  14h                  ; mov        edx, [si]\r
+    db 89h, 0C7h                        ; mov        di,  ax\r
+    db 83h, 0EFh,  02h                  ; sub        di,  02h\r
+    db 89h,  15h                        ; mov        [di], dx\r
+    db 83h, 0EFh,  04h                  ; sub        di,  04h\r
+    db 66h,  01h, 0D8h                  ; add        eax, ebx\r
+    db 66h,  89h,  05h                  ; mov        [di], eax\r
+\r
+    db 0BEh                             ; opcode of mov si, mem16\r
+    dw DataSegmentLocation              ; mov        si,  DataSegmentLocation\r
+    db 66h,  8Bh,  14h                  ; mov        edx, [si]\r
 \r
     db 0BEh                             ; opcode of mov si, mem16\r
     dw GdtrLocation                     ; mov        si, GdtrLocation\r
@@ -78,15 +87,14 @@ RendezvousFunnelProcStart::
 \r
     db 66h,  67h, 0EAh                  ; far jump\r
     dd 0h                               ; 32-bit offset\r
-    dw PROTECT_MODE_CS                  ; 16-bit selector\r
+    dw 0h                               ; 16-bit selector\r
 \r
 Flat32Start::                           ; protected mode entry point\r
-    mov        ax, PROTECT_MODE_DS\r
-    mov        ds, ax\r
-    mov        es, ax\r
-    mov        fs, ax\r
-    mov        gs, ax\r
-    mov        ss, ax\r
+    mov        ds, dx\r
+    mov        es, dx\r
+    mov        fs, dx\r
+    mov        gs, dx\r
+    mov        ss, dx\r
 \r
     mov        esi, ebx\r
     mov        edi, esi\r
@@ -144,12 +152,6 @@ CProcedureInvoke:
 RendezvousFunnelProc   ENDP\r
 RendezvousFunnelProcEnd::\r
 \r
-AsmCliHltLoop PROC near C PUBLIC\r
-    cli\r
-    hlt\r
-    jmp        $-2\r
-AsmCliHltLoop ENDP\r
-\r
 ;-------------------------------------------------------------------------------------\r
 ;  AsmGetAddressMap (&AddressMap);\r
 ;-------------------------------------------------------------------------------------\r
@@ -246,31 +248,4 @@ OtherLoaded:
     ret\r
 AsmExchangeRole   ENDP\r
 \r
-AsmInitializeGdt   PROC  near C  PUBLIC\r
-  push         ebp\r
-  mov          ebp, esp\r
-  pushad\r
-  mov          edi, [ebp + 8]      ; Load GDT register\r
-\r
-  mov          ax,cs               ; Get the selector data from our code image\r
-  mov          es,ax\r
-  lgdt         FWORD PTR es:[edi]  ; and update the GDTR\r
-\r
-  push         PROTECT_MODE_CS\r
-  lea          eax, SetCodeSelectorFarJump\r
-  push         eax\r
-  retf\r
-SetCodeSelectorFarJump:\r
-  mov          ax, PROTECT_MODE_DS ; Update the Base for the new selectors, too\r
-  mov          ds, ax\r
-  mov          es, ax\r
-  mov          fs, ax\r
-  mov          gs, ax\r
-  mov          ss, ax\r
-\r
-  popad\r
-  pop          ebp\r
-  ret\r
-AsmInitializeGdt  ENDP\r
-\r
 END\r