On 5 April 2018 at 07:09, Thomas Huth <th...@redhat.com> wrote: > QEMU currently exits unexpectedly when trying to introspect the fsl-imx6 > and fsl-imx7 devices on systems with many SMP CPUs: > > $ echo "{'execute':'qmp_capabilities'}"\ > "{'execute':'device-list-properties',"\ > " 'arguments':{'typename':'fsl,imx6'}}" \ > | arm-softmmu/qemu-system-arm -M virt,accel=qtest -qmp stdio -smp 8 > {"QMP": {"version": {"qemu": {"micro": 91, "minor": 11, "major": 2}, > "package": "build-all"}, "capabilities": []}} > {"return": {}} > fsl,imx6: Only 4 CPUs are supported (8 requested) > > And: > > $ echo "{'execute':'qmp_capabilities'}"\ > "{'execute':'device-list-properties',"\ > " 'arguments':{'typename':'fsl,imx7'}}" \ > | arm-softmmu/qemu-system-arm -M raspi2,accel=qtest -qmp stdio > {"QMP": {"version": {"qemu": {"micro": 91, "minor": 11, "major": 2}, > "package": "build-all"}, "capabilities": []}} > {"return": {}} > fsl,imx7: Only 2 CPUs are supported (4 requested) > > This happens because these devices are doing an exit() from their > instance_init function - which should never be done since instance_init > can be called at any time for device introspection! Fix it by moving > the deadly check into the realize() function instead. > > Signed-off-by: Thomas Huth <th...@redhat.com>
Applied to target-arm.next, thanks. -- PMM