From 6c128c65b5ec0e5b8b5a0ccb165f3afd29e485f8 Mon Sep 17 00:00:00 2001 From: Guo Mang Date: Wed, 2 Aug 2017 09:54:47 +0800 Subject: Remove core packages since we can get them from edk2 repository Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang --- .../Vtf0/Bin/ResetVector.ia32.port80.raw | Bin 516 -> 0 bytes .../ResetVector/Vtf0/Bin/ResetVector.ia32.raw | Bin 484 -> 0 bytes .../Vtf0/Bin/ResetVector.ia32.serial.raw | Bin 884 -> 0 bytes UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf | 36 ---- UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.uni | Bin 1510 -> 0 bytes .../Vtf0/Bin/ResetVector.x64.port80.raw | Bin 28676 -> 0 bytes .../ResetVector/Vtf0/Bin/ResetVector.x64.raw | Bin 28676 -> 0 bytes .../Vtf0/Bin/ResetVector.x64.serial.raw | Bin 28676 -> 0 bytes .../ResetVector/Vtf0/Bin/ResetVectorExtra.uni | Bin 1310 -> 0 bytes UefiCpuPkg/ResetVector/Vtf0/Build.py | 53 ------ UefiCpuPkg/ResetVector/Vtf0/CommonMacros.inc | 31 ---- UefiCpuPkg/ResetVector/Vtf0/DebugDisabled.asm | 26 --- UefiCpuPkg/ResetVector/Vtf0/Ia16/Init16.asm | 48 ----- .../ResetVector/Vtf0/Ia16/Real16ToFlat32.asm | 133 -------------- .../ResetVector/Vtf0/Ia16/ResetVectorVtf0.asm | 71 -------- .../ResetVector/Vtf0/Ia32/Flat32ToFlat64.asm | 45 ----- UefiCpuPkg/ResetVector/Vtf0/Ia32/PageTables64.asm | 30 ---- .../ResetVector/Vtf0/Ia32/SearchForBfvBase.asm | 86 --------- .../ResetVector/Vtf0/Ia32/SearchForSecEntry.asm | 200 --------------------- UefiCpuPkg/ResetVector/Vtf0/Main.asm | 106 ----------- UefiCpuPkg/ResetVector/Vtf0/Port80Debug.asm | 28 --- UefiCpuPkg/ResetVector/Vtf0/PostCodes.inc | 25 --- UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt | 41 ----- UefiCpuPkg/ResetVector/Vtf0/ResetVector.uni | Bin 1454 -> 0 bytes UefiCpuPkg/ResetVector/Vtf0/ResetVectorExtra.uni | Bin 1310 -> 0 bytes UefiCpuPkg/ResetVector/Vtf0/SerialDebug.asm | 132 -------------- .../ResetVector/Vtf0/Tools/FixupForRawSection.py | 26 --- UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf | 36 ---- UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb | 70 -------- UefiCpuPkg/ResetVector/Vtf0/X64/PageTables.asm | 78 -------- 30 files changed, 1301 deletions(-) delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.port80.raw delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.serial.raw delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.uni delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.port80.raw delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.raw delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.raw delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVectorExtra.uni delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Build.py delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/CommonMacros.inc delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/DebugDisabled.asm delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Ia16/Init16.asm delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Ia16/Real16ToFlat32.asm delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Ia16/ResetVectorVtf0.asm delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Ia32/Flat32ToFlat64.asm delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Ia32/PageTables64.asm delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForBfvBase.asm delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForSecEntry.asm delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Main.asm delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Port80Debug.asm delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/PostCodes.inc delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/ResetVector.uni delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/ResetVectorExtra.uni delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/SerialDebug.asm delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb delete mode 100644 UefiCpuPkg/ResetVector/Vtf0/X64/PageTables.asm (limited to 'UefiCpuPkg/ResetVector/Vtf0') diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.port80.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.port80.raw deleted file mode 100644 index 2c6ff655de..0000000000 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.port80.raw and /dev/null differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw deleted file mode 100644 index e34780a3a2..0000000000 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw and /dev/null differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.serial.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.serial.raw deleted file mode 100644 index 6dfa68eabb..0000000000 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.serial.raw and /dev/null differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf deleted file mode 100644 index 72abd6e91c..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf +++ /dev/null @@ -1,36 +0,0 @@ -## @file -# Reset Vector binary -# -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -## - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = ResetVector - MODULE_UNI_FILE = ResetVector.uni - FILE_GUID = 1BA0062E-C779-4582-8566-336AE8F78F09 - MODULE_TYPE = SEC - VERSION_STRING = 1.1 - -# -# The following information is for reference only and not required by the build tools. -# -# VALID_ARCHITECTURES = IA32 X64 -# - -[Binaries.Ia32] - RAW|ResetVector.ia32.raw|* - -[Binaries.X64] - RAW|ResetVector.x64.raw|* - -[UserExtensions.TianoCore."ExtraFiles"] - ResetVectorExtra.uni diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.uni b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.uni deleted file mode 100644 index 0773173b2c..0000000000 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.uni and /dev/null differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.port80.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.port80.raw deleted file mode 100644 index 6c0bcc47eb..0000000000 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.port80.raw and /dev/null differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.raw deleted file mode 100644 index a78d5b407c..0000000000 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.raw and /dev/null differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.raw b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.raw deleted file mode 100644 index 61c71349a8..0000000000 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.raw and /dev/null differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVectorExtra.uni b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVectorExtra.uni deleted file mode 100644 index b907f406be..0000000000 Binary files a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVectorExtra.uni and /dev/null differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/Build.py b/UefiCpuPkg/ResetVector/Vtf0/Build.py deleted file mode 100644 index a645c371b9..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Build.py +++ /dev/null @@ -1,53 +0,0 @@ -## @file -# Automate the process of building the various reset vector types -# -# Copyright (c) 2009, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# - -import glob -import os -import subprocess -import sys - -def RunCommand(commandLine): - #print ' '.join(commandLine) - return subprocess.call(commandLine) - -for filename in glob.glob(os.path.join('Bin', '*.raw')): - os.remove(filename) - -for arch in ('ia32', 'x64'): - for debugType in (None, 'port80', 'serial'): - output = os.path.join('Bin', 'ResetVector') - output += '.' + arch - if debugType is not None: - output += '.' + debugType - output += '.raw' - commandLine = ( - 'nasm', - '-D', 'ARCH_%s' % arch.upper(), - '-D', 'DEBUG_%s' % str(debugType).upper(), - '-o', output, - 'Vtf0.nasmb', - ) - ret = RunCommand(commandLine) - print '\tASM\t' + output - if ret != 0: sys.exit(ret) - - commandLine = ( - 'python', - 'Tools/FixupForRawSection.py', - output, - ) - print '\tFIXUP\t' + output - ret = RunCommand(commandLine) - if ret != 0: sys.exit(ret) - diff --git a/UefiCpuPkg/ResetVector/Vtf0/CommonMacros.inc b/UefiCpuPkg/ResetVector/Vtf0/CommonMacros.inc deleted file mode 100644 index b46da27686..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/CommonMacros.inc +++ /dev/null @@ -1,31 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; Common macros used in the ResetVector VTF module. -; -; Copyright (c) 2008, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -%define ADDR16_OF(x) (0x10000 - fourGigabytes + x) -%define ADDR_OF(x) (0x100000000 - fourGigabytes + x) - -%macro OneTimeCall 1 - jmp %1 -%1 %+ OneTimerCallReturn: -%endmacro - -%macro OneTimeCallRet 1 - jmp %1 %+ OneTimerCallReturn -%endmacro - -StartOfResetVectorCode: - -%define ADDR_OF_START_OF_RESET_CODE ADDR_OF(StartOfResetVectorCode) - diff --git a/UefiCpuPkg/ResetVector/Vtf0/DebugDisabled.asm b/UefiCpuPkg/ResetVector/Vtf0/DebugDisabled.asm deleted file mode 100644 index 883cef03e0..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/DebugDisabled.asm +++ /dev/null @@ -1,26 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; Debug disabled -; -; Copyright (c) 2009, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -BITS 16 - -%macro debugInitialize 0 - ; - ; No initialization is required - ; -%endmacro - -%macro debugShowPostCode 1 -%endmacro - diff --git a/UefiCpuPkg/ResetVector/Vtf0/Ia16/Init16.asm b/UefiCpuPkg/ResetVector/Vtf0/Ia16/Init16.asm deleted file mode 100644 index 226c49f220..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Ia16/Init16.asm +++ /dev/null @@ -1,48 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; 16-bit initialization code -; -; Copyright (c) 2008 - 2009, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - - -BITS 16 - -; -; @param[out] DI 'BP' to indicate boot-strap processor -; -EarlyBspInitReal16: - mov di, 'BP' - jmp short Main16 - -; -; @param[out] DI 'AP' to indicate application processor -; -EarlyApInitReal16: - mov di, 'AP' - jmp short Main16 - -; -; Modified: EAX -; -; @param[in] EAX Initial value of the EAX register (BIST: Built-in Self Test) -; @param[out] ESP Initial value of the EAX register (BIST: Built-in Self Test) -; -EarlyInit16: - ; - ; ESP - Initial value of the EAX register (BIST: Built-in Self Test) - ; - mov esp, eax - - debugInitialize - - OneTimeCallRet EarlyInit16 - diff --git a/UefiCpuPkg/ResetVector/Vtf0/Ia16/Real16ToFlat32.asm b/UefiCpuPkg/ResetVector/Vtf0/Ia16/Real16ToFlat32.asm deleted file mode 100644 index 146df600a6..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Ia16/Real16ToFlat32.asm +++ /dev/null @@ -1,133 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; Transition from 16 bit real mode into 32 bit flat protected mode -; -; Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -%define SEC_DEFAULT_CR0 0x40000023 -%define SEC_DEFAULT_CR4 0x640 - -BITS 16 - -; -; Modified: EAX, EBX -; -TransitionFromReal16To32BitFlat: - - debugShowPostCode POSTCODE_16BIT_MODE - - cli - - mov bx, 0xf000 - mov ds, bx - - mov bx, ADDR16_OF(gdtr) - -o32 lgdt [cs:bx] - - mov eax, SEC_DEFAULT_CR0 - mov cr0, eax - - jmp LINEAR_CODE_SEL:dword ADDR_OF(jumpTo32BitAndLandHere) -BITS 32 -jumpTo32BitAndLandHere: - - mov eax, SEC_DEFAULT_CR4 - mov cr4, eax - - debugShowPostCode POSTCODE_32BIT_MODE - - mov ax, LINEAR_SEL - mov ds, ax - mov es, ax - mov fs, ax - mov gs, ax - mov ss, ax - - OneTimeCallRet TransitionFromReal16To32BitFlat - -ALIGN 2 - -gdtr: - dw GDT_END - GDT_BASE - 1 ; GDT limit - dd ADDR_OF(GDT_BASE) - -ALIGN 16 - -; -; Macros for GDT entries -; - -%define PRESENT_FLAG(p) (p << 7) -%define DPL(dpl) (dpl << 5) -%define SYSTEM_FLAG(s) (s << 4) -%define DESC_TYPE(t) (t) - -; Type: data, expand-up, writable, accessed -%define DATA32_TYPE 3 - -; Type: execute, readable, expand-up, accessed -%define CODE32_TYPE 0xb - -; Type: execute, readable, expand-up, accessed -%define CODE64_TYPE 0xb - -%define GRANULARITY_FLAG(g) (g << 7) -%define DEFAULT_SIZE32(d) (d << 6) -%define CODE64_FLAG(l) (l << 5) -%define UPPER_LIMIT(l) (l) - -; -; The Global Descriptor Table (GDT) -; - -GDT_BASE: -; null descriptor -NULL_SEL equ $-GDT_BASE - DW 0 ; limit 15:0 - DW 0 ; base 15:0 - DB 0 ; base 23:16 - DB 0 ; sys flag, dpl, type - DB 0 ; limit 19:16, flags - DB 0 ; base 31:24 - -; linear data segment descriptor -LINEAR_SEL equ $-GDT_BASE - DW 0xffff ; limit 15:0 - DW 0 ; base 15:0 - DB 0 ; base 23:16 - DB PRESENT_FLAG(1)|DPL(0)|SYSTEM_FLAG(1)|DESC_TYPE(DATA32_TYPE) - DB GRANULARITY_FLAG(1)|DEFAULT_SIZE32(1)|CODE64_FLAG(0)|UPPER_LIMIT(0xf) - DB 0 ; base 31:24 - -; linear code segment descriptor -LINEAR_CODE_SEL equ $-GDT_BASE - DW 0xffff ; limit 15:0 - DW 0 ; base 15:0 - DB 0 ; base 23:16 - DB PRESENT_FLAG(1)|DPL(0)|SYSTEM_FLAG(1)|DESC_TYPE(CODE32_TYPE) - DB GRANULARITY_FLAG(1)|DEFAULT_SIZE32(1)|CODE64_FLAG(0)|UPPER_LIMIT(0xf) - DB 0 ; base 31:24 - -%ifdef ARCH_X64 -; linear code (64-bit) segment descriptor -LINEAR_CODE64_SEL equ $-GDT_BASE - DW 0xffff ; limit 15:0 - DW 0 ; base 15:0 - DB 0 ; base 23:16 - DB PRESENT_FLAG(1)|DPL(0)|SYSTEM_FLAG(1)|DESC_TYPE(CODE64_TYPE) - DB GRANULARITY_FLAG(1)|DEFAULT_SIZE32(0)|CODE64_FLAG(1)|UPPER_LIMIT(0xf) - DB 0 ; base 31:24 -%endif - -GDT_END: - diff --git a/UefiCpuPkg/ResetVector/Vtf0/Ia16/ResetVectorVtf0.asm b/UefiCpuPkg/ResetVector/Vtf0/Ia16/ResetVectorVtf0.asm deleted file mode 100644 index 142d9f3212..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Ia16/ResetVectorVtf0.asm +++ /dev/null @@ -1,71 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; First code executed by processor after resetting. -; -; Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -BITS 16 - -ALIGN 16 - -; -; Pad the image size to 4k when page tables are in VTF0 -; -; If the VTF0 image has page tables built in, then we need to make -; sure the end of VTF0 is 4k above where the page tables end. -; -; This is required so the page tables will be 4k aligned when VTF0 is -; located just below 0x100000000 (4GB) in the firmware device. -; -%ifdef ALIGN_TOP_TO_4K_FOR_PAGING - TIMES (0x1000 - ($ - EndOfPageTables) - 0x20) DB 0 -%endif - -applicationProcessorEntryPoint: -; -; Application Processors entry point -; -; GenFv generates code aligned on a 4k boundary which will jump to this -; location. (0xffffffe0) This allows the Local APIC Startup IPI to be -; used to wake up the application processors. -; - jmp EarlyApInitReal16 - -ALIGN 8 - - DD 0 - -; -; The VTF signature -; -; VTF-0 means that the VTF (Volume Top File) code does not require -; any fixups. -; -vtfSignature: - DB 'V', 'T', 'F', 0 - -ALIGN 16 - -resetVector: -; -; Reset Vector -; -; This is where the processor will begin execution -; - nop - nop - jmp EarlyBspInitReal16 - -ALIGN 16 - -fourGigabytes: - diff --git a/UefiCpuPkg/ResetVector/Vtf0/Ia32/Flat32ToFlat64.asm b/UefiCpuPkg/ResetVector/Vtf0/Ia32/Flat32ToFlat64.asm deleted file mode 100644 index 62e71da3d5..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Ia32/Flat32ToFlat64.asm +++ /dev/null @@ -1,45 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; Transition from 32 bit flat protected mode into 64 bit flat protected mode -; -; Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -BITS 32 - -; -; Modified: EAX -; -Transition32FlatTo64Flat: - - OneTimeCall SetCr3ForPageTables64 - - mov eax, cr4 - bts eax, 5 ; enable PAE - mov cr4, eax - - mov ecx, 0xc0000080 - rdmsr - bts eax, 8 ; set LME - wrmsr - - mov eax, cr0 - bts eax, 31 ; set PG - mov cr0, eax ; enable paging - - jmp LINEAR_CODE64_SEL:ADDR_OF(jumpTo64BitAndLandHere) -BITS 64 -jumpTo64BitAndLandHere: - - debugShowPostCode POSTCODE_64BIT_MODE - - OneTimeCallRet Transition32FlatTo64Flat - diff --git a/UefiCpuPkg/ResetVector/Vtf0/Ia32/PageTables64.asm b/UefiCpuPkg/ResetVector/Vtf0/Ia32/PageTables64.asm deleted file mode 100644 index 2e16e71f6a..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Ia32/PageTables64.asm +++ /dev/null @@ -1,30 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; Sets the CR3 register for 64-bit paging -; -; Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -BITS 32 - -; -; Modified: EAX -; -SetCr3ForPageTables64: - - ; - ; These pages are built into the ROM image in X64/PageTables.asm - ; - mov eax, ADDR_OF(TopLevelPageDirectory) - mov cr3, eax - - OneTimeCallRet SetCr3ForPageTables64 - diff --git a/UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForBfvBase.asm b/UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForBfvBase.asm deleted file mode 100644 index d0c2d8c39c..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForBfvBase.asm +++ /dev/null @@ -1,86 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; Search for the Boot Firmware Volume (BFV) base address -; -; Copyright (c) 2008 - 2009, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -;#define EFI_FIRMWARE_FILE_SYSTEM2_GUID \ -; { 0x8c8ce578, 0x8a3d, 0x4f1c, { 0x99, 0x35, 0x89, 0x61, 0x85, 0xc3, 0x2d, 0xd3 } } -%define FFS_GUID_DWORD0 0x8c8ce578 -%define FFS_GUID_DWORD1 0x4f1c8a3d -%define FFS_GUID_DWORD2 0x61893599 -%define FFS_GUID_DWORD3 0xd32dc385 - -BITS 32 - -; -; Modified: EAX, EBX -; Preserved: EDI, ESP -; -; @param[out] EBP Address of Boot Firmware Volume (BFV) -; -Flat32SearchForBfvBase: - - xor eax, eax -searchingForBfvHeaderLoop: - ; - ; We check for a firmware volume at every 4KB address in the top 16MB - ; just below 4GB. (Addresses at 0xffHHH000 where H is any hex digit.) - ; - sub eax, 0x1000 - cmp eax, 0xff000000 - jb searchedForBfvHeaderButNotFound - - ; - ; Check FFS GUID - ; - cmp dword [eax + 0x10], FFS_GUID_DWORD0 - jne searchingForBfvHeaderLoop - cmp dword [eax + 0x14], FFS_GUID_DWORD1 - jne searchingForBfvHeaderLoop - cmp dword [eax + 0x18], FFS_GUID_DWORD2 - jne searchingForBfvHeaderLoop - cmp dword [eax + 0x1c], FFS_GUID_DWORD3 - jne searchingForBfvHeaderLoop - - ; - ; Check FV Length - ; - cmp dword [eax + 0x24], 0 - jne searchingForBfvHeaderLoop - mov ebx, eax - add ebx, dword [eax + 0x20] - jnz searchingForBfvHeaderLoop - - jmp searchedForBfvHeaderAndItWasFound - -searchedForBfvHeaderButNotFound: - ; - ; Hang if the SEC entry point was not found - ; - debugShowPostCode POSTCODE_BFV_NOT_FOUND - - ; - ; 0xbfbfbfbf in the EAX & EBP registers helps signal what failed - ; for debugging purposes. - ; - mov eax, 0xBFBFBFBF - mov ebp, eax - jmp $ - -searchedForBfvHeaderAndItWasFound: - mov ebp, eax - - debugShowPostCode POSTCODE_BFV_FOUND - - OneTimeCallRet Flat32SearchForBfvBase - diff --git a/UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForSecEntry.asm b/UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForSecEntry.asm deleted file mode 100644 index 6206b44485..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForSecEntry.asm +++ /dev/null @@ -1,200 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; Search for the SEC Core entry point -; -; Copyright (c) 2008 - 2011, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -BITS 32 - -%define EFI_FV_FILETYPE_SECURITY_CORE 0x03 - -; -; Modified: EAX, EBX, ECX, EDX -; Preserved: EDI, EBP, ESP -; -; @param[in] EBP Address of Boot Firmware Volume (BFV) -; @param[out] ESI SEC Core Entry Point Address -; -Flat32SearchForSecEntryPoint: - - ; - ; Initialize EBP and ESI to 0 - ; - xor ebx, ebx - mov esi, ebx - - ; - ; Pass over the BFV header - ; - mov eax, ebp - mov bx, [ebp + 0x30] - add eax, ebx - jc secEntryPointWasNotFound - - jmp searchingForFfsFileHeaderLoop - -moveForwardWhileSearchingForFfsFileHeaderLoop: - ; - ; Make forward progress in the search - ; - inc eax - jc secEntryPointWasNotFound - -searchingForFfsFileHeaderLoop: - test eax, eax - jz secEntryPointWasNotFound - - ; - ; Ensure 8 byte alignment - ; - add eax, 7 - jc secEntryPointWasNotFound - and al, 0xf8 - - ; - ; Look to see if there is an FFS file at eax - ; - mov bl, [eax + 0x17] - test bl, 0x20 - jz moveForwardWhileSearchingForFfsFileHeaderLoop - mov ecx, [eax + 0x14] - and ecx, 0x00ffffff - or ecx, ecx - jz moveForwardWhileSearchingForFfsFileHeaderLoop - add ecx, eax - jz jumpSinceWeFoundTheLastFfsFile - jc moveForwardWhileSearchingForFfsFileHeaderLoop -jumpSinceWeFoundTheLastFfsFile: - - ; - ; There seems to be a valid file at eax - ; - cmp byte [eax + 0x12], EFI_FV_FILETYPE_SECURITY_CORE ; Check File Type - jne readyToTryFfsFileAtEcx - -fileTypeIsSecCore: - OneTimeCall GetEntryPointOfFfsFile - test eax, eax - jnz doneSeachingForSecEntryPoint - -readyToTryFfsFileAtEcx: - ; - ; Try the next FFS file at ECX - ; - mov eax, ecx - jmp searchingForFfsFileHeaderLoop - -secEntryPointWasNotFound: - xor eax, eax - -doneSeachingForSecEntryPoint: - mov esi, eax - - test esi, esi - jnz secCoreEntryPointWasFound - -secCoreEntryPointWasNotFound: - ; - ; Hang if the SEC entry point was not found - ; - debugShowPostCode POSTCODE_SEC_NOT_FOUND - jz $ - -secCoreEntryPointWasFound: - debugShowPostCode POSTCODE_SEC_FOUND - - OneTimeCallRet Flat32SearchForSecEntryPoint - -%define EFI_SECTION_PE32 0x10 -%define EFI_SECTION_TE 0x12 - -; -; Input: -; EAX - Start of FFS file -; ECX - End of FFS file -; -; Output: -; EAX - Entry point of PE32 (or 0 if not found) -; -; Modified: -; EBX -; -GetEntryPointOfFfsFile: - test eax, eax - jz getEntryPointOfFfsFileErrorReturn - add eax, 0x18 ; EAX = Start of section - -getEntryPointOfFfsFileLoopForSections: - cmp eax, ecx - jae getEntryPointOfFfsFileErrorReturn - - cmp byte [eax + 3], EFI_SECTION_PE32 - je getEntryPointOfFfsFileFoundPe32Section - - cmp byte [eax + 3], EFI_SECTION_TE - je getEntryPointOfFfsFileFoundTeSection - - ; - ; The section type was not PE32 or TE, so move to next section - ; - mov ebx, dword [eax] - and ebx, 0x00ffffff - add eax, ebx - jc getEntryPointOfFfsFileErrorReturn - - ; - ; Ensure that FFS section is 32-bit aligned - ; - add eax, 3 - jc getEntryPointOfFfsFileErrorReturn - and al, 0xfc - jmp getEntryPointOfFfsFileLoopForSections - -getEntryPointOfFfsFileFoundPe32Section: - add eax, 4 ; EAX = Start of PE32 image - - cmp word [eax], 'MZ' - jne getEntryPointOfFfsFileErrorReturn - movzx ebx, word [eax + 0x3c] - add ebx, eax - - ; if (Hdr.Pe32->Signature == EFI_IMAGE_NT_SIGNATURE) - cmp dword [ebx], `PE\x00\x00` - jne getEntryPointOfFfsFileErrorReturn - - ; *EntryPoint = (VOID *)((UINTN)Pe32Data + - ; (UINTN)(Hdr.Pe32->OptionalHeader.AddressOfEntryPoint & 0x0ffffffff)); - add eax, [ebx + 0x4 + 0x14 + 0x10] - jmp getEntryPointOfFfsFileReturn - -getEntryPointOfFfsFileFoundTeSection: - add eax, 4 ; EAX = Start of TE image - mov ebx, eax - - ; if (Hdr.Te->Signature == EFI_TE_IMAGE_HEADER_SIGNATURE) - cmp word [ebx], 'VZ' - jne getEntryPointOfFfsFileErrorReturn - ; *EntryPoint = (VOID *)((UINTN)Pe32Data + - ; (UINTN)(Hdr.Te->AddressOfEntryPoint & 0x0ffffffff) + - ; sizeof(EFI_TE_IMAGE_HEADER) - Hdr.Te->StrippedSize); - add eax, [ebx + 0x8] - add eax, 0x28 - movzx ebx, word [ebx + 0x6] - sub eax, ebx - jmp getEntryPointOfFfsFileReturn - -getEntryPointOfFfsFileErrorReturn: - mov eax, 0 - -getEntryPointOfFfsFileReturn: - OneTimeCallRet GetEntryPointOfFfsFile - diff --git a/UefiCpuPkg/ResetVector/Vtf0/Main.asm b/UefiCpuPkg/ResetVector/Vtf0/Main.asm deleted file mode 100644 index ebfb9015d4..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Main.asm +++ /dev/null @@ -1,106 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; Main routine of the pre-SEC code up through the jump into SEC -; -; Copyright (c) 2008 - 2009, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - - -BITS 16 - -; -; Modified: EBX, ECX, EDX, EBP -; -; @param[in,out] RAX/EAX Initial value of the EAX register -; (BIST: Built-in Self Test) -; @param[in,out] DI 'BP': boot-strap processor, or -; 'AP': application processor -; @param[out] RBP/EBP Address of Boot Firmware Volume (BFV) -; -; @return None This routine jumps to SEC and does not return -; -Main16: - OneTimeCall EarlyInit16 - - ; - ; Transition the processor from 16-bit real mode to 32-bit flat mode - ; - OneTimeCall TransitionFromReal16To32BitFlat - -BITS 32 - - ; - ; Search for the Boot Firmware Volume (BFV) - ; - OneTimeCall Flat32SearchForBfvBase - - ; - ; EBP - Start of BFV - ; - - ; - ; Search for the SEC entry point - ; - OneTimeCall Flat32SearchForSecEntryPoint - - ; - ; ESI - SEC Core entry point - ; EBP - Start of BFV - ; - -%ifdef ARCH_IA32 - - ; - ; Restore initial EAX value into the EAX register - ; - mov eax, esp - - ; - ; Jump to the 32-bit SEC entry point - ; - jmp esi - -%else - - ; - ; Transition the processor from 32-bit flat mode to 64-bit flat mode - ; - OneTimeCall Transition32FlatTo64Flat - -BITS 64 - - ; - ; Some values were calculated in 32-bit mode. Make sure the upper - ; 32-bits of 64-bit registers are zero for these values. - ; - mov rax, 0x00000000ffffffff - and rsi, rax - and rbp, rax - and rsp, rax - - ; - ; RSI - SEC Core entry point - ; RBP - Start of BFV - ; - - ; - ; Restore initial EAX value into the RAX register - ; - mov rax, rsp - - ; - ; Jump to the 64-bit SEC entry point - ; - jmp rsi - -%endif - - diff --git a/UefiCpuPkg/ResetVector/Vtf0/Port80Debug.asm b/UefiCpuPkg/ResetVector/Vtf0/Port80Debug.asm deleted file mode 100644 index 4b13c4860b..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Port80Debug.asm +++ /dev/null @@ -1,28 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; Port 0x80 debug support macros -; -; Copyright (c) 2009, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -BITS 16 - -%macro debugInitialize 0 - ; - ; No initialization is required - ; -%endmacro - -%macro debugShowPostCode 1 - mov al, %1 - out 0x80, al -%endmacro - diff --git a/UefiCpuPkg/ResetVector/Vtf0/PostCodes.inc b/UefiCpuPkg/ResetVector/Vtf0/PostCodes.inc deleted file mode 100644 index 62eda5d992..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/PostCodes.inc +++ /dev/null @@ -1,25 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; Definitions of POST CODES for the reset vector module -; -; Copyright (c) 2009, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -%define POSTCODE_16BIT_MODE 0x16 -%define POSTCODE_32BIT_MODE 0x32 -%define POSTCODE_64BIT_MODE 0x64 - -%define POSTCODE_BFV_NOT_FOUND 0xb0 -%define POSTCODE_BFV_FOUND 0xb1 - -%define POSTCODE_SEC_NOT_FOUND 0xf0 -%define POSTCODE_SEC_FOUND 0xf1 - diff --git a/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt b/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt deleted file mode 100644 index e6e5b54243..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt +++ /dev/null @@ -1,41 +0,0 @@ - -=== HOW TO USE VTF0 === - -Add this line to your FDF FV section: -INF RuleOverride=RESET_VECTOR USE = IA32 UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf -(For X64 SEC/PEI change IA32 to X64 => 'USE = X64') - -In your FDF FFS file rules sections add: -[Rule.Common.SEC.RESET_VECTOR] - FILE RAW = $(NAMED_GUID) { - RAW RAW |.raw - } - -=== VTF0 Boot Flow === - -1. Transition to IA32 flat mode -2. Locate BFV (Boot Firmware Volume) by checking every 4kb boundary -3. Locate SEC image -4. X64 VTF0 transitions to X64 mode -5. Call SEC image entry point - -== VTF0 SEC input parameters == - -All inputs to SEC image are register based: -EAX/RAX - Initial value of the EAX register (BIST: Built-in Self Test) -DI - 'BP': boot-strap processor, or 'AP': application processor -EBP/RBP - Pointer to the start of the Boot Firmware Volume - -=== HOW TO BUILD VTF0 === - -Dependencies: -* Python 2.5~2.7 -* Nasm 2.03 or newer - -To rebuild the VTF0 binaries: -1. Change to VTF0 source dir: UefiCpuPkg/ResetVector/Vtf0 -2. nasm and python should be in executable path -3. Run this command: - python Build.py -4. Binaries output will be in UefiCpuPkg/ResetVector/Vtf0/Bin - diff --git a/UefiCpuPkg/ResetVector/Vtf0/ResetVector.uni b/UefiCpuPkg/ResetVector/Vtf0/ResetVector.uni deleted file mode 100644 index 591dc29543..0000000000 Binary files a/UefiCpuPkg/ResetVector/Vtf0/ResetVector.uni and /dev/null differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/ResetVectorExtra.uni b/UefiCpuPkg/ResetVector/Vtf0/ResetVectorExtra.uni deleted file mode 100644 index b907f406be..0000000000 Binary files a/UefiCpuPkg/ResetVector/Vtf0/ResetVectorExtra.uni and /dev/null differ diff --git a/UefiCpuPkg/ResetVector/Vtf0/SerialDebug.asm b/UefiCpuPkg/ResetVector/Vtf0/SerialDebug.asm deleted file mode 100644 index ebd0910f4a..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/SerialDebug.asm +++ /dev/null @@ -1,132 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; Serial port debug support macros -; -; Copyright (c) 2008 - 2009, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -;//--------------------------------------------- -;// UART Register Offsets -;//--------------------------------------------- -%define BAUD_LOW_OFFSET 0x00 -%define BAUD_HIGH_OFFSET 0x01 -%define IER_OFFSET 0x01 -%define LCR_SHADOW_OFFSET 0x01 -%define FCR_SHADOW_OFFSET 0x02 -%define IR_CONTROL_OFFSET 0x02 -%define FCR_OFFSET 0x02 -%define EIR_OFFSET 0x02 -%define BSR_OFFSET 0x03 -%define LCR_OFFSET 0x03 -%define MCR_OFFSET 0x04 -%define LSR_OFFSET 0x05 -%define MSR_OFFSET 0x06 - -;//--------------------------------------------- -;// UART Register Bit Defines -;//--------------------------------------------- -%define LSR_TXRDY 0x20 -%define LSR_RXDA 0x01 -%define DLAB 0x01 - -; UINT16 gComBase = 0x3f8; -; UINTN gBps = 115200; -; UINT8 gData = 8; -; UINT8 gStop = 1; -; UINT8 gParity = 0; -; UINT8 gBreakSet = 0; - -%define DEFAULT_COM_BASE 0x3f8 -%define DEFAULT_BPS 115200 -%define DEFAULT_DATA 8 -%define DEFAULT_STOP 1 -%define DEFAULT_PARITY 0 -%define DEFAULT_BREAK_SET 0 - -%define SERIAL_DEFAULT_LCR ( \ - (DEFAULT_BREAK_SET << 6) | \ - (DEFAULT_PARITY << 3) | \ - (DEFAULT_STOP << 2) | \ - (DEFAULT_DATA - 5) \ - ) - -%define SERIAL_PORT_IO_BASE_ADDRESS DEFAULT_COM_BASE - -%macro inFromSerialPort 1 - mov dx, (SERIAL_PORT_IO_BASE_ADDRESS + %1) - in al, dx -%endmacro - -%macro waitForSerialTxReady 0 - -%%waitingForTx: - inFromSerialPort LSR_OFFSET - test al, LSR_TXRDY - jz %%waitingForTx - -%endmacro - -%macro outToSerialPort 2 - mov dx, (SERIAL_PORT_IO_BASE_ADDRESS + %1) - mov al, %2 - out dx, al -%endmacro - -%macro debugShowCharacter 1 - waitForSerialTxReady - outToSerialPort 0, %1 -%endmacro - -%macro debugShowHexDigit 1 - %if (%1 < 0xa) - debugShowCharacter BYTE ('0' + (%1)) - %else - debugShowCharacter BYTE ('a' + ((%1) - 0xa)) - %endif -%endmacro - -%macro debugNewline 0 - debugShowCharacter `\r` - debugShowCharacter `\n` -%endmacro - -%macro debugShowPostCode 1 - debugShowHexDigit (((%1) >> 4) & 0xf) - debugShowHexDigit ((%1) & 0xf) - debugNewline -%endmacro - -BITS 16 - -%macro debugInitialize 0 - jmp real16InitDebug -real16InitDebugReturn: -%endmacro - -real16InitDebug: - ; - ; Set communications format - ; - outToSerialPort LCR_OFFSET, ((DLAB << 7) | SERIAL_DEFAULT_LCR) - - ; - ; Configure baud rate - ; - outToSerialPort BAUD_HIGH_OFFSET, ((115200 / DEFAULT_BPS) >> 8) - outToSerialPort BAUD_LOW_OFFSET, ((115200 / DEFAULT_BPS) & 0xff) - - ; - ; Switch back to bank 0 - ; - outToSerialPort LCR_OFFSET, SERIAL_DEFAULT_LCR - - jmp real16InitDebugReturn - diff --git a/UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py b/UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py deleted file mode 100644 index a70ce7501d..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py +++ /dev/null @@ -1,26 +0,0 @@ -## @file -# Apply fixup to VTF binary image for FFS Raw section -# -# Copyright (c) 2008, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# - -import sys - -filename = sys.argv[1] - -d = open(sys.argv[1], 'rb').read() -c = ((len(d) + 4 + 7) & ~7) - 4 -if c > len(d): - c -= len(d) - f = open(sys.argv[1], 'wb') - f.write('\x90' * c) - f.write(d) - f.close() diff --git a/UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf b/UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf deleted file mode 100644 index 41aba45a14..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf +++ /dev/null @@ -1,36 +0,0 @@ -## @file -# Reset Vector -# -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -## - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = ResetVector - FILE_GUID = 1BA0062E-C779-4582-8566-336AE8F78F09 - MODULE_TYPE = SEC - VERSION_STRING = 1.1 - MODULE_UNI_FILE = ResetVector.uni - -# -# The following information is for reference only and not required by the build tools. -# -# VALID_ARCHITECTURES = IA32 X64 -# - -[Sources] - Vtf0.nasmb - -[Packages] - MdePkg/MdePkg.dec - -[UserExtensions.TianoCore."ExtraFiles"] - ResetVectorExtra.uni diff --git a/UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb b/UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb deleted file mode 100644 index f4a29e8d89..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb +++ /dev/null @@ -1,70 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; This file includes all other code files to assemble the reset vector code -; -; Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -; -; If neither ARCH_IA32 nor ARCH_X64 are defined, then try to include -; Base.h to use the C pre-processor to determine the architecture. -; -%ifndef ARCH_IA32 - %ifndef ARCH_X64 - #include - #if defined (MDE_CPU_IA32) - %define ARCH_IA32 - #elif defined (MDE_CPU_X64) - %define ARCH_X64 - #endif - %endif -%endif - -%ifdef ARCH_IA32 - %ifdef ARCH_X64 - %error "Only one of ARCH_IA32 or ARCH_X64 can be defined." - %endif -%elifdef ARCH_X64 -%else - %error "Either ARCH_IA32 or ARCH_X64 must be defined." -%endif - -%include "CommonMacros.inc" - -%include "PostCodes.inc" - -%ifdef ARCH_X64 -%include "X64/PageTables.asm" -%endif - -%ifdef DEBUG_PORT80 - %include "Port80Debug.asm" -%elifdef DEBUG_SERIAL - %include "SerialDebug.asm" -%else - %include "DebugDisabled.asm" -%endif - -%include "Ia32/SearchForBfvBase.asm" -%include "Ia32/SearchForSecEntry.asm" - -%ifdef ARCH_X64 -%include "Ia32/Flat32ToFlat64.asm" -%include "Ia32/PageTables64.asm" -%endif - -%include "Ia16/Real16ToFlat32.asm" -%include "Ia16/Init16.asm" - -%include "Main.asm" - -%include "Ia16/ResetVectorVtf0.asm" - diff --git a/UefiCpuPkg/ResetVector/Vtf0/X64/PageTables.asm b/UefiCpuPkg/ResetVector/Vtf0/X64/PageTables.asm deleted file mode 100644 index 3d703c74f6..0000000000 --- a/UefiCpuPkg/ResetVector/Vtf0/X64/PageTables.asm +++ /dev/null @@ -1,78 +0,0 @@ -;------------------------------------------------------------------------------ -; @file -; Emits Page Tables for 1:1 mapping of the addresses 0 - 0x100000000 (4GB) -; -; Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.
-; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;------------------------------------------------------------------------------ - -BITS 64 - -%define ALIGN_TOP_TO_4K_FOR_PAGING - -%define PAGE_PRESENT 0x01 -%define PAGE_READ_WRITE 0x02 -%define PAGE_USER_SUPERVISOR 0x04 -%define PAGE_WRITE_THROUGH 0x08 -%define PAGE_CACHE_DISABLE 0x010 -%define PAGE_ACCESSED 0x020 -%define PAGE_DIRTY 0x040 -%define PAGE_PAT 0x080 -%define PAGE_GLOBAL 0x0100 -%define PAGE_2M_MBO 0x080 -%define PAGE_2M_PAT 0x01000 - -%define PAGE_2M_PDE_ATTR (PAGE_2M_MBO + \ - PAGE_ACCESSED + \ - PAGE_DIRTY + \ - PAGE_READ_WRITE + \ - PAGE_PRESENT) - -%define PAGE_PDP_ATTR (PAGE_ACCESSED + \ - PAGE_READ_WRITE + \ - PAGE_PRESENT) - -%define PGTBLS_OFFSET(x) ((x) - TopLevelPageDirectory) -%define PGTBLS_ADDR(x) (ADDR_OF(TopLevelPageDirectory) + (x)) - -%define PDP(offset) (ADDR_OF(TopLevelPageDirectory) + (offset) + \ - PAGE_PDP_ATTR) -%define PTE_2MB(x) ((x << 21) + PAGE_2M_PDE_ATTR) - -TopLevelPageDirectory: - - ; - ; Top level Page Directory Pointers (1 * 512GB entry) - ; - DQ PDP(0x1000) - - - ; - ; Next level Page Directory Pointers (4 * 1GB entries => 4GB) - ; - TIMES 0x1000-PGTBLS_OFFSET($) DB 0 - - DQ PDP(0x2000) - DQ PDP(0x3000) - DQ PDP(0x4000) - DQ PDP(0x5000) - - ; - ; Page Table Entries (2048 * 2MB entries => 4GB) - ; - TIMES 0x2000-PGTBLS_OFFSET($) DB 0 - -%assign i 0 -%rep 0x800 - DQ PTE_2MB(i) - %assign i i+1 -%endrep - -EndOfPageTables: -- cgit v1.2.3