diff options
author | Avi Kivity <avi@qumranet.com> | 2007-10-28 16:34:25 +0200 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 17:52:57 +0200 |
commit | c7e75a3db4ecd952e7a5562cea1b27007bf0c01c (patch) | |
tree | a83547a4a40ff4c05a62ab5eb112d4417462d235 /drivers/kvm/mmu.c | |
parent | fe7935d49fbe33308c1b5f0e35137989da851010 (diff) | |
download | lwn-c7e75a3db4ecd952e7a5562cea1b27007bf0c01c.tar.gz lwn-c7e75a3db4ecd952e7a5562cea1b27007bf0c01c.zip |
KVM: x86 emulator: don't depend on cr2 for mov abs emulation
The 'mov abs' instruction family (opcodes 0xa0 - 0xa3) still depends on cr2
provided by the page fault handler. This is wrong for several reasons:
- if an instruction accessed misaligned data that crosses a page boundary,
and if the fault happened on the second page, cr2 will point at the
second page, not the data itself.
- if we're emulating in real mode, or due to a FlexPriority exit, there
is no cr2 generated.
So, this change adds decoding for this instruction form and drops reliance
on cr2.
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/mmu.c')
0 files changed, 0 insertions, 0 deletions