]> git.proxmox.com Git - mirror_edk2.git/commit
OvmfPkg: Add platform specific reset vector code for X64
authorJordan Justen <jordan.l.justen@intel.com>
Tue, 24 Sep 2013 18:23:20 +0000 (18:23 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 24 Sep 2013 18:23:20 +0000 (18:23 +0000)
commitc90e37b503d4e79dbebbd49f9bfc3c6c14ffb67d
tree10d35aaf20f624bd410bef20f3869ed6bfd8a70a
parenta63f2e245099ac9ab17046322ab6e13f84bb053c
OvmfPkg: Add platform specific reset vector code for X64

KVM has a bug that prevents using page tables in the ROM if the ROM
region utilizes the KVM READONLY memory feature. Therefore, we
avoid using page tables stored in the ROM.

Since OVMF doesn't require memory initialization, we just build
page table entries in RAM at 0x80000 very early in the OVMF boot
process. This address is just after the 'temp RAM' which is set
up by the SEC module.

Currently we only set up 4GB of page tables for OVMF's PEI,
but DxeIpl will build identity mapped page tables that cover all
of the available processor physical address space.

Reported-by: Gary Ching-Pang Lin <glin@suse.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14715 6f19259b-4bc3-4df7-8a09-765794883524
OvmfPkg/ResetVector/Bin/ResetVector.inf [new file with mode: 0644]
OvmfPkg/ResetVector/Bin/ResetVector.x64.raw [new file with mode: 0644]
OvmfPkg/ResetVector/Build.py [new file with mode: 0644]
OvmfPkg/ResetVector/Ia32/PageTables64.asm [new file with mode: 0644]
OvmfPkg/ResetVector/ResetVectorCode.asm [new file with mode: 0644]
OvmfPkg/ResetVector/Tools/FixupForRawSection.py [new file with mode: 0644]