qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 91f751: vfio-ccw: Fix error message


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 91f751: vfio-ccw: Fix error message
Date: Mon, 16 Dec 2019 05:15:12 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 91f751dc111b270b1e81d80ac92cf479e7620fa4
      
https://github.com/qemu/qemu/commit/91f751dc111b270b1e81d80ac92cf479e7620fa4
  Author: Boris Fiuczynski <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M hw/vfio/ccw.c

  Log Message:
  -----------
  vfio-ccw: Fix error message

Signed-off-by: Boris Fiuczynski <address@hidden>
Reviewed-by: Eric Farman <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 3eb74d2087d3bd6cb51c06a49ba94222248d2de4
      
https://github.com/qemu/qemu/commit/3eb74d2087d3bd6cb51c06a49ba94222248d2de4
  Author: Cornelia Huck <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M hw/arm/virt.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/ppc/spapr.c
    M hw/s390x/s390-virtio-ccw.c
    M include/hw/i386/pc.h

  Log Message:
  -----------
  hw: add compat machines for 5.0

Add 5.0 machine types for arm/i440fx/q35/s390x/spapr.

For i440fx and q35, unversioned cpu models are still translated
to -v1; I'll leave changing this (if desired) to the respective
maintainers.

Signed-off-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Acked-by: David Gibson <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>


  Commit: ec9227339fce99412830d44a37eb0bd2fadd5f75
      
https://github.com/qemu/qemu/commit/ec9227339fce99412830d44a37eb0bd2fadd5f75
  Author: Janosch Frank <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c

  Log Message:
  -----------
  s390x: Don't do a normal reset on the initial cpu

The initiating cpu needs to be reset with an initial reset. While
doing a normal reset followed by a initial reset is not wrong per se,
the Ultravisor will only allow the correct reset to be performed.

Signed-off-by: Janosch Frank <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: eac4f82791f1807c423e85670837db103b9d59b3
      
https://github.com/qemu/qemu/commit/eac4f82791f1807c423e85670837db103b9d59b3
  Author: Janosch Frank <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M target/s390x/cpu-qom.h
    M target/s390x/cpu.c
    M target/s390x/cpu.h
    M target/s390x/sigp.c

  Log Message:
  -----------
  s390x: Move reset normal to shared reset handler

Let's start moving the cpu reset functions into a single function with
a switch/case, so we can later use fallthroughs and share more code
between resets.

This patch introduces the reset function by renaming cpu_reset().

Signed-off-by: Janosch Frank <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 81b9222358e5c8f666f0d86057c75e40531d804c
      
https://github.com/qemu/qemu/commit/81b9222358e5c8f666f0d86057c75e40531d804c
  Author: Janosch Frank <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M target/s390x/cpu-qom.h
    M target/s390x/cpu.c
    M target/s390x/cpu.h
    M target/s390x/sigp.c

  Log Message:
  -----------
  s390x: Move initial reset

Let's move the intial reset into the reset handler and cleanup
afterwards.

Signed-off-by: Janosch Frank <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: eb8adcc3e9e3b8405c104ede72cf9f3bb2a5e226
      
https://github.com/qemu/qemu/commit/eb8adcc3e9e3b8405c104ede72cf9f3bb2a5e226
  Author: Janosch Frank <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M target/s390x/cpu-qom.h
    M target/s390x/cpu.c

  Log Message:
  -----------
  s390x: Move clear reset

Let's also move the clear reset function into the reset handler.

Signed-off-by: Janosch Frank <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 0b7fd817e0f383760e37ca9286150d5816cf0594
      
https://github.com/qemu/qemu/commit/0b7fd817e0f383760e37ca9286150d5816cf0594
  Author: Janosch Frank <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M target/s390x/diag.c

  Log Message:
  -----------
  s390x: Beautify diag308 handling

Let's improve readability by:
* Using constants for the subcodes
* Moving parameter checking into a function
* Removing subcode > 6 check as the default case catches that

Signed-off-by: Janosch Frank <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 15b6c0370c3e2774fd9ffda5c10c6e36952e8eb6
      
https://github.com/qemu/qemu/commit/15b6c0370c3e2774fd9ffda5c10c6e36952e8eb6
  Author: Janosch Frank <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M target/s390x/kvm.c

  Log Message:
  -----------
  s390x: kvm: Make kvm_sclp_service_call void

It defaults to returning 0 anyway and that return value is not
necessary, as 0 is also the default rc that the caller would return.

While doing that we can simplify the logic a bit and return early if
we inject a PGM exception.

