On 09/18/13 01:24, Jordan Justen wrote: > 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 >
Also, I tested the series on kvm_intel, with both ept=N and default ept=Y modparams (checked in-effect value in /sys/module/kvm_intel/parameters/ept). Kernel: 2.6.32-358.18.1.el6.x86_64 (RHEL-6.4.z) CPU: Intel(R) Core(TM) i7 CPU M 620 @ 2.67GHz Series Tested-by: Laszlo Ersek <ler...@redhat.com> ------------------------------------------------------------------------------ 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