summaryrefslogtreecommitdiff
path: root/UefiCpuPkg/ResetVector/Vtf0
diff options
context:
space:
mode:
authorGuo Mang <mang.guo@intel.com>2017-08-02 09:54:47 +0800
committerGuo Mang <mang.guo@intel.com>2017-09-05 19:45:08 +0800
commit6c128c65b5ec0e5b8b5a0ccb165f3afd29e485f8 (patch)
tree444372d92a0ae8991fe4d15eb3937df43690dfda /UefiCpuPkg/ResetVector/Vtf0
parentb207c6434d7a5a4502975d322312e07017e8a8cb (diff)
downloadedk2-platforms-6c128c65b5ec0e5b8b5a0ccb165f3afd29e485f8.tar.xz
Remove core packages since we can get them from edk2 repository
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang <mang.guo@intel.com>
Diffstat (limited to 'UefiCpuPkg/ResetVector/Vtf0')
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.port80.rawbin516 -> 0 bytes
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.rawbin484 -> 0 bytes
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.serial.rawbin884 -> 0 bytes
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.inf36
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.unibin1510 -> 0 bytes
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.port80.rawbin28676 -> 0 bytes
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.rawbin28676 -> 0 bytes
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.rawbin28676 -> 0 bytes
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVectorExtra.unibin1310 -> 0 bytes
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Build.py53
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/CommonMacros.inc31
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/DebugDisabled.asm26
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Ia16/Init16.asm48
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Ia16/Real16ToFlat32.asm133
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Ia16/ResetVectorVtf0.asm71
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Ia32/Flat32ToFlat64.asm45
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Ia32/PageTables64.asm30
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForBfvBase.asm86
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Ia32/SearchForSecEntry.asm200
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Main.asm106
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Port80Debug.asm28
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/PostCodes.inc25
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/ReadMe.txt41
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/ResetVector.unibin1454 -> 0 bytes
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/ResetVectorExtra.unibin1310 -> 0 bytes
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/SerialDebug.asm132
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Tools/FixupForRawSection.py26
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Vtf0.inf36
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/Vtf0.nasmb70
-rw-r--r--UefiCpuPkg/ResetVector/Vtf0/X64/PageTables.asm78
30 files changed, 0 insertions, 1301 deletions
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
--- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.port80.raw
+++ /dev/null
Binary files 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
--- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.raw
+++ /dev/null
Binary files 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
--- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.ia32.serial.raw
+++ /dev/null
Binary files 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.<BR>
-#
-# 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
--- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.uni
+++ /dev/null
Binary files 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
--- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.port80.raw
+++ /dev/null
Binary files 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
--- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.raw
+++ /dev/null
Binary files 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
--- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVector.x64.serial.raw
+++ /dev/null
Binary files differ
diff --git a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVectorExtra.uni b/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVectorExtra.uni
deleted file mode 100644
index b907f406be..0000000000
--- a/UefiCpuPkg/ResetVector/Vtf0/Bin/ResetVectorExtra.uni
+++ /dev/null
Binary files 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.<BR>
-#
-# 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.<BR>
-; 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.<BR>
-; 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.<BR>
-; 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.<BR>
-; 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.<BR>
-; 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.<BR>
-; 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.<BR>
-; 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.<BR>
-; 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.<BR>
-; 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.<BR>
-; 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.<BR>
-; 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.<BR>
-; 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
--- a/UefiCpuPkg/ResetVector/Vtf0/ResetVector.uni
+++ /dev/null
Binary files differ
diff --git a/UefiCpuPkg/ResetVector/Vtf0/ResetVectorExtra.uni b/UefiCpuPkg/ResetVector/Vtf0/ResetVectorExtra.uni
deleted file mode 100644
index b907f406be..0000000000
--- a/UefiCpuPkg/ResetVector/Vtf0/ResetVectorExtra.uni
+++ /dev/null
Binary files 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.<BR>
-; 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.<BR>
-#
-# 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.<BR>
-#
-# 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.<BR>
-; 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 <Base.h>
- #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.<BR>
-; 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: