diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.port80.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.port80.raw index 23254e83bf..a3601274c2 100644 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.port80.raw and b/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.port80.raw differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.raw index 18562d8f1f..6124f3f9a4 100644 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.raw and b/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.raw differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.serial.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.serial.raw index e4aa4fc30a..48b46e3473 100644 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.serial.raw and b/UefiCpuPkg/ResetVector/Vtf0/Bin/IA32/ResetVector.ia32.serial.raw differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.port80.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.port80.raw index 51ad3ecde0..def0ec856d 100644 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.port80.raw and b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.port80.raw differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.raw index eec88b1c9c..cd65590188 100644 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.raw and b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.raw differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.serial.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.serial.raw index de97b858dd..c1cf994c46 100644 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.serial.raw and b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable1G/ResetVector.x64.serial.raw differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.port80.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.port80.raw index 23c58501b5..0e981675cc 100644 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.port80.raw and b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.port80.raw differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.raw index 3438dabefe..b9f09dd46f 100644 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.raw and b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.raw differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.serial.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.serial.raw index 5ee3012482..a76f8ad124 100644 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.serial.raw and b/UefiCpuPkg/ResetVector/Vtf0/Bin/X64/PageTable2M/ResetVector.x64.serial.raw differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForBfvBase.asm b/UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForBfvBase.asm index 786239325d..60f3f2e0bd 100644 --- a/UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForBfvBase.asm +++ b/UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForBfvBase.asm @@ -2,7 +2,7 @@ ; @file ; Search for the Boot Firmware Volume (BFV) base address ; -; Copyright (c) 2008 - 2009, Intel Corporation. All rights reserved.
+; Copyright (c) 2008 - 2022, Intel Corporation. All rights reserved.
; SPDX-License-Identifier: BSD-2-Clause-Patent ; ;------------------------------------------------------------------------------ @@ -32,7 +32,6 @@ BITS 32 Flat32SearchForBfvBase: xor eax, eax - mov ecx, 3 ; 3: FFS3 GUID, 2: FFS2 GUID, 1: Not Found searchingForBfvHeaderLoop: ; ; We check for a firmware volume at every 4KB address in the top 16MB @@ -40,21 +39,19 @@ searchingForBfvHeaderLoop: ; sub eax, 0x1000 cmp eax, 0xff000000 - jb searchingForBfvWithOtherFfsGuid - cmp ecx, 3 - jne searchingForFfs2Guid + jb searchedForBfvHeaderButNotFound ; ; Check FFS3 GUID ; cmp dword [eax + 0x10], FFS3_GUID_DWORD0 - jne searchingForBfvHeaderLoop + jne searchingForFfs2Guid cmp dword [eax + 0x14], FFS3_GUID_DWORD1 - jne searchingForBfvHeaderLoop + jne searchingForFfs2Guid cmp dword [eax + 0x18], FFS3_GUID_DWORD2 - jne searchingForBfvHeaderLoop + jne searchingForFfs2Guid cmp dword [eax + 0x1c], FFS3_GUID_DWORD3 - jne searchingForBfvHeaderLoop + jne searchingForFfs2Guid jmp checkingFvLength searchingForFfs2Guid: @@ -82,12 +79,6 @@ checkingFvLength: jmp searchedForBfvHeaderAndItWasFound -searchingForBfvWithOtherFfsGuid: - xor eax, eax - dec ecx - cmp ecx, 1 - jne searchingForBfvHeaderLoop - searchedForBfvHeaderButNotFound: ; ; Hang if the SEC entry point was not found