QEMU 1.6 enables using KVM READONLY memory regions. There
appears to be a bug when page tables are stored in the
READONLY memory region. To work-around this, we create
page table entries in RAM. Since RAM is present in QEMU/KVM
without any initialization, this is easily accomplished
for OVMF.

Since the firmware-device no longer needs to store 24KB of
uncompressed page table data, we also reclaim nearly all
of that for use with OVMF's compressed firmware.

Jordan Justen (6):
  UefiCpuPkg/ResetVector/Vtf0: Move Page Table/CR3 setting to a new
    file
  OvmfPkg: Add platform specific reset vector code for X64
  OvmfPkg: For OvmfPkgX64, use OvmfPkg/ResetVector
  OvmfPkg X64: Convert 24KB from uncompressed to compressed storage
  OvmfPkg/Sec: Stop building identity mapped pages in SEC
  OvmfPkg: Remove IndustryStandard/X64Paging.h

 OvmfPkg/Include/IndustryStandard/X64Paging.h       |   99 --------------
 OvmfPkg/OvmfPkgX64.fdf                             |    6 +-
 OvmfPkg/ResetVector/Bin/ResetVector.inf            |   29 ++++
 OvmfPkg/ResetVector/Bin/ResetVector.x64.raw        |  Bin 0 -> 628 bytes
 OvmfPkg/ResetVector/Build.py                       |   58 ++++++++
 OvmfPkg/ResetVector/Ia32/PageTables64.asm          |   93 +++++++++++++
 OvmfPkg/ResetVector/ResetVectorCode.asm            |   53 +++++++
 OvmfPkg/ResetVector/Tools/FixupForRawSection.py    |   26 ++++
 OvmfPkg/Sec/SecMain.c                              |  144 +-------------------
 .../ResetVector/Vtf0/Ia32/Flat32ToFlat64.asm       |    5 +-
 UefiCpuPkg/ResetVector/Vtf0/Ia32/PageTables64.asm  |   30 ++++
 UefiCpuPkg/ResetVector/Vtf0/ResetVectorCode.asm    |    3 +-
 12 files changed, 298 insertions(+), 248 deletions(-)
 delete mode 100644 OvmfPkg/Include/IndustryStandard/X64Paging.h
 create mode 100644 OvmfPkg/ResetVector/Bin/ResetVector.inf
 create mode 100644 OvmfPkg/ResetVector/Bin/ResetVector.x64.raw
 create mode 100644 OvmfPkg/ResetVector/Build.py
 create mode 100644 OvmfPkg/ResetVector/Ia32/PageTables64.asm
 create mode 100644 OvmfPkg/ResetVector/ResetVectorCode.asm
 create mode 100644 OvmfPkg/ResetVector/Tools/FixupForRawSection.py
 create mode 100644 UefiCpuPkg/ResetVector/Vtf0/Ia32/PageTables64.asm

-- 
1.7.10.4


------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to