* [PATCH] x86/hvm: put value of emulated register reads into trace records
@ 2012-05-10 14:59 David Vrabel
0 siblings, 0 replies; only message in thread
From: David Vrabel @ 2012-05-10 14:59 UTC (permalink / raw)
To: xen-devel; +Cc: David Vrabel, George Dunlap
From: David Vrabel <david.vrabel@citrix.com>
The tracepoint for emulated MMIO and I/O port reads was always before
the emulated read or write was done. This means that for reads the
register value in the trace record was always 0.
So for reads, move the tracepoint until the register value is
available.
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Cc: George Dunlap <george.dunlap@citrix.com>
---
A candidate for 4.0 and 4.1?
---
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 82efd1a..3a7fe95 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);
--
1.7.2.5
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-05-10 14:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-10 14:59 [PATCH] x86/hvm: put value of emulated register reads into trace records David Vrabel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).