This boring patchset introduces a struct x86_exception to represent an exception, and uses it to communicate between the emulator and the rest of kvm. The primary benefit is that we can now pass a #GP from kvm into the emulator, not just #PFs. I'd like to also fold vcpu->arch.fault into struct x86_exception, but that's more difficult, so deferred until later. Avi Kivity (7): KVM: x86 emulator: introduce struct x86_exception to communicate faults KVM: x86 emulator: make emulator memory callbacks return full exception KVM: x86 emulator: drop dead pf injection in emulate_popf() KVM: x86 emulator: tighen up ->read_std() and ->write_std() error checks KVM: x86 emulator: simplify exception generation KVM: Push struct x86_exception info the various gva_to_gpa variants KVM: Push struct x86_exception into walk_addr() arch/x86/include/asm/kvm_emulate.h | 26 +++-- arch/x86/include/asm/kvm_host.h | 14 ++- arch/x86/kvm/emulate.c | 243 ++++++++++++++---------------------- arch/x86/kvm/mmu.c | 13 +- arch/x86/kvm/paging_tmpl.h | 31 +++-- arch/x86/kvm/x86.c | 97 ++++++++------- 6 files changed, 195 insertions(+), 229 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html