1. 12 5月, 2015 5 次提交
    • F
      hw/intc/arm_gic: Create outbound FIQ lines · 44f55296
      Fabian Aggeler 提交于
      Create the outbound FIQ lines from the GIC to the CPUs; these are
      used if the GIC has security extensions or grouping support.
      Signed-off-by: NFabian Aggeler <aggelerf@ethz.ch>
      Signed-off-by: NGreg Bellows <greg.bellows@linaro.org>
      Reviewed-by: NEdgar E. Iglesias <edgar.iglesias@xilinx.com>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1430502643-25909-2-git-send-email-peter.maydell@linaro.org
      Message-id: 1429113742-8371-2-git-send-email-greg.bellows@linaro.org
      [PMM: added FIQ lines to kvm-arm-gic so its interface is the same;
      tweaked commit message]
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      44f55296
    • P
      hw/sd: Don't pass BlockBackend to sd_reset() · 16b781aa
      Peter Maydell 提交于
      The only valid BlockBackend to pass to sd_reset() is the one for
      the SD card, which is sd->blk. Drop the second argument from this
      function in favour of having it just use sd->blk.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Message-id: 1430683444-9797-1-git-send-email-peter.maydell@linaro.org
      16b781aa
    • A
      armv7m_nvic: systick: Reload the RELOAD value and count down only if ENABLE bit is set · 165cdaf8
      Adrian Huang 提交于
      Consider the following pseudo code to configure SYSTICK (The
      recommended programming sequence from "the definitive guide to the
      arm cortex-m3"):
          SYSTICK Reload Value Register = 0xffff
          SYSTICK Current Value Register = 0
          SYSTICK Control and Status Register = 0x7
      
      The pseudo code "SYSTICK Current Value Register = 0" leads to invoking
      systick_reload(). As a consequence, the systick.tick member is updated
      and the systick timer starts to count down when the ENABLE bit of
      SYSTICK Control and Status Register is cleared.
      
      The worst case is that: during the system initialization, the reset
      value of the SYSTICK Control and Status Register is 0x00000000.
      When the code "SYSTICK Current Value Register = 0" is executed, the
      systick.tick member is accumulated with "(s->systick.reload + 1) *
      systick_scale(s)". The systick_scale() gets the external_ref_clock
      scale because the CLKSOURCE bit of the SYSTICK Control and Status
      Register is cleared. This is the incorrect behavior because of the
      code "SYSTICK Control and Status Register = 0x7". Actually, we want
      the processor clock instead of the external reference clock.
      
      This incorrect behavior defers the generation of the first interrupt.
      
      The patch fixes the above-mentioned issue by setting the systick.tick
      member and modifying the systick timer only if the ENABLE bit of
      the SYSTICK Control and Status Register is set.
      
      In addition, the Cortex-M3 Devices Generic User Guide mentioned that
      "When ENABLE is set to 1, the counter loads the RELOAD value from the
      SYST RVR register and then counts down". This patch adheres to the
      statement of the user guide.
      Signed-off-by: NAdrian Huang <adrianhuang0701@gmail.com>
      Reviewed-by: NJim Huang <jserv.tw@gmail.com>
      [PMM: minor tweak to comment text]
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      165cdaf8
    • P
      Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into staging · 19fbe508
      Peter Maydell 提交于
      # gpg: Signature made Mon May 11 16:25:58 2015 BST using RSA key ID 81AB73C8
      # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
      # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>"
      
      * remotes/stefanha/tags/net-pull-request:
        rocker: timestamp on the debug logs helps correlate with events in the VM
        MAINTAINERS: add rocker
        rocker: add tests
        rocker: add new rocker switch device
        pci: add network device class 'other' for network switches
        pci: add rocker device ID
        rocker: add register programming guide
        virtio-net: use qemu_mac_strdup_printf
        net: add MAC address string printer
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      19fbe508
    • P
      Merge remote-tracking branch 'remotes/qmp-unstable/tags/for-upstream' into staging · 704eb1c0
      Peter Maydell 提交于
      QMP pull request
      
      # gpg: Signature made Mon May 11 14:15:19 2015 BST using RSA key ID E24ED5A7
      # gpg: Good signature from "Luiz Capitulino <lcapitulino@gmail.com>"
      
      * remotes/qmp-unstable/tags/for-upstream:
        scripts: qmp-shell: Add verbose flag
        scripts: qmp-shell: add transaction subshell
        scripts: qmp-shell: Expand support for QMP expressions
        scripts: qmp-shell: refactor helpers
        MAINTAINERS: New maintainer for QMP and QAPI
        json-parser: Accept 'null' in QMP
        qobject: Add a special null QObject
        qobject: Clean up around qtype_code
        QJSON: Use OBJECT_CHECK
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      704eb1c0
  2. 11 5月, 2015 31 次提交
  3. 08 5月, 2015 4 次提交
    • P
      qemu-nbd: only send a limited number of errno codes on the wire · ca441480
      Paolo Bonzini 提交于
      Right now, NBD includes potentially platform-specific error values in
      the wire protocol.
      
      Luckily, most common error values are more or less universal: in
      particular, of all errno values <= 34 (up to ERANGE), they are all the
      same on supported platforms except for 11 (which is EAGAIN on Windows and
      Linux, but EDEADLK on Darwin and the *BSDs).  So, in order to guarantee
      some portability, only keep a handful of possible error codes and squash
      everything else to EINVAL.
      
      This patch defines a limited set of errno values that are valid for the
      NBD protocol, and specifies recommendations for what error to return
      in specific corner cases.  The set of errno values is roughly based on
      the errors listed in the read(2) and write(2) man pages, with some
      exceptions:
      
      - ENOMEM is added for servers that implement copy-on-write or other
        formats that require dynamic allocation.
      
      - EDQUOT is not part of the universal set of errors; it can be changed
        to ENOSPC on the wire format.
      
      - EFBIG is part of the universal set of errors, but it is also changed
        to ENOSPC because it is pretty similar to ENOSPC or EDQUOT.
      
      Incoming values will in general match system errno values, but not
      on the Hurd which has different errno values (they have a "subsystem
      code" equal to 0x10 in bits 24-31).  The Hurd is probably not something
      to which QEMU has been ported, but still do the right thing and
      reverse-map the NBD errno values to the system errno values.
      
      The corresponding patch to the NBD protocol description can be found at
      http://article.gmane.org/gmane.linux.drivers.nbd.general/3154.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      ca441480
    • F
      rules.mak: Force CFLAGS for all objects in DSO · d24697e1
      Fam Zheng 提交于
      Because of the trick of process-archive-undefs, all .mo objects, even
      with --enable-modules, are dependencies of executables.
      
      This breaks CFLAGS propogation because the compiling of module object
      will happen too early before building for DSO.
      
      With GCC 5, the linking would fail because .o doesn't have -fPIC. Also,
      BUILD_DSO will be missed. (module-common.o will have it, so the stamp
      symbol was still liked in .so).
      
      Fix the problem by forcing the CFLAGS on individual .o-cflags during
      unnest-vars.
      Reported-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Cc: qemu-stable@nongnu.org # 2.3
      Message-Id: <1430981715-31465-1-git-send-email-famz@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      d24697e1
    • A
      docs: update BLOCK_IMAGE_CORRUPTED documentation · 0caef8f6
      Alberto Garcia 提交于
      Label the "size" and "offset" fields in BLOCK_IMAGE_CORRUPTED as
      optional, and clarify that the latter refers to the host's offset into
      the image.
      Signed-off-by: NAlberto Garcia <berto@igalia.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      0caef8f6
    • M
      glib-compat.h: change assert to g_assert · f20f2a1f
      Michael Tokarev 提交于
      include/glib-compat.h defines a bunch of functions based on glib primitives,
      and uses assert() without including assert.h.  Replace assert() with
      g_assert() to make the file more self-contained, and to fix compilation
      breakage after 28507a41.
      Reported-by: NLaurent Desnogues <laurent.desnogues@gmail.com>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      Tested-by: NLaurent Desnogues <laurent.desnogues@gmail.com>
      f20f2a1f