Philippe Mathieu-Daudé <phi...@linaro.org> writes: > When configuring QEMU with --without-default-devices and > not including machines using a GIC, the GIC model is not > built in but the 'query-gic-capabilities' command still > returns false hopes about GIC: > > {"execute": "query-gic-capabilities"} > {"return": [{"emulated": true, "version": 3, "kernel": false}, {"emulated": > true, "version": 2, "kernel": false}]} > > Restrict the command to when the GIC is available. If it > isn't we'll get: > > { "execute": "query-gic-capabilities" } > {"error": {"class": "CommandNotFound", "desc": "The command > query-gic-capabilities has not been found"}} > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2484 > Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> > --- > qapi/misc-target.json | 4 ++-- > hw/intc/arm_gic_qmp.c | 2 ++ > hw/intc/meson.build | 2 +- > 3 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/qapi/misc-target.json b/qapi/misc-target.json > index 8d70bd24d8..b857e44c2e 100644 > --- a/qapi/misc-target.json > +++ b/qapi/misc-target.json > @@ -316,7 +316,7 @@ > 'data': { 'version': 'int', > 'emulated': 'bool', > 'kernel': 'bool' }, > - 'if': 'TARGET_ARM' } > + 'if': 'CONFIG_ARM_GIC' } > > ## > # @query-gic-capabilities: > @@ -335,7 +335,7 @@ > # { "version": 3, "emulated": false, "kernel": true } ] } > ## > { 'command': 'query-gic-capabilities', 'returns': ['GICCapability'], > - 'if': 'TARGET_ARM' } > + 'if': 'CONFIG_ARM_GIC' } > > ## > # @SGXEPCSection: > diff --git a/hw/intc/arm_gic_qmp.c b/hw/intc/arm_gic_qmp.c > index 71056a0c10..1fc79c775b 100644 > --- a/hw/intc/arm_gic_qmp.c > +++ b/hw/intc/arm_gic_qmp.c > @@ -6,6 +6,8 @@ > > #include "qemu/osdep.h" > #include "qapi/util.h" > + > +#include CONFIG_DEVICES
Uh, why do we need this now? > #include "qapi/qapi-commands-misc-target.h" > #include "kvm_arm.h" > > diff --git a/hw/intc/meson.build b/hw/intc/meson.build > index 45d3503d49..b9550967e2 100644 > --- a/hw/intc/meson.build > +++ b/hw/intc/meson.build > @@ -39,7 +39,7 @@ if config_all_devices.has_key('CONFIG_APIC') or \ > endif > > specific_ss.add(when: 'CONFIG_APIC', if_true: files('apic.c', > 'apic_common.c')) > -specific_ss.add(when: 'CONFIG_ARM', if_true: files('arm_gic_qmp.c')) > +specific_ss.add(when: 'CONFIG_ARM_GIC', if_true: files('arm_gic_qmp.c')) > specific_ss.add(when: 'CONFIG_ARM_GIC', if_true: > files('arm_gicv3_cpuif_common.c')) > specific_ss.add(when: 'CONFIG_ARM_GICV3_TCG', if_true: > files('arm_gicv3_cpuif.c')) > specific_ss.add(when: 'CONFIG_ARM_GIC_KVM', if_true: files('arm_gic_kvm.c'))