On 2/5/21 4:20 PM, Claudio Fontana wrote: > On 2/5/21 3:43 PM, Philippe Mathieu-Daudé wrote: >> Some tests explicitly request the TCG accelerator. As these >> tests will obviously fails if TCG is not present, disable >> them in such case. >> >> Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> >> --- >> Cc: Roman Bolshakov <r.bolsha...@yadro.com> >> Cc: Claudio Fontana <cfont...@suse.de> >> >> RFC because of the TODO. >> >> Roman posted a series to have a QMP command to query enabled >> accelerators. >> --- >> tests/qtest/arm-cpu-features.c | 33 +++++++++++++++++++++++++++++---- >> 1 file changed, 29 insertions(+), 4 deletions(-) >> >> diff --git a/tests/qtest/arm-cpu-features.c b/tests/qtest/arm-cpu-features.c >> index c59c3cb002b..c6e86282b66 100644 >> --- a/tests/qtest/arm-cpu-features.c >> +++ b/tests/qtest/arm-cpu-features.c >> @@ -20,7 +20,7 @@ >> */ >> #define SVE_MAX_VQ 16 >> >> -#define MACHINE "-machine virt,gic-version=max -accel tcg " >> +#define MACHINE_TCG "-machine virt,gic-version=max -accel tcg " >> #define MACHINE_KVM "-machine virt,gic-version=max -accel kvm -accel tcg " >> #define QUERY_HEAD "{ 'execute': 'query-cpu-model-expansion', " \ >> " 'arguments': { 'type': 'full', " >> @@ -41,6 +41,16 @@ static bool kvm_enabled(QTestState *qts) >> return enabled; >> } >> >> +static bool tcg_enabled(QTestState *qts) >> +{ >> + /* TODO: Implement QMP query-accel? */ >> +#ifdef CONFIG_TCG >> + return true; >> +#else >> + return false; >> +#endif /* CONFIG_TCG */ > > > I would not use the same name as the existing tcg_enabled(), which has > different semantics, even in test code; > > what you mean here is tcg_available() right?
No, I meant static tcg_enabled as the kvm_enabled() earlier method: static bool kvm_enabled(QTestState *qts) { QDict *resp, *qdict; bool enabled; resp = qtest_qmp(qts, "{ 'execute': 'query-kvm' }"); g_assert(qdict_haskey(resp, "return")); qdict = qdict_get_qdict(resp, "return"); g_assert(qdict_haskey(qdict, "enabled")); enabled = qdict_get_bool(qdict, "enabled"); qobject_unref(resp); return enabled; } This should be moved to something generic to QTest IMO, and we need some runtime qtest_is_accelerator_enabled().