]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFspPkg/FspSecCore/Ia32/FspApiEntry.s
DynamicTablesPkg: GTDT updates for ACPI 6.3
[mirror_edk2.git] / IntelFspPkg / FspSecCore / Ia32 / FspApiEntry.s
index e7b82d5e939c3505254122415b2ea7893e856bef..08fa08f41c2121bdbe766dfde682dc5ca3112bce 100644 (file)
@@ -1,13 +1,7 @@
 #------------------------------------------------------------------------------\r
 #\r
 # Copyright (c) 2014 - 2015, 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
-# http://opensource.org/licenses/bsd-license.php.\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
 #\r
 # Abstract:\r
 #\r
@@ -297,8 +291,8 @@ CheckMainHeader:
    movl   $MSR_IA32_PLATFORM_ID, %ecx\r
    rdmsr\r
    movl   %edx, %ecx\r
-   shrl   $0x12, %ecx                        #($50-$32)\r
-   andl   $0x07, %ecx\r
+   shrl   $0x12, %ecx                        # shift (50d-32d=18d=0x12) bits\r
+   andl   $0x07, %ecx                        # platform id at bit[52..50]\r
    movl   $0x01, %edx\r
    shll   %cl,%edx\r
 \r
@@ -703,9 +697,10 @@ FspApiCommonL0:
   # Verify the calling condition\r
   #\r
   pushal\r
-  pushl   %eax\r
+  pushl   36(%esp)  #push ApiParam  [esp + 4 * 8 + 4]\r
+  pushl   %eax      #push ApiIdx\r
   call    ASM_PFX(FspApiCallingCheck)\r
-  addl    $0x04, %esp\r
+  addl    $0x08, %esp\r
   cmpl    $0x00, %eax\r
   jz      FspApiCommonL1\r
   movl    %eax, 0x1C(%esp)                   # mov    dword ptr [esp + 4 * 7], eax\r
@@ -783,7 +778,7 @@ FspApiCommonL2:
   #\r
   # Pass BFV into the PEI Core\r
   # It uses relative address to calucate the actual boot FV base\r
-  # For FSP impleantion with single FV, PcdFlashFvRecoveryBase and\r
+  # For FSP implementation with single FV, PcdFspBootFirmwareVolumeBase and\r
   # PcdFspAreaBaseAddress are the same. For FSP with mulitple FVs,\r
   # they are different. The code below can handle both cases.\r
   #\r