1. 14 5月, 2018 7 次提交
    • D
      s390x: refactor reset/reipl handling · a30fb811
      David Hildenbrand 提交于
      Calling pause_all_vcpus()/resume_all_vcpus() from a VCPU thread might
      not be the best idea. As pause_all_vcpus() temporarily drops the qemu
      mutex, two parallel calls to pause_all_vcpus() can be active at a time,
      resulting in a deadlock. (either by two VCPUs or by the main thread and a
      VCPU)
      
      Let's handle it via the main loop instead, as suggested by Paolo. If we
      would have two parallel reset requests by two different VCPUs at the
      same time, the last one would win.
      
      We use the existing ipl device to handle it. The nice side effect is
      that we can get rid of reipl_requested.
      
      This change implies that all reset handling now goes via the common
      path, so "no-reboot" handling is now active for all kinds of reboots.
      
      Let's execute any CPU initialization code on the target CPU using
      run_on_cpu.
      Signed-off-by: NDavid Hildenbrand <david@redhat.com>
      Message-Id: <20180424101859.10239-1-david@redhat.com>
      Acked-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      a30fb811
    • C
      s390x/ccw: make sure all ccw devices are properly reset · 838fb84f
      Cornelia Huck 提交于
      Thomas reported that the subchannel for a  3270 device that ended up
      in a broken state (status pending even though not enabled) did not
      get out of that state even after a reboot (which involves a subsytem
      reset). The reason for this is that the 3270 device did not define
      a reset handler.
      
      Let's fix this by introducing a base reset handler (set up for all
      ccw devices) that resets the subchannel and have virtio-ccw call
      its virtio-specific reset procedure in addition to that.
      
      CC: qemu-stable@nongnu.org
      Reported-by: NThomas Huth <thuth@redhat.com>
      Suggested-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Reviewed-by: NThomas Huth <thuth@redhat.com>
      Tested-by: NThomas Huth <thuth@redhat.com>
      Acked-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Reviewed-by: NHalil Pasic <pasic@linux.ibm.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      838fb84f
    • C
      virtio-ccw: common reset handler · 0c53057a
      Cornelia Huck 提交于
      All the different virtio ccw devices use the same reset handler,
      so let's move setting it into the base virtio ccw device class.
      
      CC: qemu-stable@nongnu.org
      Reviewed-by: NThomas Huth <thuth@redhat.com>
      Reviewed-by: NDavid Hildenbrand <david@redhat.com>
      Reviewed-by: NHalil Pasic <pasic@linux.ibm.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      0c53057a
    • T
      pc-bios/s390-ccw: struct tpi_info must be declared as aligned(4) · a6e4385d
      Thomas Huth 提交于
      I've run into a compilation error today with the current version of GCC 8:
      
      In file included from s390-ccw.h:49,
                       from main.c:12:
      cio.h:128:1: error: alignment 1 of 'struct tpi_info' is less than 4 [-Werror=packed-not-aligned]
       } __attribute__ ((packed));
       ^
      cc1: all warnings being treated as errors
      
      Since the struct tpi_info contains an element ("struct subchannel_id schid")
      which is marked as aligned(4), we've got to mark the struct tpi_info as
      aligned(4), too.
      
      CC: qemu-stable@nongnu.org
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Message-Id: <1525774672-11913-1-git-send-email-thuth@redhat.com>
      Reviewed-by: NCornelia Huck <cohuck@redhat.com>
      Acked-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      a6e4385d
    • C
      s390x/css: disabled subchannels cannot be status pending · 6e9c893e
      Cornelia Huck 提交于
      The 3270 code will try to post an attention interrupt when the
      3270 emulator (e.g. x3270) attaches. If the guest has not yet
      enabled the subchannel for the 3270 device, we will present a spurious
      cc 1 (status pending) when it uses msch on it later on, e.g. when
      trying to enable the subchannel.
      
      To fix this, just don't do anything in css_conditional_io_interrupt()
      if the subchannel is not enabled. The 3270 code will work fine with
      that, and the other user of this function (virtio-ccw) never
      attempts to post an interrupt for a disabled device to begin with.
      
      CC: qemu-stable@nongnu.org
      Reported-by: NThomas Huth <thuth@redhat.com>
      Tested-by: NThomas Huth <thuth@redhat.com>
      Acked-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Acked-by: NHalil Pasic <pasic@linux.ibm.com>
      Reviewed-by: NDavid Hildenbrand <david@redhat.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      6e9c893e
    • P
      Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging · bbd87423
      Peter Maydell 提交于
      tracing patches
      
      Just a MAINTAINERS file update for tracing files.
      
      # gpg: Signature made Fri 11 May 2018 19:28:34 BST
      # gpg:                using RSA key 9CA4ABB381AB73C8
      # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
      # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>"
      # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8
      
      * remotes/stefanha/tags/tracing-pull-request:
        MAINTAINERS: Add trace-events and qemu-option-trace.texi to tracing section
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      bbd87423
    • P
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging · 9ba1733a
      Peter Maydell 提交于
      * Don't silently truncate extremely long words in the command line
      * dtc configure fixes
      * MemoryRegionCache second try
      * Deprecated option removal
      * add support for Hyper-V reenlightenment MSRs
      
      # gpg: Signature made Fri 11 May 2018 13:33:46 BST
      # gpg:                using RSA key BFFBD25F78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
      # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
      #      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
      
      * remotes/bonzini/tags/for-upstream: (29 commits)
        rename included C files to foo.inc.c, remove osdep.h
        pc-dimm: fix error messages if no slots were defined
        build: Silence dtc directory creation
        shippable: Remove Debian 8 libfdt kludge
        configure: Display if libfdt is from system or git
        configure: Really use local libfdt if the system one is too old
        i386/kvm: add support for Hyper-V reenlightenment MSRs
        qemu-doc: provide details of supported build platforms
        qemu-options: Remove deprecated -no-kvm-irqchip
        qemu-options: Remove deprecated -no-kvm-pit-reinjection
        qemu-options: Bail out on unsupported options instead of silently ignoring them
        qemu-options: Remove remainders of the -tdf option
        qemu-options: Mark -virtioconsole as deprecated
        target/i386: sev: fix memory leaks
        opts: don't silently truncate long option values
        opts: don't silently truncate long parameter keys
        accel: use g_strsplit for parsing accelerator names
        update-linux-headers: drop hyperv.h
        qemu-thread: always keep the posix wrapper layer
        exec: reintroduce MemoryRegion caching
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      9ba1733a
  2. 12 5月, 2018 1 次提交
    • P
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20180510' into staging · f5583c52
      Peter Maydell 提交于
      target-arm queue:
       * hw/arm/iotkit.c: fix minor memory leak
       * softfloat: fix wrong-exception-flags bug for multiply-add corner case
       * arm: isolate and clean up DTB generation
       * implement Arm v8.1-Atomics extension
       * Fix some bugs and missing instructions in the v8.2-FP16 extension
      
      # gpg: Signature made Thu 10 May 2018 18:44:34 BST
      # gpg:                using RSA key 3C2525ED14360CDE
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>"
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>"
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>"
      # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE
      
      * remotes/pmaydell/tags/pull-target-arm-20180510: (21 commits)
        target/arm: Clear SVE high bits for FMOV
        target/arm: Fix float16 to/from int16
        target/arm: Implement vector shifted FCVT for fp16
        target/arm: Implement vector shifted SCVF/UCVF for fp16
        target/arm: Enable ARM_FEATURE_V8_ATOMICS for user-only
        target/arm: Implement CAS and CASP
        target/arm: Fill in disas_ldst_atomic
        target/arm: Introduce ARM_FEATURE_V8_ATOMICS and initial decode
        target/riscv: Use new atomic min/max expanders
        tcg: Use GEN_ATOMIC_HELPER_FN for opposite endian atomic add
        tcg: Introduce atomic helpers for integer min/max
        target/xtensa: Use new min/max expanders
        target/arm: Use new min/max expanders
        tcg: Introduce helpers for integer min/max
        atomic.h: Work around gcc spurious "unused value" warning
        make sure that we aren't overwriting mc->get_hotplug_handler by accident
        arm/boot: split load_dtb() from arm_load_kernel()
        platform-bus-device: use device plug callback instead of machine_done notifier
        pc: simplify MachineClass::get_hotplug_handler handling
        softfloat: Handle default NaN mode after pickNaNMulAdd, not before
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      
      # Conflicts:
      #	target/riscv/translate.c
      f5583c52
  3. 11 5月, 2018 31 次提交
  4. 10 5月, 2018 1 次提交