qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 92b198: hw/sparc64/sun4u: Fix introspection b


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 92b198: hw/sparc64/sun4u: Fix introspection by converting ...
Date: Tue, 19 Jun 2018 10:28:36 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 92b19880f7f9cf7f4a9e00dc3258b8d3aa363e9d
      
https://github.com/qemu/qemu/commit/92b19880f7f9cf7f4a9e00dc3258b8d3aa363e9d
  Author: Thomas Huth <address@hidden>
  Date:   2018-06-17 (Sun, 17 Jun 2018)

  Changed paths:
    M hw/sparc64/sun4u.c

  Log Message:
  -----------
  hw/sparc64/sun4u: Fix introspection by converting prom instance_init to 
realize

The instance_init function of devices should always succeed to be able
to introspect the device. However, the instance_init function of the
"openprom" device can currently fail, for example like this:

$ echo "{'execute':'qmp_capabilities'}"\
       "{'execute':'device-list-properties',"\
       " 'arguments':{'typename':'openprom'}}" \
       | sparc64-softmmu/qemu-system-sparc64 -M sun4v,accel=qtest -qmp stdio
{"QMP": {"version": {"qemu": {"micro": 91, "minor": 11, "major": 2},
 "package": "build-all"}, "capabilities": []}}
{"return": {}}
RAMBlock "sun4u.prom" already registered, abort!
Aborted (core dumped)

This should not happen. Fix this problem by moving the affected code from
instance_init into a realize function instead.

Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: a2a5a7b5e21da225e91304dd0816d0c8f7d40bb9
      
https://github.com/qemu/qemu/commit/a2a5a7b5e21da225e91304dd0816d0c8f7d40bb9
  Author: Thomas Huth <address@hidden>
  Date:   2018-06-17 (Sun, 17 Jun 2018)

  Changed paths:
    M hw/sparc/sun4m.c

  Log Message:
  -----------
  hw/sparc/sun4m: Fix problems with device introspection

Several devices of the sun4m machines are using &error_fatal in
their instance_init function and thus can cause QEMU to abort
unexpectedly:

$ echo "{'execute':'qmp_capabilities'}"\
       "{'execute':'device-list-properties',"\
       " 'arguments':{'typename':'openprom'}}" \
       | sparc-softmmu/qemu-system-sparc -M SS-10 -S -qmp stdio
{"QMP": {"version": {"qemu": {"micro": 91, "minor": 11, "major": 2},
 "package": "build-all"}, "capabilities": []}}
{"return": {}}
RAMBlock "sun4m.prom" already registered, abort!
Aborted (core dumped)

$ echo "{'execute':'qmp_capabilities'}"\
       "{'execute':'device-list-properties',"\
       " 'arguments':{'typename':'macio_idreg'}}" \
       | sparc-softmmu/qemu-system-sparc -M SS-10 -S -qmp stdio
{"QMP": {"version": {"qemu": {"micro": 91, "minor": 11, "major": 2},
 "package": "build-all"}, "capabilities": []}}
{"return": {}}
RAMBlock "sun4m.idreg" already registered, abort!
Aborted (core dumped)

$ echo "{'execute':'qmp_capabilities'}"\
       "{'execute':'device-list-properties',"\
       " 'arguments':{'typename':'tcx_afx'}}" \
       | sparc-softmmu/qemu-system-sparc -M SS-5 -S -qmp stdio
{"QMP": {"version": {"qemu": {"micro": 91, "minor": 11, "major": 2},
 "package": "build-all"}, "capabilities": []}}
{"return": {}}
RAMBlock "sun4m.afx" already registered, abort!
Aborted (core dumped)

Fix the issues by converting the instance_init functions into realize()
functions instead, which are allowed to fail (and not called during
device introspection).

Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: 46bb0137b8266ab8dedc3b9712f3d246bbd686ba
      
https://github.com/qemu/qemu/commit/46bb0137b8266ab8dedc3b9712f3d246bbd686ba
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2018-06-17 (Sun, 17 Jun 2018)

  Changed paths:
    M target/sparc/translate.c

  Log Message:
  -----------
  SPARC64: add icount support

This patch adds gen_io_start()/gen_io_end() to various instructions as required
in order to boot my OpenBIOS test images on qemu-system-sparc64 with icount
enabled.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: 79449bc311070658122cd54534cd95c1296d94a6
      
https://github.com/qemu/qemu/commit/79449bc311070658122cd54534cd95c1296d94a6
  Author: Peter Maydell <address@hidden>
  Date:   2018-06-19 (Tue, 19 Jun 2018)

  Changed paths:
    M hw/sparc/sun4m.c
    M hw/sparc64/sun4u.c
    M target/sparc/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mcayland/tags/qemu-sparc-20180618' into 
staging

qemu-sparc queue

# gpg: Signature made Mon 18 Jun 2018 18:43:24 BST
# gpg:                using RSA key 5BC2C56FAE0F321F
# gpg: Good signature from "Mark Cave-Ayland <address@hidden>"
# Primary key fingerprint: CC62 1AB9 8E82 200D 915C  C9C4 5BC2 C56F AE0F 321F

* remotes/mcayland/tags/qemu-sparc-20180618:
  SPARC64: add icount support
  hw/sparc/sun4m: Fix problems with device introspection
  hw/sparc64/sun4u: Fix introspection by converting prom instance_init to 
realize

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


Compare: https://github.com/qemu/qemu/compare/727f8d87aaf8...79449bc31107
      **NOTE:** This service been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

reply via email to

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