diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-04-24 13:46:17 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-04-24 13:46:17 +0100 |
commit | 33264198067a646d4fb6e5016e785638a5646d42 (patch) | |
tree | 338bf116ef849111078a7fdc239f8c4a2b85cee7 | |
parent | 0bd0cce37e3b4fe8b512299b7d2772c19c3e119f (diff) | |
download | xen-33264198067a646d4fb6e5016e785638a5646d42.tar.gz xen-33264198067a646d4fb6e5016e785638a5646d42.tar.bz2 xen-33264198067a646d4fb6e5016e785638a5646d42.zip |
xentrace: Clean up HVM I/O tracing.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-rw-r--r-- | tools/xentrace/formats | 6 | ||||
-rw-r--r-- | xen/arch/x86/hvm/emulate.c | 8 | ||||
-rw-r--r-- | xen/include/public/trace.h | 8 |
3 files changed, 12 insertions, 10 deletions
diff --git a/tools/xentrace/formats b/tools/xentrace/formats index 42744a7352..617e4745ad 100644 --- a/tools/xentrace/formats +++ b/tools/xentrace/formats @@ -62,8 +62,10 @@ 0x00082014 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) INVLPG [ is invlpga? = %(1)d, virt = 0x%(2)08x ] 0x00082114 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) INVLPG [ is invlpga? = %(1)d, virt = 0x%(2)016x ] 0x00082015 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) MCE -0x00082016 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) IO_ASSIST [ data = 0x%(1)04x ] -0x00082017 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) MMIO_ASSIST [ data = 0x%(1)04x ] +0x00082016 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) IOPORT_READ [ data = 0x%(1)04x ] +0x00082216 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) IOPORT_WRITE [ data = 0x%(1)04x ] +0x00082017 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) MMIO_READ [ data = 0x%(1)04x ] +0x00082217 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) MMIO_WRITE [ data = 0x%(1)04x ] 0x00082018 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) CLTS 0x00082019 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) LMSW [ value = 0x%(1)08x ] 0x00082119 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) LMSW [ value = 0x%(1)016x ] diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c index 2166e88a34..ad5ec35a24 100644 --- a/xen/arch/x86/hvm/emulate.c +++ b/xen/arch/x86/hvm/emulate.c @@ -21,7 +21,6 @@ #include <asm/hvm/trace.h> #include <asm/hvm/support.h> -#define HVMTRACE_IO_ASSIST_WRITE 0x200 static void hvmtrace_io_assist(int is_mmio, ioreq_t *p) { unsigned int size, event; @@ -30,9 +29,10 @@ static void hvmtrace_io_assist(int is_mmio, ioreq_t *p) if ( likely(!tb_init_done) ) return; - event = is_mmio ? TRC_HVM_MMIO_ASSIST : TRC_HVM_IO_ASSIST; - if ( !p->dir ) - event |= HVMTRACE_IO_ASSIST_WRITE; + if ( is_mmio ) + event = p->dir ? TRC_HVM_IOMEM_READ : TRC_HVM_IOMEM_WRITE; + else + event = p->dir ? TRC_HVM_IOPORT_READ : TRC_HVM_IOPORT_WRITE; *(uint64_t *)buffer = p->addr; size = (p->addr != (u32)p->addr) ? 8 : 4; diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h index 390a8670ff..76088e346d 100644 --- a/xen/include/public/trace.h +++ b/xen/include/public/trace.h @@ -142,14 +142,14 @@ #define TRC_HVM_INVLPG (TRC_HVM_HANDLER + 0x14) #define TRC_HVM_INVLPG64 (TRC_HVM_HANDLER + TRC_64_FLAG + 0x14) #define TRC_HVM_MCE (TRC_HVM_HANDLER + 0x15) -#define TRC_HVM_IO_ASSIST (TRC_HVM_HANDLER + 0x16) -#define TRC_HVM_IO_ASSIST64 (TRC_HVM_HANDLER + TRC_64_FLAG + 0x16) -#define TRC_HVM_MMIO_ASSIST (TRC_HVM_HANDLER + 0x17) -#define TRC_HVM_MMIO_ASSIST64 (TRC_HVM_HANDLER + TRC_64_FLAG + 0x17) +#define TRC_HVM_IOPORT_READ (TRC_HVM_HANDLER + 0x16) +#define TRC_HVM_IOMEM_READ (TRC_HVM_HANDLER + 0x17) #define TRC_HVM_CLTS (TRC_HVM_HANDLER + 0x18) #define TRC_HVM_LMSW (TRC_HVM_HANDLER + 0x19) #define TRC_HVM_LMSW64 (TRC_HVM_HANDLER + TRC_64_FLAG + 0x19) #define TRC_HVM_INTR_WINDOW (TRC_HVM_HANDLER + 0x20) +#define TRC_HVM_IOPORT_WRITE (TRC_HVM_HANDLER + 0x216) +#define TRC_HVM_IOMEM_WRITE (TRC_HVM_HANDLER + 0x217) /* trace subclasses for power management */ #define TRC_PM_FREQ 0x00801000 /* xen cpu freq events */ |