Message ID | b03565d9d7f7f09c9bf84e12d97eb04a6cdc986d.1433052532.git.crosthwaite.peter@gmail.com |
---|---|
State | New |
Headers | show |
On 31/05/2015 08:11, Peter Crosthwaite wrote: > Not dealing with this problem as of this RFC, but comments on how > to solve it welcome. The approach adopted by this series is to > implement multi-arch as multiple translators, so a single global > TCG profiler is now ill-defined. Probably some kind of tcg-common.c? The counts can be added together for all CPUs, and hence moved out of tcg_ctx. Also for example tcg/tcg-opc.h should only depend on TCG_TARGET_REG_BITS, i.e. not on the arch. Hence tcg_op_defs should also be arch-independent. Paolo > Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> > --- > monitor.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/monitor.c b/monitor.c > index 1a17cf3..f3ee785 100644 > --- a/monitor.c > +++ b/monitor.c > @@ -1036,13 +1036,17 @@ static void hmp_info_registers(Monitor *mon, const QDict *qdict) > > static void hmp_info_jit(Monitor *mon, const QDict *qdict) > { > +#if 0 > dump_exec_info((FILE *)mon, monitor_fprintf); > +#endif > dump_drift_info((FILE *)mon, monitor_fprintf); > } > > static void hmp_info_opcount(Monitor *mon, const QDict *qdict) > { > +#if 0 > dump_opcount_info((FILE *)mon, monitor_fprintf); > +#endif > } > > static void hmp_info_history(Monitor *mon, const QDict *qdict) >
On 06/01/2015 01:03 AM, Paolo Bonzini wrote: > Also for example tcg/tcg-opc.h should only depend on > TCG_TARGET_REG_BITS, i.e. not on the arch. Hence tcg_op_defs should > also be arch-independent. The actual enumeration is 100% arch independent. It's just the number and types of the arguments to the qemu_ld/st opcodes that vary by TARGET_LONG_BITS. r~
diff --git a/monitor.c b/monitor.c index 1a17cf3..f3ee785 100644 --- a/monitor.c +++ b/monitor.c @@ -1036,13 +1036,17 @@ static void hmp_info_registers(Monitor *mon, const QDict *qdict) static void hmp_info_jit(Monitor *mon, const QDict *qdict) { +#if 0 dump_exec_info((FILE *)mon, monitor_fprintf); +#endif dump_drift_info((FILE *)mon, monitor_fprintf); } static void hmp_info_opcount(Monitor *mon, const QDict *qdict) { +#if 0 dump_opcount_info((FILE *)mon, monitor_fprintf); +#endif } static void hmp_info_history(Monitor *mon, const QDict *qdict)
Not dealing with this problem as of this RFC, but comments on how to solve it welcome. The approach adopted by this series is to implement multi-arch as multiple translators, so a single global TCG profiler is now ill-defined. Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> --- monitor.c | 4 ++++ 1 file changed, 4 insertions(+)