Hi,
Is there some way to start a KVM-accelerated VM with QEMU (on an Intel/VMX
host) that is configured so that RDTSC/RDTSCP instructions won't cause a
VM-exit?
According to Intel's manual, it seems I should disable the "RDTSC exiting"
bit on the MSR that Linux identifies as MSR_IA32_VMX_PROCBASE
Peter Maydell writes:
> On 15 October 2017 at 17:30, Lluís Vilanova wrote:
>> Thinking about it, shouldn't this always be the same given QEMU's TLB/page
>> table
>> consistency assurances?
> What TLB/page table consistency assurances? For ARM at least
> w
Emilio G Cota writes:
> On Fri, Oct 06, 2017 at 18:07:16 +0300, Lluís Vilanova wrote:
>> Emilio G Cota writes:
>> > On Thu, Oct 05, 2017 at 02:28:12 +0300, Lluís Vilanova wrote:
>> >> The API takes care of telling you if the access could be performed
>>
Richard Henderson writes:
> On 10/11/2017 11:43 PM, Lluís Vilanova wrote:
>>> /* Track which vCPU triggers events */
>>> CPUState *cpu; /* *_trans */
>>> -TCGv_env tcg_env; /* *_exec */
>>
>> I would rather k
Richard Henderson writes:
> This is identical for each target. So, move the initialization to
> common code. Move the variable itself out of tcg_ctx and name it
> cpu_env to minimize changes within targets.
> This also means we can remove tcg_global_reg_new_{ptr,i32,i64},
> since there are no l
Emilio G Cota writes:
> On Thu, Oct 05, 2017 at 02:28:12 +0300, Lluís Vilanova wrote:
>> Emilio G Cota writes:
>> > I see some potential problems with this:
>> > 1. Instrumenters' accesses could generate exceptions. I presume we'd want
>> > to avoid
Emilio G Cota writes:
> On Sat, Sep 30, 2017 at 00:46:33 +0300, Lluís Vilanova wrote:
>> Emilio G Cota writes:
>> > I'm not sure I understand this concept of filtering. Are you saying that in
>> > the first case, all memory accesses are instrumented, and then in
Emilio G Cota writes:
> On Mon, Sep 25, 2017 at 21:03:39 +0300, Lluís Vilanova wrote:
>> I know it's not exactly the same we're discussing, but the plot in [1]
>> compares
>> a few different ways to trace memory accesses on SPEC benchmarks:
>>
>> * F
Lluís Vilanova writes:
> Richard Henderson writes:
>> On 09/14/2017 08:20 AM, Lluís Vilanova wrote:
>>> Richard Henderson writes:
>>>
>>>> On 09/10/2017 09:27 AM, Lluís Vilanova wrote:
>>>>> TCG BBLs and instructions have multiple exit points
Emilio G Cota writes:
> On Mon, Sep 25, 2017 at 21:07:45 +0300, Lluís Vilanova wrote:
>> You're doing it right, and I've checked that the branch is properly pushed.
>> Can
>> you compile with V=1 to show me the failing cmdline?
> $ make V=1
> (cd /data/src/q
Stefan Hajnoczi writes:
> On Mon, Sep 18, 2017 at 04:05:31PM +0100, Peter Maydell wrote:
>> On 18 September 2017 at 15:59, Stefan Hajnoczi wrote:
>> > Thanks for sending this! Could you and Lluís collaborate on a single
>> > instrumentation plugin API?
>> >
>> > Let's have a discussion with Lluí
Emilio G Cota writes:
> On Wed, Sep 13, 2017 at 12:53:43 +0300, Lluís Vilanova wrote:
>> The instrumentation code is dynamically loaded as a library into QEMU either
>> when it starts or later using its remote control interfaces. The loaded code
>> only has access to functio
First, sorry for the late response; I was away for a few days.
Peter Maydell writes:
> On 18 September 2017 at 18:09, Lluís Vilanova wrote:
>> Peter Maydell writes:
>>> It's also exposing internal QEMU implementation detail.
>>> What if in future we decide to s
Peter Maydell writes:
> On 15 September 2017 at 14:39, Lluís Vilanova wrote:
>> Peter Maydell writes:
>>> This looks like it's exposing too much implementation detail.
>>> We should just provide an API for "hook to be called for
>>> memory writes&
Peter Maydell writes:
> On 12 September 2017 at 22:01, Lluís Vilanova wrote:
>> This series adds an API to add instrumentation events.
>>
>> It also provides additional APIs for:
>> * Controlling tracing events.
>> * Peek/poke guest memory.
>> Future
Peter Maydell writes:
> On 13 September 2017 at 10:57, Lluís Vilanova wrote:
>> Signed-off-by: Lluís Vilanova
>> ---
>> MAINTAINERS |6 ++
>> docs/instrument.txt | 173
>> +++
>> 2 files changed,
Richard Henderson writes:
> On 09/14/2017 08:20 AM, Lluís Vilanova wrote:
>> Richard Henderson writes:
>>
>>> On 09/10/2017 09:27 AM, Lluís Vilanova wrote:
>>>> TCG BBLs and instructions have multiple exit points from where to raise
>>>> tracing
Richard Henderson writes:
> On 09/10/2017 09:35 AM, Lluís Vilanova wrote:
>> Signed-off-by: Lluís Vilanova
>> ---
>> accel/tcg/translator.c | 23 ++-
>> trace-events |8
>> 2 files changed, 26 insertions(+), 5 deletions
Richard Henderson writes:
> On 09/10/2017 09:31 AM, Lluís Vilanova wrote:
>> +void translator__gen_goto_tb(TCGContext *ctx)
>> +{
>> +if (ctx->disas.in_guest_code &&
>> +(TRACE_GUEST_BBL_AFTER_ENABLED)) {
>> +if (ctx->di
Richard Henderson writes:
> On 09/10/2017 09:27 AM, Lluís Vilanova wrote:
>> TCG BBLs and instructions have multiple exit points from where to raise
>> tracing events, but some of the necessary information in the generic
>> disassembly infrastructure is not available until a
Richard Henderson writes:
> On 09/10/2017 09:23 AM, Lluís Vilanova wrote:
>> Signed-off-by: Lluís Vilanova
>> ---
>> accel/tcg/translator.c | 18 ++
>> trace-events |9 +
>> 2 files changed, 27 insertions(+)
>>
>>
Richard Henderson writes:
> On 09/10/2017 09:19 AM, Lluís Vilanova wrote:
>> while (true) {
>> +target_ulong pc_insn = db->pc_next;
> Why not just "pc"?
>> +
db-> num_insns++;
ops-> insn_start(db, cpu);
>> tcg_debug_assert(db->is_
Richard Henderson writes:
> On 09/10/2017 09:15 AM, Lluís Vilanova wrote:
>> Signed-off-by: Lluís Vilanova
>> ---
>> accel/tcg/translator.c |6 ++
>> trace-events | 11 +++
>> 2 files changed, 17 insertions(+)
>>
>> di
It includes access to the guest's memory and vCPU registers.
Signed-off-by: Lluís Vilanova
---
instrument/Makefile.objs |1
instrument/qemu-instr/state.h | 104 +
instrument/state.c| 73 +
3
Signed-off-by: Lluís Vilanova
---
Makefile.target |1 +
instrument/control.c| 15 +
instrument/control.h| 36 +-
instrument/control.inc.h| 16 +++---
instrument/events.h | 21
Signed-off-by: Lluís Vilanova
---
bsd-user/syscall.c |3 +++
instrument/control.c| 15 +++
instrument/events.h |5 +
instrument/events.inc.h | 13 +
instrument/load.c |1 +
instrument/qemu
Signed-off-by: Lluís Vilanova
---
bsd-user/syscall.c |6 ++
instrument/control.c| 18 ++
instrument/events.h |7 +++
instrument/events.inc.h | 16
instrument/load.c |1
Signed-off-by: Lluís Vilanova
---
include/exec/cpu_ldst_template.h |4 +++
include/exec/cpu_ldst_useronly_template.h |4 +++
include/exec/helper-gen.h |1 +
include/exec/helper-proto.h |1 +
include/exec/helper-tcg.h |1
Signed-off-by: Lluís Vilanova
---
include/exec/cpu_ldst_template.h | 15 ++
include/exec/cpu_ldst_useronly_template.h | 15 ++
tcg/tcg-op.c | 22 +
trace/mem-internal.h | 22
Signed-off-by: Lluís Vilanova
---
instrument/control.c|9 +
instrument/events.h |3 +++
instrument/events.inc.h | 11 +++
instrument/load.c |1 +
instrument/qemu-instr/control.h |9 +
qom/cpu.c
Signed-off-by: Lluís Vilanova
---
instrument/control.c|9 +
instrument/events.h |3 +++
instrument/events.inc.h | 11 +++
instrument/load.c | 17 +
instrument/qemu-instr/control.h | 11 +++
stubs
Signed-off-by: Lluís Vilanova
---
accel/stubs/tcg-stub.c|3 +++
accel/tcg/translate-all.c |7 +++
include/exec/exec-all.h |1 +
3 files changed, 11 insertions(+)
diff --git a/accel/stubs/tcg-stub.c b/accel/stubs/tcg-stub.c
index 5dd480b1a2..5226c4a8a4 100644
--- a/accel
Stops all vCPUs to allow performing management operations like TB
invalidations. These are later necessary to ensure translated code does not
reference unloaded instrumentation libraries.
Signed-off-by: Lluís Vilanova
---
instrument/control.c | 67
Signed-off-by: Lluís Vilanova
---
instrument/control.c|9
instrument/events.h |5
instrument/events.inc.h | 11 +
instrument/load.c |9
instrument/qemu-instr/control.h | 46
Keep a translation between instrumentation's QICPU and CPUState objects to avoid
exposing QEMU's internals to instrumentation clients.
Signed-off-by: Lluís Vilanova
---
cpus-common.c|9 +
instrument/control.c | 23 +++
instrument
Signed-off-by: Lluís Vilanova
---
.gitignore|1
Makefile |3 +
instrument/Makefile.objs |1
instrument/error.h|6 ++
instrument/qemu-instr/types.h | 51 +++
instrument/qemu-instr
Signed-off-by: Lluís Vilanova
---
Makefile|4 +++
configure |1 +
include/qemu/compiler.h | 19
instrument/Makefile.objs|1 +
instrument/control.c| 28
instrument
Signed-off-by: Lluís Vilanova
---
hmp-commands.hx | 32
monitor.c | 39 +++
2 files changed, 71 insertions(+)
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 1941e19932..2e8ebe8422 100644
--- a/hmp-commands.hx
Signed-off-by: Lluís Vilanova
---
MAINTAINERS |1 +
Makefile |1 +
instrument/Makefile.objs |1 +
instrument/qmp.c | 82 ++
monitor.c|4 ++
qapi-schema.json |3 ++
qapi
Signed-off-by: Lluís Vilanova
---
qemu-options.hx | 19 +++
vl.c| 15 +++
2 files changed, 34 insertions(+)
diff --git a/qemu-options.hx b/qemu-options.hx
index 9f6e2adfff..6947388aab 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -4077,6
Signed-off-by: Lluís Vilanova
---
bsd-user/main.c| 17 +
bsd-user/syscall.c |5 +
2 files changed, 22 insertions(+)
diff --git a/bsd-user/main.c b/bsd-user/main.c
index 8a6706a1c8..104844edfc 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -33,6 +33,7
Signed-off-by: Lluís Vilanova
---
linux-user/main.c| 21 +
linux-user/syscall.c |4
2 files changed, 25 insertions(+)
diff --git a/linux-user/main.c b/linux-user/main.c
index 03666ef657..ac5c30c1fb 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
Signed-off-by: Lluís Vilanova
---
MAINTAINERS |1
Makefile.objs|4 +
configure|3 +
instrument/Makefile.objs |4 +
instrument/cmdline.c | 128 +++
instrument/cmdline.h | 51
Signed-off-by: Lluís Vilanova
---
configure |9 +
1 file changed, 9 insertions(+)
diff --git a/configure b/configure
index fd7e3a5e81..a21d1bceb9 100755
--- a/configure
+++ b/configure
@@ -356,6 +356,7 @@ pie=""
qom_cast_debug="yes"
trace_backends=&quo
Signed-off-by: Lluís Vilanova
---
MAINTAINERS |6 ++
docs/instrument.txt | 173 +++
2 files changed, 179 insertions(+)
create mode 100644 docs/instrument.txt
diff --git a/MAINTAINERS b/MAINTAINERS
index 36eeb42d19..fb0eaee06a 100644
evel-instrument' in
https://code.gso.ac.upc.edu/git/qemu-dbi.
Signed-off-by: Lluís Vilanova
---
Changes in v6
=
* Fix a minor style warning.
* Fix a minor compilation error.
Changes in v5
=
* Rebase on fcea73709b.
* Minor changes to pass checkpatch.
* Fix s
no-reply writes:
> Hi,
> This series failed automatic build test. Please find the testing commands and
> their output below. If you have docker installed, you can probably reproduce
> it
> locally.
> Subject: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event
> instrumentation
> Message
no-reply writes:
> Hi,
> This series seems to have some coding style problems. See output below for
> more information:
> Subject: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event
> instrumentation
> Message-id: 150525010239.15988.8172586618197849619.st...@frigg.lan
> Type: series
> =
Right now, function trace_event_set_vcpu_state_dynamic() asynchronously enables
events in the case a vCPU is executing TCG code. If the vCPU is being created
this makes some events like "guest_cpu_enter" to not be traced.
Signed-off-by: Lluís Vilanova
Reviewed-by: Emilio G. Cota
---
It includes access to the guest's memory and vCPU registers.
Signed-off-by: Lluís Vilanova
---
instrument/Makefile.objs |1
instrument/qemu-instr/state.h | 104 +
instrument/state.c| 73 +
3
Signed-off-by: Lluís Vilanova
---
bsd-user/syscall.c |3 +++
instrument/control.c| 15 +++
instrument/events.h |5 +
instrument/events.inc.h | 13 +
instrument/load.c |1 +
instrument/qemu
Signed-off-by: Lluís Vilanova
---
bsd-user/syscall.c |6 ++
instrument/control.c| 18 ++
instrument/events.h |7 +++
instrument/events.inc.h | 16
instrument/load.c |1
Signed-off-by: Lluís Vilanova
---
include/exec/cpu_ldst_template.h |4 +++
include/exec/cpu_ldst_useronly_template.h |4 +++
include/exec/helper-gen.h |1 +
include/exec/helper-proto.h |1 +
include/exec/helper-tcg.h |1
Signed-off-by: Lluís Vilanova
---
Makefile.target |1 +
instrument/control.c| 15 +
instrument/control.h| 36 +-
instrument/control.inc.h| 16 +++---
instrument/events.h | 21
Signed-off-by: Lluís Vilanova
---
include/exec/cpu_ldst_template.h | 15 ++
include/exec/cpu_ldst_useronly_template.h | 15 ++
tcg/tcg-op.c | 22 +
trace/mem-internal.h | 22
Signed-off-by: Lluís Vilanova
---
instrument/control.c|9 +
instrument/events.h |3 +++
instrument/events.inc.h | 11 +++
instrument/load.c |1 +
instrument/qemu-instr/control.h |9 +
qom/cpu.c
Signed-off-by: Lluís Vilanova
---
instrument/control.c|9 +
instrument/events.h |3 +++
instrument/events.inc.h | 11 +++
instrument/load.c | 17 +
instrument/qemu-instr/control.h | 11 +++
stubs
Signed-off-by: Lluís Vilanova
---
accel/stubs/tcg-stub.c|3 +++
accel/tcg/translate-all.c |7 +++
include/exec/exec-all.h |1 +
3 files changed, 11 insertions(+)
diff --git a/accel/stubs/tcg-stub.c b/accel/stubs/tcg-stub.c
index 5dd480b1a2..5226c4a8a4 100644
--- a/accel
Stops all vCPUs to allow performing management operations like TB
invalidations. These are later necessary to ensure translated code does not
reference unloaded instrumentation libraries.
Signed-off-by: Lluís Vilanova
---
instrument/control.c | 66
Signed-off-by: Lluís Vilanova
---
instrument/control.c|9
instrument/events.h |5
instrument/events.inc.h | 11 +
instrument/load.c |9
instrument/qemu-instr/control.h | 46
Keep a translation between instrumentation's QICPU and CPUState objects to avoid
exposing QEMU's internals to instrumentation clients.
Signed-off-by: Lluís Vilanova
---
cpus-common.c|9 +
instrument/control.c | 23 +++
instrument
Signed-off-by: Lluís Vilanova
---
.gitignore|1
Makefile |3 +
instrument/Makefile.objs |1
instrument/error.h|6 ++
instrument/qemu-instr/types.h | 51 +++
instrument/qemu-instr
Signed-off-by: Lluís Vilanova
---
Makefile|4 +++
configure |1 +
include/qemu/compiler.h | 19
instrument/Makefile.objs|1 +
instrument/control.c| 28
instrument
Signed-off-by: Lluís Vilanova
---
hmp-commands.hx | 32
monitor.c | 39 +++
2 files changed, 71 insertions(+)
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 1941e19932..2e8ebe8422 100644
--- a/hmp-commands.hx
Signed-off-by: Lluís Vilanova
---
MAINTAINERS |1 +
Makefile |1 +
instrument/Makefile.objs |1 +
instrument/qmp.c | 82 ++
monitor.c|4 ++
qapi-schema.json |3 ++
qapi
Signed-off-by: Lluís Vilanova
---
qemu-options.hx | 19 +++
vl.c| 15 +++
2 files changed, 34 insertions(+)
diff --git a/qemu-options.hx b/qemu-options.hx
index 9f6e2adfff..6947388aab 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -4077,6
Signed-off-by: Lluís Vilanova
---
bsd-user/main.c| 17 +
bsd-user/syscall.c |5 +
2 files changed, 22 insertions(+)
diff --git a/bsd-user/main.c b/bsd-user/main.c
index 8a6706a1c8..104844edfc 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -33,6 +33,7
Signed-off-by: Lluís Vilanova
---
linux-user/main.c| 21 +
linux-user/syscall.c |4
2 files changed, 25 insertions(+)
diff --git a/linux-user/main.c b/linux-user/main.c
index 03666ef657..ac5c30c1fb 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
Signed-off-by: Lluís Vilanova
---
MAINTAINERS |1
Makefile.objs|4 +
configure|3 +
instrument/Makefile.objs |4 +
instrument/cmdline.c | 128 +++
instrument/cmdline.h | 51
Signed-off-by: Lluís Vilanova
---
configure |9 +
1 file changed, 9 insertions(+)
diff --git a/configure b/configure
index fd7e3a5e81..a21d1bceb9 100755
--- a/configure
+++ b/configure
@@ -356,6 +356,7 @@ pie=""
qom_cast_debug="yes"
trace_backends=&quo
Signed-off-by: Lluís Vilanova
---
MAINTAINERS |6 ++
docs/instrument.txt | 173 +++
2 files changed, 179 insertions(+)
create mode 100644 docs/instrument.txt
diff --git a/MAINTAINERS b/MAINTAINERS
index 36eeb42d19..fb0eaee06a 100644
evel-instrument' in
https://code.gso.ac.upc.edu/git/qemu-dbi.
Signed-off-by: Lluís Vilanova
---
Changes in v5
=
* Rebase on fcea73709b.
* Minor changes to pass checkpatch.
* Fix symbol availability to external libraries by adding missing default symbol
visibility fl
Emilio G Cota writes:
> On Wed, Sep 06, 2017 at 20:22:41 +0300, Lluís Vilanova wrote:
>> This series adds an API to add instrumentation events.
>>
>> It also provides additional APIs for:
>> * Controlling tracing events
> hmm didn't Stefan say that tracin
Emilio G Cota writes:
> On Wed, Sep 06, 2017 at 20:59:02 +0300, Lluís Vilanova wrote:
>> Signed-off-by: Lluís Vilanova
>> ---
> (snip)
>> +QI_VPUBLIC void qi_set_fini(qi_fini_fn fn, void *data)
>> +{
>> +ERROR_IF(!instr_get_state(), "called outside i
Emilio G Cota writes:
> On Wed, Sep 06, 2017 at 20:59:02 +0300, Lluís Vilanova wrote:
>> Signed-off-by: Lluís Vilanova
>> ---
>> Makefile |5 +++
>> configure |1 +
>> instrument/Makefile.objs
Markus Armbruster writes:
> Lluís Vilanova writes:
>> Signed-off-by: Lluís Vilanova
>> ---
>> hmp-commands.hx | 28 ++
>> monitor.c | 60
>> +++
>> 2 files changed, 8
ads-up, there's nothing for you to do about it right now.
> Lluís Vilanova writes:
[...]
>> diff --git a/instrument/load.h b/instrument/load.h
>> index 2ddb2c6c19..f8a02e6849 100644
>> --- a/instrument/load.h
>> +++ b/instrument/load.h
>> @@ -25,6 +25,8 @@
&g
Emilio G Cota writes:
> On Wed, Sep 06, 2017 at 20:34:48 +0300, Lluís Vilanova wrote:
>> Signed-off-by: Lluís Vilanova
>> ---
> (snip)
>> diff --git a/configure b/configure
>> index 80dcc91c98..05bd7b1950 100755
>> --- a/configure
>> +++ b/con
Emilio G Cota writes:
> On Wed, Sep 06, 2017 at 20:22:41 +0300, Lluís Vilanova wrote:
>> This series adds an API to add instrumentation events.
>>
>> It also provides additional APIs for:
>> * Controlling tracing events
> hmm didn't Stefan say that tr
Emilio G Cota writes:
> On Thu, Sep 07, 2017 at 12:58:05 +0200, Markus Armbruster wrote:
>> Lluís Vilanova writes:
>>
>> > This series adds an API to add instrumentation events.
>> >
>> > It also provides additional APIs for:
>> > * Contr
Right now, function trace_event_set_vcpu_state_dynamic() asynchronously enables
events in the case a vCPU is executing TCG code. If the vCPU is being created
this makes some events like "guest_cpu_enter" to not be traced.
Signed-off-by: Lluís Vilanova
Reviewed-by: Emilio G. Cora
---
Signed-off-by: Lluís Vilanova
---
accel/tcg/translator.c | 18 ++
trace-events |8
2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c
index c010aeee45..d3039e7fd2 100644
--- a/accel/tcg
Signed-off-by: Lluís Vilanova
---
accel/tcg/translator.c | 23 ++-
trace-events |8
2 files changed, 26 insertions(+), 5 deletions(-)
diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c
index d66d601c89..c010aeee45 100644
--- a/accel/tcg
Need to use "TCG inlining" to avoid showing a trace entry for each exit
point (up to two per BBL).
Signed-off-by: Lluís Vilanova
---
accel/tcg/translator.c| 54 +
include/exec/translator.h | 22 ++
tc
acing code will
be placed), and "inline regions" (which identify the TCG code that must
be inlined). The TCG compiler will basically copy each inline region to
any inline points that reference it.
Signed-off-by: Lluís Vilanova
---
include/qemu/log.h |1
include/qemu/typedefs.h |
Signed-off-by: Lluís Vilanova
---
accel/tcg/translator.c | 18 ++
trace-events |9 +
2 files changed, 27 insertions(+)
diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c
index 287d27b4f7..6598931171 100644
--- a/accel/tcg/translator.c
+++ b
Signed-off-by: Lluís Vilanova
---
accel/tcg/translator.c |3 +++
trace-events |8
2 files changed, 11 insertions(+)
diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c
index 91b3b0da32..287d27b4f7 100644
--- a/accel/tcg/translator.c
+++ b/accel/tcg
Signed-off-by: Lluís Vilanova
---
accel/tcg/translator.c |6 ++
trace-events | 11 +++
2 files changed, 17 insertions(+)
diff --git a/accel/tcg/translator.c b/accel/tcg/translator.c
index afa3af478a..91b3b0da32 100644
--- a/accel/tcg/translator.c
+++ b/accel/tcg
Adds events to trace guest code execution.
Events with additional info are disabled by default to minimize overheads, since
that additional information might not be necessarily needed.
Signed-off-by: Lluís Vilanova
---
Lluís Vilanova (7):
trace: Add event "guest_bbl_before"
It includes access to the guest's memory and vCPU registers.
Signed-off-by: Lluís Vilanova
---
instrument/Makefile.objs |1
instrument/qemu-instr/state.h | 104 +
instrument/state.c| 72
3
Signed-off-by: Lluís Vilanova
---
bsd-user/syscall.c |3 +++
instrument/control.c| 11 +++
instrument/events.h |5 +
instrument/events.inc.h | 13 +
instrument/load.c |1 +
instrument/qemu-instr
Signed-off-by: Lluís Vilanova
---
bsd-user/syscall.c |3 +++
instrument/control.c| 14 ++
instrument/events.h |7 +++
instrument/events.inc.h | 16
instrument/load.c |1 +
instrument/qemu
Signed-off-by: Lluís Vilanova
---
include/exec/cpu_ldst_template.h |4 +++
include/exec/cpu_ldst_useronly_template.h |4 +++
include/exec/helper-gen.h |1 +
include/exec/helper-proto.h |1 +
include/exec/helper-tcg.h |1
Signed-off-by: Lluís Vilanova
---
Makefile.target |1 +
instrument/control.c| 13 +++-
instrument/control.h| 36 +-
instrument/control.inc.h| 16 +++---
instrument/events.h | 21
Signed-off-by: Lluís Vilanova
---
include/exec/cpu_ldst_template.h | 15 ++
include/exec/cpu_ldst_useronly_template.h | 15 ++
tcg/tcg-op.c | 22 +
trace/mem-internal.h | 22
Signed-off-by: Lluís Vilanova
---
instrument/control.c|9 +
instrument/events.h |3 +++
instrument/events.inc.h | 11 +++
instrument/load.c |1 +
instrument/qemu-instr/control.h |9 +
qom/cpu.c
Signed-off-by: Lluís Vilanova
---
instrument/control.c|9 +
instrument/events.h |3 +++
instrument/events.inc.h | 11 +++
instrument/load.c |1 +
instrument/qemu-instr/control.h |9 +
stubs/instrument.c
Signed-off-by: Lluís Vilanova
---
instrument/control.c|9
instrument/events.h |5
instrument/events.inc.h | 11 ++
instrument/load.c |1 +
instrument/qemu-instr/control.h | 44
Keep a translation between instrumentation's QICPU and CPUState objects to avoid
exposing QEMU's internals to instrumentation clients.
Signed-off-by: Lluís Vilanova
---
cpus-common.c|9 +
instrument/control.c | 22 ++
instrument
Signed-off-by: Lluís Vilanova
---
.gitignore|1
Makefile |3 +
instrument/Makefile.objs |1
instrument/error.h|6 ++
instrument/qemu-instr/types.h | 51 +++
instrument/qemu-instr
1 - 100 of 1848 matches
Mail list logo