aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xen/arch/x86/hvm/emulate.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 82efd1aa45..3a7fe95293 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -191,7 +191,8 @@ static int hvmemul_do_io(
p->df = df;
p->data = value;
- hvmtrace_io_assist(is_mmio, p);
+ if ( dir == IOREQ_WRITE )
+ hvmtrace_io_assist(is_mmio, p);
if ( is_mmio )
{
@@ -232,6 +233,9 @@ static int hvmemul_do_io(
}
finish_access:
+ if ( dir == IOREQ_READ )
+ hvmtrace_io_assist(is_mmio, p);
+
if ( p_data != NULL )
memcpy(p_data, &vio->io_data, size);