Signed-off-by: Janosch Frank <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: e893baee70149896d1e43e341da4d6c614037d5d
      
https://github.com/qemu/qemu/commit/e893baee70149896d1e43e341da4d6c614037d5d
  Author: Janosch Frank <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M target/s390x/cpu.c
    M target/s390x/cpu.h

  Log Message:
  -----------
  s390x: Fix cpu normal reset ri clearing

As it turns out we need to clear the ri controls and PSW enablement
bit to be architecture compliant.

Signed-off-by: Janosch Frank <address@hidden>
Reviewed-by: Christian Borntraeger <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 3d508334dd2c5f920a1b5221124b6633c3bf8e38
      
https://github.com/qemu/qemu/commit/3d508334dd2c5f920a1b5221124b6633c3bf8e38
  Author: Markus Armbruster <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M hw/s390x/event-facility.c

  Log Message:
  -----------
  s390x/event-facility: Fix realize() error API violations

sclp_events_bus_realize() dereferences @errp when
object_property_set_bool() fails.  That's wrong; see the big comment
in error.h.  Introduced in commit f6102c329c "s390/sclp: rework sclp
event facility initialization + device realization".

No caller actually passes null.

Fix anyway: splice in a local Error *err, and error_propagate().

Cc: David Hildenbrand <address@hidden>
Cc: Cornelia Huck <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 0325e5a37b52dd62d64701e1a247760bb6258c35
      
https://github.com/qemu/qemu/commit/0325e5a37b52dd62d64701e1a247760bb6258c35
  Author: Markus Armbruster <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M target/s390x/cpu_models.c

  Log Message:
  -----------
  s390x/cpumodel: Fix feature property error API violations

s390x-cpu property setters set_feature() and set_feature_group()
dereference @errp when the visitor fails.  That's wrong; see the big
comment in error.h.  Introduced in commit 0754f60429 "s390x/cpumodel:
expose features and feature groups as properties".

No caller actually passes null.

Fix anyway: splice in a local Error *err, and error_propagate().

Cc: David Hildenbrand <address@hidden>
Cc: Cornelia Huck <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: d687ae1ae280569f3072c28985cc2eba658b9b3f
      
https://github.com/qemu/qemu/commit/d687ae1ae280569f3072c28985cc2eba658b9b3f
  Author: Markus Armbruster <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M target/s390x/cpu_models.c

  Log Message:
  -----------
  s390x/cpumodel: Fix realize() error API violations

get_max_cpu_model() dereferences @errp when
kvm_s390_get_host_cpu_model() fails, apply_cpu_model() dereferences it
when kvm_s390_apply_cpu_model() fails, and s390_realize_cpu_model()
dereferences it when get_max_cpu_model() or check_compatibility()
fail.  That's wrong; see the big comment in error.h.  All three
introduced in commit 80560137cf "s390x/cpumodel: check and apply the
CPU model".

No caller actually passes null.

Fix anyway: splice in a local Error *err, and error_propagate().

Cc: David Hildenbrand <address@hidden>
Cc: Cornelia Huck <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: e47970f51dc4926feea976e05a955408527d4a3c
      
https://github.com/qemu/qemu/commit/e47970f51dc4926feea976e05a955408527d4a3c
  Author: Markus Armbruster <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M target/s390x/cpu_models.c

  Log Message:
  -----------
  s390x/cpumodel: Fix query-cpu-model-FOO error API violations

cpu_model_from_info() is a helper for qmp_query_cpu_model_expansion(),
qmp_query_cpu_model_comparison(), qmp_query_cpu_model_baseline().  It
dereferences @errp when the visitor or the QOM setter fails.  That's
wrong; see the big comment in error.h.  Introduced in commit
137974cea3 's390x/cpumodel: implement QMP interface
"query-cpu-model-expansion"'.

Its three callers have the same issue.  Introduced in commit
4e82ef0502 's390x/cpumodel: implement QMP interface
"query-cpu-model-comparison"' and commit f1a47d08ef 's390x/cpumodel:
implement QMP interface "query-cpu-model-baseline"'.

No caller actually passes null.

Fix anyway: splice in a local Error *err, and error_propagate().

Cc: David Hildenbrand <address@hidden>
Cc: Cornelia Huck <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 7dcb1baeaefee577ae73b9569215f426d48b4ffc
      
https://github.com/qemu/qemu/commit/7dcb1baeaefee577ae73b9569215f426d48b4ffc
  Author: Markus Armbruster <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M target/s390x/cpu_models.c

  Log Message:
  -----------
  s390x/cpumodel: Fix query-cpu-definitions error API violations

