diff options
author | Gleb Natapov <gleb@redhat.com> | 2010-04-28 12:15:37 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2010-08-01 03:35:34 -0400 |
commit | 8fe681e984b6505d4d12125c0776399304803ec7 (patch) | |
tree | dcd8b2a739541463cb1b93074bce5968bdb1a288 /arch/x86/include | |
parent | f181b96d4c769b8915849eb9070c18116fd8d44e (diff) |
KVM: do not inject #PF in (read|write)_emulated() callbacks
Return error to x86 emulator instead of injection exception behind its back.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/kvm_emulate.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_emulate.h b/arch/x86/include/asm/kvm_emulate.h index 777240d4524e..b7e00cb21c6e 100644 --- a/arch/x86/include/asm/kvm_emulate.h +++ b/arch/x86/include/asm/kvm_emulate.h | |||
@@ -94,6 +94,7 @@ struct x86_emulate_ops { | |||
94 | int (*read_emulated)(unsigned long addr, | 94 | int (*read_emulated)(unsigned long addr, |
95 | void *val, | 95 | void *val, |
96 | unsigned int bytes, | 96 | unsigned int bytes, |
97 | unsigned int *error, | ||
97 | struct kvm_vcpu *vcpu); | 98 | struct kvm_vcpu *vcpu); |
98 | 99 | ||
99 | /* | 100 | /* |
@@ -106,6 +107,7 @@ struct x86_emulate_ops { | |||
106 | int (*write_emulated)(unsigned long addr, | 107 | int (*write_emulated)(unsigned long addr, |
107 | const void *val, | 108 | const void *val, |
108 | unsigned int bytes, | 109 | unsigned int bytes, |
110 | unsigned int *error, | ||
109 | struct kvm_vcpu *vcpu); | 111 | struct kvm_vcpu *vcpu); |
110 | 112 | ||
111 | /* | 113 | /* |
@@ -120,6 +122,7 @@ struct x86_emulate_ops { | |||
120 | const void *old, | 122 | const void *old, |
121 | const void *new, | 123 | const void *new, |
122 | unsigned int bytes, | 124 | unsigned int bytes, |
125 | unsigned int *error, | ||
123 | struct kvm_vcpu *vcpu); | 126 | struct kvm_vcpu *vcpu); |
124 | 127 | ||
125 | int (*pio_in_emulated)(int size, unsigned short port, void *val, | 128 | int (*pio_in_emulated)(int size, unsigned short port, void *val, |