]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.nasm
BaseTools/Capsule: Do not support -o with --dump-info
[mirror_edk2.git] / UefiCpuPkg / PiSmmCpuDxeSmm / X64 / MpFuncs.nasm
index 702233d6e49d14b1ab074d66ea7512915eb25f35..704942ec276b2c86d1c372de14c960de9326597b 100644 (file)
@@ -1,5 +1,5 @@
 ;------------------------------------------------------------------------------ ;\r
-; Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
+; Copyright (c) 2016 - 2018, 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
@@ -18,8 +18,6 @@
 ;\r
 ;-------------------------------------------------------------------------------\r
 \r
-extern ASM_PFX(InitializeFloatingPointUnits)\r
-\r
 %define VacantFlag 0x0\r
 %define NotVacantFlag 0xff\r
 \r
@@ -31,6 +29,7 @@ extern ASM_PFX(InitializeFloatingPointUnits)
 %define IdtrLocation LockLocation + 0x2A\r
 %define BufferStartLocation LockLocation + 0x34\r
 %define Cr3OffsetLocation LockLocation + 0x38\r
+%define InitializeFloatingPointUnitsAddress LockLocation + 0x3C\r
 \r
 ;-------------------------------------------------------------------------------------\r
 ;RendezvousFunnelProc  procedure follows. All APs execute their procedure. This\r
@@ -153,7 +152,7 @@ Releaselock:
         ;\r
         ; Call assembly function to initialize FPU.\r
         ;\r
-        mov         rax, ASM_PFX(InitializeFloatingPointUnits)\r
+        mov         rax, qword [esi + InitializeFloatingPointUnitsAddress]\r
         sub         rsp, 0x20\r
         call        rax\r
         add         rsp, 0x20\r
@@ -185,7 +184,7 @@ RendezvousFunnelProcEnd:
 ; comments here for definition of address map\r
 global ASM_PFX(AsmGetAddressMap)\r
 ASM_PFX(AsmGetAddressMap):\r
-        mov         rax, RendezvousFunnelProcStart\r
+        lea         rax, [RendezvousFunnelProcStart]\r
         mov         qword [rcx], rax\r
         mov         qword [rcx+0x8], PMODE_ENTRY - RendezvousFunnelProcStart\r
         mov         qword [rcx+0x10], FLAT32_JUMP - RendezvousFunnelProcStart\r