1. 15 3月, 2017 1 次提交
    • P
      hw/misc/imx6_src: Don't crash trying to reset missing CPUs · 5e2fb7c5
      Peter Maydell 提交于
      Commit 4881658a introduced a call to arm_get_cpu_by_id(),
      and Coverity noticed that we weren't checking that it didn't
      return NULL (CID 1371652).
      
      Normally this won't happen (because all 4 CPUs are expected
      to exist), but it's possible the user requested fewer CPUs
      on the command line. Handle this possibility by silently
      doing nothing, which is the same behaviour as before commit
      4881658a and also how we handle the other CPU operations
      (since we ignore the INVALID_PARAM returns from arm_set_cpu_on()
      and friends).
      
      There is a slight behavioural difference to the pre-4881658a
      situation: the "reset this core" bit will remain set rather
      than not being permitted to be set. The imx6 datasheet is
      unclear about the behaviour in this odd corner case, so we
      opt for the simpler code rather than complicated logic to
      maintain identical behaviour.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1488542374-1256-1-git-send-email-peter.maydell@linaro.org
      Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
      5e2fb7c5
  2. 28 2月, 2017 3 次提交
    • K
      hw/arm/exynos: Fix Linux kernel division by zero for PLLs · 1e0228fd
      Krzysztof Kozlowski 提交于
      Without any clock controller, the Linux kernel was hitting division by
      zero during boot or with clk_summary:
      [    0.000000] [<c031054c>] (unwind_backtrace) from [<c030ba6c>] (show_stack+0x10/0x14)
      [    0.000000] [<c030ba6c>] (show_stack) from [<c05b2660>] (dump_stack+0x88/0x9c)
      [    0.000000] [<c05b2660>] (dump_stack) from [<c05b11a4>] (Ldiv0+0x8/0x10)
      [    0.000000] [<c05b11a4>] (Ldiv0) from [<c06ad1e0>] (samsung_pll45xx_recalc_rate+0x58/0x74)
      [    0.000000] [<c06ad1e0>] (samsung_pll45xx_recalc_rate) from [<c0692ec0>] (clk_register+0x39c/0x63c)
      [    0.000000] [<c0692ec0>] (clk_register) from [<c125d360>] (samsung_clk_register_pll+0x2e0/0x3d4)
      [    0.000000] [<c125d360>] (samsung_clk_register_pll) from [<c125d7e8>] (exynos4_clk_init+0x1b0/0x5e4)
      [    0.000000] [<c125d7e8>] (exynos4_clk_init) from [<c12335f4>] (of_clk_init+0x17c/0x210)
      [    0.000000] [<c12335f4>] (of_clk_init) from [<c1204700>] (time_init+0x24/0x2c)
      [    0.000000] [<c1204700>] (time_init) from [<c1200b2c>] (start_kernel+0x24c/0x38c)
      [    0.000000] [<c1200b2c>] (start_kernel) from [<4020807c>] (0x4020807c)
      
      Provide stub for clock controller returning reset values for PLLs.
      Signed-off-by: NKrzysztof Kozlowski <krzk@kernel.org>
      Message-id: 20170226200142.31169-1-krzk@kernel.org
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      1e0228fd
    • P
      bcm2835_rng: Use qcrypto_random_bytes() rather than rand() · 373442ea
      Peter Maydell 提交于
      Switch to using qcrypto_random_bytes() rather than rand() as
      our source of randomness for the BCM2835 RNG.
      
      If qcrypto_random_bytes() fails, we don't want to return the guest a
      non-random value in case they're really using it for cryptographic
      purposes, so the best we can do is a fatal error.  This shouldn't
      happen unless something's broken, though.
      
      In theory we could implement this device's full FIFO and interrupt
      semantics and then just stop filling the FIFO.  That's a lot of work,
      though, and doesn't really give a very nice diagnostic to the user
      since the guest will just seem to hang.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NDaniel P. Berrange <berrange@redhat.com>
      373442ea
    • M
      target-arm: Implement BCM2835 hardware RNG · 54a5ba13
      Marcin Chojnacki 提交于
      Recent vanilla Raspberry Pi kernels started to make use of
      the hardware random number generator in BCM2835 SoC. As a
      result, those kernels wouldn't work anymore under QEMU
      but rather just freeze during the boot process.
      
      This patch implements a trivial BCM2835 compatible RNG,
      and adds it as a peripheral to BCM2835 platform, which
      allows to boot a vanilla Raspberry Pi kernel under Qemu.
      
      Changes since v1:
       * Prevented guest from writing [31..20] bits in rng_status
       * Removed redundant minimum_version_id_old
       * Added field entries for the state
       * Changed realize function to reset
      Signed-off-by: NMarcin Chojnacki <marcinch7@gmail.com>
      Message-id: 20170210210857.47893-1-marcinch7@gmail.com
      Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      54a5ba13
  3. 24 2月, 2017 5 次提交
  4. 22 2月, 2017 1 次提交
  5. 16 2月, 2017 1 次提交
  6. 08 2月, 2017 1 次提交
  7. 01 2月, 2017 1 次提交
    • C
      pci: Convert msix_init() to Error and fix callers · ee640c62
      Cao jin 提交于
      msix_init() reports errors with error_report(), which is wrong when
      it's used in realize().  The same issue was fixed for msi_init() in
      commit 1108b2f8. In order to make the API change as small as possible,
      leave the return value check to later patch.
      
      For some devices(like e1000e, vmxnet3, nvme) who won't fail because of
      msix_init's failure, suppress the error report by passing NULL error
      object.
      
      Bonus: add comment for msix_init.
      
      CC: Jiri Pirko <jiri@resnulli.us>
      CC: Gerd Hoffmann <kraxel@redhat.com>
      CC: Dmitry Fleytman <dmitry@daynix.com>
      CC: Jason Wang <jasowang@redhat.com>
      CC: Michael S. Tsirkin <mst@redhat.com>
      CC: Hannes Reinecke <hare@suse.de>
      CC: Paolo Bonzini <pbonzini@redhat.com>
      CC: Alex Williamson <alex.williamson@redhat.com>
      CC: Markus Armbruster <armbru@redhat.com>
      CC: Marcel Apfelbaum <marcel@redhat.com>
      Signed-off-by: NCao jin <caoj.fnst@cn.fujitsu.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      ee640c62
  8. 28 1月, 2017 1 次提交
  9. 25 1月, 2017 1 次提交
  10. 20 1月, 2017 1 次提交
  11. 09 1月, 2017 1 次提交
  12. 27 12月, 2016 2 次提交
  13. 21 12月, 2016 1 次提交
    • T
      Move target-* CPU file into a target/ folder · fcf5ef2a
      Thomas Huth 提交于
      We've currently got 18 architectures in QEMU, and thus 18 target-xxx
      folders in the root folder of the QEMU source tree. More architectures
      (e.g. RISC-V, AVR) are likely to be included soon, too, so the main
      folder of the QEMU sources slowly gets quite overcrowded with the
      target-xxx folders.
      To disburden the main folder a little bit, let's move the target-xxx
      folders into a dedicated target/ folder, so that target-xxx/ simply
      becomes target/xxx/ instead.
      
      Acked-by: Laurent Vivier <laurent@vivier.eu> [m68k part]
      Acked-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> [tricore part]
      Acked-by: Michael Walle <michael@walle.cc> [lm32 part]
      Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> [s390x part]
      Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> [s390x part]
      Acked-by: Eduardo Habkost <ehabkost@redhat.com> [i386 part]
      Acked-by: Artyom Tarasenko <atar4qemu@gmail.com> [sparc part]
      Acked-by: Richard Henderson <rth@twiddle.net> [alpha part]
      Acked-by: Max Filippov <jcmvbkbc@gmail.com> [xtensa part]
      Reviewed-by: David Gibson <david@gibson.dropbear.id.au> [ppc part]
      Acked-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> [cris&microblaze part]
      Acked-by: Guan Xuetao <gxt@mprc.pku.edu.cn> [unicore32 part]
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      fcf5ef2a
  14. 18 11月, 2016 1 次提交
  15. 17 11月, 2016 1 次提交
  16. 28 10月, 2016 1 次提交
  17. 24 10月, 2016 3 次提交
  18. 04 10月, 2016 1 次提交
  19. 23 9月, 2016 5 次提交
  20. 15 9月, 2016 1 次提交
  21. 07 9月, 2016 2 次提交
  22. 12 8月, 2016 1 次提交
  23. 22 7月, 2016 2 次提交
  24. 18 7月, 2016 2 次提交
新手
引导
客服 返回
顶部