1. 05 5月, 2018 11 次提交
  2. 26 4月, 2018 8 次提交
  3. 10 4月, 2018 4 次提交
    • T
      hw/arm/fsl-imx: Fix introspection problem with fsl-imx6 and fsl-imx7 · f640a591
      Thomas Huth 提交于
      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: NThomas Huth <thuth@redhat.com>
      Message-id: 1522908551-14885-1-git-send-email-thuth@redhat.com
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      f640a591
    • T
      hw/arm/allwinner-a10: Do not use nd_table in instance_init function · 8aabc543
      Thomas Huth 提交于
      The instance_init function of a device can be called at any time, even
      if the device is not going to be used (i.e. not going to be realized).
      So a instance_init function must not do things that could cause QEMU
      to exit, like calling qemu_check_nic_model(&nd_table[0], ...) for example.
      But this is what the instance_init function of the allwinner-a10 device
      is currently doing - and this causes QEMU to quit unexpectedly when
      you run the 'device-list-properties' QMP command for example:
      
      $ echo "{'execute':'qmp_capabilities'}"\
             "{'execute':'device-list-properties',"\
             " 'arguments':{'typename':'allwinner-a10'}}" \
             | arm-softmmu/qemu-system-arm -M mps2-an505,accel=qtest -qmp stdio
      {"QMP": {"version": {"qemu": {"micro": 91, "minor": 11, "major": 2},
       "package": "build-all"}, "capabilities": []}}
      {"return": {}}
      Unsupported NIC model: lan9118
      
      ... and QEMU quits after printing the last line (which should not happen
      just because of running 'device-list-properties' here).
      
      And with the cubieboard, this even causes QEMU to abort():
      
      $ echo "{'execute':'qmp_capabilities'}"\
             "{'execute':'device-list-properties',"\
             " 'arguments':{'typename':'allwinner-a10'}}" \
             | arm-softmmu/qemu-system-arm -M cubieboard,accel=qtest -qmp stdio
      {"QMP": {"version": {"qemu": {"micro": 91, "minor": 11, "major": 2},
       "package": "build-all"}, "capabilities": []}}
      {"return": {}}
      Unexpected error in error_set_from_qdev_prop_error() at hw/core/qdev-properties.c:1095:
      Property 'allwinner-emac.netdev' can't take value 'hub0port0', it's in use
      Aborted (core dumped)
      
      To fix the problem we've got to move the offending code to the realize
      function instead.
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Message-id: 1522862420-7484-1-git-send-email-thuth@redhat.com
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      8aabc543
    • T
      hw/arm/integratorcp: Don't do things that could be fatal in the instance_init · 8720daad
      Thomas Huth 提交于
      An instance_init function must not fail - and might be called multiple times,
      e.g. during device introspection with the 'device-list-properties' QMP
      command. Since the integratorcm device ignores this rule, QEMU currently
      aborts in this case (though it really should not):
      
      echo "{'execute':'qmp_capabilities'}"\
           "{'execute':'device-list-properties',"\
           "'arguments':{'typename':'integrator_core'}}" \
           | arm-softmmu/qemu-system-arm -M integratorcp,accel=qtest -qmp stdio
      {"QMP": {"version": {"qemu": {"micro": 91, "minor": 11, "major": 2},
       "package": "build-all"}, "capabilities": []}}
      {"return": {}}
      RAMBlock "integrator.flash" already registered, abort!
      Aborted (core dumped)
      
      Move the problematic code to the realize() function instead to fix this
      problem.
      Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Message-id: 1522906473-11252-1-git-send-email-thuth@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      8720daad
    • A
      hw/arm: Allow manually specified /psci node · c39770cd
      Andrey Smirnov 提交于
      Change the code to avoid exiting QEMU if user provided DTB contains
      manually specified /psci node and skip any /psci related fixups
      instead.
      
      Fixes: 4cbca7d9 ("hw/arm: Move virt's PSCI DT fixup code to
      arm/boot.c")
      Signed-off-by: NAndrey Smirnov <andrew.smirnov@gmail.com>
      Reported-by: NMarc Zyngier <marc.zyngier@arm.com>
      Tested-by: NMarc Zyngier <marc.zyngier@arm.com>
      Message-id: 20180402205654.14572-1-andrew.smirnov@gmail.com
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      c39770cd
  4. 24 3月, 2018 2 次提交
  5. 20 3月, 2018 9 次提交
  6. 14 3月, 2018 2 次提交
  7. 12 3月, 2018 1 次提交
  8. 10 3月, 2018 3 次提交