monitor/tcg: move tcg hmp commands to accel/tcg, register them dynamically
One more little step towards modular tcg ... Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Jose R. Ziviani <jziviani@suse.de> Message-Id: <20210624103836.2382472-35-kraxel@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
627302afb2
commit
bca6eb34f0
|
@ -0,0 +1,29 @@
|
||||||
|
#include "qemu/osdep.h"
|
||||||
|
#include "qemu/error-report.h"
|
||||||
|
#include "exec/exec-all.h"
|
||||||
|
#include "monitor/monitor.h"
|
||||||
|
#include "sysemu/tcg.h"
|
||||||
|
|
||||||
|
static void hmp_info_jit(Monitor *mon, const QDict *qdict)
|
||||||
|
{
|
||||||
|
if (!tcg_enabled()) {
|
||||||
|
error_report("JIT information is only available with accel=tcg");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
dump_exec_info();
|
||||||
|
dump_drift_info();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void hmp_info_opcount(Monitor *mon, const QDict *qdict)
|
||||||
|
{
|
||||||
|
dump_opcount_info();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void hmp_tcg_register(void)
|
||||||
|
{
|
||||||
|
monitor_register_hmp("jit", true, hmp_info_jit);
|
||||||
|
monitor_register_hmp("opcount", true, hmp_info_opcount);
|
||||||
|
}
|
||||||
|
|
||||||
|
type_init(hmp_tcg_register);
|
|
@ -15,6 +15,7 @@ specific_ss.add_all(when: 'CONFIG_TCG', if_true: tcg_ss)
|
||||||
|
|
||||||
specific_ss.add(when: ['CONFIG_SOFTMMU', 'CONFIG_TCG'], if_true: files(
|
specific_ss.add(when: ['CONFIG_SOFTMMU', 'CONFIG_TCG'], if_true: files(
|
||||||
'cputlb.c',
|
'cputlb.c',
|
||||||
|
'hmp.c',
|
||||||
))
|
))
|
||||||
|
|
||||||
tcg_module_ss.add(when: ['CONFIG_SOFTMMU', 'CONFIG_TCG'], if_true: files(
|
tcg_module_ss.add(when: ['CONFIG_SOFTMMU', 'CONFIG_TCG'], if_true: files(
|
||||||
|
|
|
@ -274,7 +274,6 @@ ERST
|
||||||
.args_type = "",
|
.args_type = "",
|
||||||
.params = "",
|
.params = "",
|
||||||
.help = "show dynamic compiler info",
|
.help = "show dynamic compiler info",
|
||||||
.cmd = hmp_info_jit,
|
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -289,7 +288,6 @@ ERST
|
||||||
.args_type = "",
|
.args_type = "",
|
||||||
.params = "",
|
.params = "",
|
||||||
.help = "show dynamic compiler opcode counters",
|
.help = "show dynamic compiler opcode counters",
|
||||||
.cmd = hmp_info_opcount,
|
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -320,24 +320,6 @@ static void hmp_info_registers(Monitor *mon, const QDict *qdict)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_TCG
|
|
||||||
static void hmp_info_jit(Monitor *mon, const QDict *qdict)
|
|
||||||
{
|
|
||||||
if (!tcg_enabled()) {
|
|
||||||
error_report("JIT information is only available with accel=tcg");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
dump_exec_info();
|
|
||||||
dump_drift_info();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void hmp_info_opcount(Monitor *mon, const QDict *qdict)
|
|
||||||
{
|
|
||||||
dump_opcount_info();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void hmp_info_sync_profile(Monitor *mon, const QDict *qdict)
|
static void hmp_info_sync_profile(Monitor *mon, const QDict *qdict)
|
||||||
{
|
{
|
||||||
int64_t max = qdict_get_try_int(qdict, "max", 10);
|
int64_t max = qdict_get_try_int(qdict, "max", 10);
|
||||||
|
|
Loading…
Reference in New Issue