diff options
-rw-r--r-- | xen/arch/x86/hvm/emulate.c | 6 |
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); |