qmp_query_cpu_definitions() passes @errp to get_max_cpu_model(), then
frees any error it gets back.  This effectively ignores errors.
Dereferencing @errp is wrong; see the big comment in error.h.  Passing
@errp is also wrong, because it works only as long as @errp is neither
@error_fatal nor @error_abort.  Introduced in commit 38cba1f4d8
"s390x: return unavailable features via query-cpu-definitions".

No caller actually passes such @errp values.

Fix anyway: simply pass NULL to get_max_cpu_model().

Cc: David Hildenbrand <address@hidden>
Cc: Cornelia Huck <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: bcf88d56efec4ffc153bbe98d11b689a5ebe1a91
      
https://github.com/qemu/qemu/commit/bcf88d56efec4ffc153bbe98d11b689a5ebe1a91
  Author: Cornelia Huck <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M target/s390x/cpu.h

  Log Message:
  -----------
  s390x/tcg: clear local interrupts on reset normal

We neglected to clean up pending interrupts and emergency signals;
fix that.

Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>


  Commit: 5c6096e5656d34f5414834e2e2104646294976fe
      
https://github.com/qemu/qemu/commit/5c6096e5656d34f5414834e2e2104646294976fe
  Author: Cornelia Huck <address@hidden>
  Date:   2019-12-14 (Sat, 14 Dec 2019)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  qga: fence guest-set-time if hwclock not available

The Posix implementation of guest-set-time invokes hwclock to
set/retrieve the time to/from the hardware clock. If hwclock
is not available, the user is currently informed that "hwclock
failed to set hardware clock to system time", which is quite
misleading. This may happen e.g. on s390x, which has a different
timekeeping concept anyway.

Let's check for the availability of the hwclock command and
return QERR_UNSUPPORTED for guest-set-time if it is not available.

Reviewed-by: Laszlo Ersek <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>


  Commit: 7697ac55fcc6178fd8fd8aa22baed13a0c8ca942
      
https://github.com/qemu/qemu/commit/7697ac55fcc6178fd8fd8aa22baed13a0c8ca942
  Author: Peter Maydell <address@hidden>
  Date:   2019-12-16 (Mon, 16 Dec 2019)

  Changed paths:
    M hw/arm/virt.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/ppc/spapr.c
    M hw/s390x/event-facility.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/vfio/ccw.c
    M include/hw/i386/pc.h
    M qga/commands-posix.c
    M target/s390x/cpu-qom.h
    M target/s390x/cpu.c
    M target/s390x/cpu.h
    M target/s390x/cpu_models.c
    M target/s390x/diag.c
    M target/s390x/kvm.c
    M target/s390x/sigp.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20191214-2' into 
staging

First s390x update for 5.0:
- compat machines (also for other architectures)
- cleanups and fixes in reset handling
- fence off guest-set-time, as we have no hwclock
- fix some misuses of the error API
- further cleanups

# gpg: Signature made Sat 14 Dec 2019 09:33:17 GMT
# gpg:                using RSA key C3D0D66DC3624FF6A8C018CEDECF6B93C6F02FAF
# gpg:                issuer "address@hidden"
# gpg: Good signature from "Cornelia Huck <address@hidden>" [unknown]
# gpg:                 aka "Cornelia Huck <address@hidden>" [full]
# gpg:                 aka "Cornelia Huck <address@hidden>" [full]
# gpg:                 aka "Cornelia Huck <address@hidden>" [unknown]
# gpg:                 aka "Cornelia Huck <address@hidden>" [unknown]
# Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0  18CE DECF 6B93 C6F0 2FAF

* remotes/cohuck/tags/s390x-20191214-2:
  qga: fence guest-set-time if hwclock not available
  s390x/tcg: clear local interrupts on reset normal
  s390x/cpumodel: Fix query-cpu-definitions error API violations
  s390x/cpumodel: Fix query-cpu-model-FOO error API violations
  s390x/cpumodel: Fix realize() error API violations
  s390x/cpumodel: Fix feature property error API violations
  s390x/event-facility: Fix realize() error API violations
  s390x: Fix cpu normal reset ri clearing
  s390x: kvm: Make kvm_sclp_service_call void
  s390x: Beautify diag308 handling
  s390x: Move clear reset
  s390x: Move initial reset
  s390x: Move reset normal to shared reset handler
  s390x: Don't do a normal reset on the initial cpu
  hw: add compat machines for 5.0
  vfio-ccw: Fix error message

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/084a398bf8aa...7697ac55fcc6



reply via email to

[Prev in Thread] Current Thread [Next in Thread]