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? > +} > + > static QDict *do_query_no_props(QTestState *qts, const char *cpu_type) > { > return qtest_qmp(qts, QUERY_HEAD "'model': { 'name': %s }" > @@ -352,7 +362,12 @@ static void sve_tests_sve_max_vq_8(const void *data) > { > QTestState *qts; > > - qts = qtest_init(MACHINE "-cpu max,sve-max-vq=8"); > + qts = qtest_init(MACHINE_TCG "-cpu max,sve-max-vq=8"); > + > + if (!tcg_enabled(qts)) { > + qtest_quit(qts); > + return; > + } > > assert_sve_vls(qts, "max", BIT_ULL(8) - 1, NULL); > > @@ -387,7 +402,12 @@ static void sve_tests_sve_off(const void *data) > { > QTestState *qts; > > - qts = qtest_init(MACHINE "-cpu max,sve=off"); > + qts = qtest_init(MACHINE_TCG "-cpu max,sve=off"); > + > + if (!tcg_enabled(qts)) { > + qtest_quit(qts); > + return; > + } > > /* SVE is off, so the map should be empty. */ > assert_sve_vls(qts, "max", 0, NULL); > @@ -443,7 +463,12 @@ static void test_query_cpu_model_expansion(const void > *data) > { > QTestState *qts; > > - qts = qtest_init(MACHINE "-cpu max"); > + qts = qtest_init(MACHINE_TCG "-cpu max"); > + > + if (!tcg_enabled(qts)) { > + qtest_quit(qts); > + return; > + } > > /* Test common query-cpu-model-expansion input validation */ > assert_type_full(qts); >