diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-04-15 15:45:42 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-04-15 15:45:42 +0100 |
commit | b631149c20d11453d35cc77aa6abe33c7c07189e (patch) | |
tree | 0f24026c9e53125a93b2b3839cc185754070aa00 /xen/arch/x86/hvm/emulate.c | |
parent | dc4c72a5fc74288f6e2f528b5afcf8226f89d43f (diff) | |
download | xen-b631149c20d11453d35cc77aa6abe33c7c07189e.tar.gz xen-b631149c20d11453d35cc77aa6abe33c7c07189e.tar.bz2 xen-b631149c20d11453d35cc77aa6abe33c7c07189e.zip |
x86, hvm: If an MMIO handler returns X86EMUL_RETRY we must still
complete the dummy I/O request-response cycle.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/arch/x86/hvm/emulate.c')
-rw-r--r-- | xen/arch/x86/hvm/emulate.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c index 036583d90c..d7bf9f3f2f 100644 --- a/xen/arch/x86/hvm/emulate.c +++ b/xen/arch/x86/hvm/emulate.c @@ -76,6 +76,7 @@ static int hvmemul_do_io( switch ( rc ) { case X86EMUL_OKAY: + case X86EMUL_RETRY: *reps = p->count; p->state = STATE_IORESP_READY; hvm_io_assist(); @@ -87,8 +88,6 @@ static int hvmemul_do_io( hvm_send_assist_req(curr); rc = (val != NULL) ? X86EMUL_RETRY : X86EMUL_OKAY; break; - case X86EMUL_RETRY: - break; default: BUG(); } |