.gitmodules | 3 + Makefile | 4 +- default-configs/ppc-softmmu.mak | 2 + default-configs/ppcemb-softmmu.mak | 1 + hw/input/adb-kbd.c | 4 + hw/input/adb-mouse.c | 5 + hw/input/trace-events | 5 + hw/intc/heathrow_pic.c | 166 +++++----- hw/intc/openpic.c | 157 ---------- hw/intc/openpic_kvm.c | 1 + hw/intc/trace-events | 5 + hw/misc/macio/macio.c | 150 +++++---- hw/ppc/Makefile.objs | 3 +- hw/ppc/e500.c | 124 +++++--- hw/ppc/mac.h | 10 +- hw/ppc/mac_newworld.c | 56 ++-- hw/ppc/mac_oldworld.c | 50 ++- hw/ppc/ppc440_pcix.c | 528 ++++++++++++++++++++++++++++++++ hw/ppc/ppc440_uc.c | 3 + hw/ppc/sam460ex.c | 603 +++++++++++++++++++++++++++++++++++++ hw/ppc/spapr.c | 176 ++++++----- hw/ppc/spapr_caps.c | 153 +++++++--- hw/ppc/spapr_hcall.c | 5 +- hw/ppc/trace-events | 8 + include/hw/intc/heathrow_pic.h | 49 +++ include/hw/misc/macio/macio.h | 79 +++++ include/hw/ppc/openpic.h | 160 +++++++++- include/hw/ppc/openpic_kvm.h | 7 + include/hw/ppc/spapr.h | 5 +- pc-bios/canyonlands.dtb | Bin 0 -> 9779 bytes pc-bios/canyonlands.dts | 566 ++++++++++++++++++++++++++++++++++ pc-bios/u-boot-sam460-20100605.bin | Bin 0 -> 524288 bytes roms/Makefile | 7 + roms/u-boot-sam460ex | 1 + target/ppc/kvm-stub.c | 2 +- target/ppc/kvm.c | 6 +- target/ppc/translate_init.c | 2 + 37 files changed, 2533 insertions(+), 573 deletions(-) create mode 100644 hw/ppc/ppc440_pcix.c create mode 100644 hw/ppc/sam460ex.c create mode 100644 include/hw/intc/heathrow_pic.h create mode 100644 include/hw/misc/macio/macio.h create mode 100644 include/hw/ppc/openpic_kvm.h create mode 100644 pc-bios/canyonlands.dtb create mode 100644 pc-bios/canyonlands.dts create mode 100755 pc-bios/u-boot-sam460-20100605.bin create mode 160000 roms/u-boot-sam460ex
The following changes since commit f2bb2d14c2958f3f5aef456bd2cdb1ff99f4a562:
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging (2018-03-05 16:41:20 +0000)
are available in the Git repository at:
git://github.com/dgibson/qemu.git tags/ppc-for-2.12-20180306
for you to fetch changes up to 21b786f607b11d888f90bbb8c3414500515d11e7:
PowerPC: Add TS bits into msr_mask (2018-03-06 13:16:29 +1100)
----------------------------------------------------------------
ppc patch queue 2018-03-06
This pull request supersedes ppc-for-2.12-20180302 which had compile
problems with some gcc versions. It also contains a few additional
patches.
Highlights are:
* New Sam460ex machine type
* Yet more fixes related to vcpu id allocation for spapr
* Numerous macio cleanupsr
* Some enhancements to the Spectre/Meltdown fixes for pseries,
allowing use of a better mitigation for indirect branch based
exploits
* New pseries machine types with Spectre/Meltdown mitigations
enabled (stop gap until libvirt and management understands the
machine options)
* A handful of other fixes
----------------------------------------------------------------
BALATON Zoltan (5):
ppc440_uc: Fix unintialized variable warning with older gcc
ppc440: Add emulation of plb-pcix controller found in some 440 SoCs
roms: Added git submodule for u-boot-sam460 (firmware for sam460ex)
pc-bios: Added u-boot-sam460 firmware binary
ppc: Add aCube Sam460ex board
David Engraf (1):
PPC: e500: Fix duplicate kernel load and device tree overlap
Greg Kurz (3):
spapr: fix missing CPU core nodes in DT when running with TCG
spapr: register dummy ICPs later
spapr: harden code that depends on VSMT
Mark Cave-Ayland (13):
macio: embed DBDMA device directly within macio
macio: move ESCC device within the macio device
heathrow: QOMify heathrow PIC
heathrow: convert to trace-events
heathrow: change heathrow_pic_init() to return the heathrow device
macio: move macio related structures and defines into separate macio.h file
mac_oldworld: use object link to pass heathrow PIC object to macio
openpic: move KVM-specific declarations into separate openpic_kvm.h file
openpic: move OpenPIC state and related definitions to openpic.h
mac_newworld: use object link to pass OpenPIC object to macio
macio: move setting of CUDA timebase frequency to macio_common_realize()
macio: remove macio_init() function
adb: add trace-events for monitoring keyboard/mouse during bus enumeration
Nikunj A Dadhania (1):
hw/ppc/spapr,e500: Use new property "stdout-path" for boot console
Simon Guo (1):
PowerPC: Add TS bits into msr_mask
Suraj Jitindar Singh (6):
target/ppc: Check mask when setting cap_ppc_safe_indirect_branch
ppc/spapr-caps: Add support for custom spapr_capabilities
ppc/spapr-caps: Convert cap-cfpc to custom spapr-cap
ppc/spapr-caps: Convert cap-sbbc to custom spapr-cap
ppc/spapr-caps: Convert cap-ibs to custom spapr-cap
ppc/spapr-caps: Define the pseries-2.12-sxxm machine type
.gitmodules | 3 +
Makefile | 4 +-
default-configs/ppc-softmmu.mak | 2 +
default-configs/ppcemb-softmmu.mak | 1 +
hw/input/adb-kbd.c | 4 +
hw/input/adb-mouse.c | 5 +
hw/input/trace-events | 5 +
hw/intc/heathrow_pic.c | 166 +++++-----
hw/intc/openpic.c | 157 ----------
hw/intc/openpic_kvm.c | 1 +
hw/intc/trace-events | 5 +
hw/misc/macio/macio.c | 150 +++++----
hw/ppc/Makefile.objs | 3 +-
hw/ppc/e500.c | 124 +++++---
hw/ppc/mac.h | 10 +-
hw/ppc/mac_newworld.c | 56 ++--
hw/ppc/mac_oldworld.c | 50 ++-
hw/ppc/ppc440_pcix.c | 528 ++++++++++++++++++++++++++++++++
hw/ppc/ppc440_uc.c | 3 +
hw/ppc/sam460ex.c | 603 +++++++++++++++++++++++++++++++++++++
hw/ppc/spapr.c | 176 ++++++-----
hw/ppc/spapr_caps.c | 153 +++++++---
hw/ppc/spapr_hcall.c | 5 +-
hw/ppc/trace-events | 8 +
include/hw/intc/heathrow_pic.h | 49 +++
include/hw/misc/macio/macio.h | 79 +++++
include/hw/ppc/openpic.h | 160 +++++++++-
include/hw/ppc/openpic_kvm.h | 7 +
include/hw/ppc/spapr.h | 5 +-
pc-bios/canyonlands.dtb | Bin 0 -> 9779 bytes
pc-bios/canyonlands.dts | 566 ++++++++++++++++++++++++++++++++++
pc-bios/u-boot-sam460-20100605.bin | Bin 0 -> 524288 bytes
roms/Makefile | 7 +
roms/u-boot-sam460ex | 1 +
target/ppc/kvm-stub.c | 2 +-
target/ppc/kvm.c | 6 +-
target/ppc/translate_init.c | 2 +
37 files changed, 2533 insertions(+), 573 deletions(-)
create mode 100644 hw/ppc/ppc440_pcix.c
create mode 100644 hw/ppc/sam460ex.c
create mode 100644 include/hw/intc/heathrow_pic.h
create mode 100644 include/hw/misc/macio/macio.h
create mode 100644 include/hw/ppc/openpic_kvm.h
create mode 100644 pc-bios/canyonlands.dtb
create mode 100644 pc-bios/canyonlands.dts
create mode 100755 pc-bios/u-boot-sam460-20100605.bin
create mode 160000 roms/u-boot-sam460ex
Hi,
This series seems to have some coding style problems. See output below for
more information:
Type: series
Message-id: 20180306040154.3669-1-david@gibson.dropbear.id.au
Subject: [Qemu-devel] [PULL 00/30] ppc-for-2.12 queue 20180306
=== TEST SCRIPT BEGIN ===
#!/bin/bash
BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
failed=1
echo
fi
n=$((n+1))
done
exit $failed
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
* [new tag] patchew/20180306040154.3669-1-david@gibson.dropbear.id.au -> patchew/20180306040154.3669-1-david@gibson.dropbear.id.au
Switched to a new branch 'test'
710332af72 PowerPC: Add TS bits into msr_mask
1d843d531b adb: add trace-events for monitoring keyboard/mouse during bus enumeration
e0dcafa414 PPC: e500: Fix duplicate kernel load and device tree overlap
ca32627c89 hw/ppc/spapr, e500: Use new property "stdout-path" for boot console
7ec999efd1 ppc/spapr-caps: Define the pseries-2.12-sxxm machine type
c5c9d5e6b5 ppc/spapr-caps: Convert cap-ibs to custom spapr-cap
d1f8d2a7ec ppc/spapr-caps: Convert cap-sbbc to custom spapr-cap
dee8ac698b ppc/spapr-caps: Convert cap-cfpc to custom spapr-cap
be78220976 ppc/spapr-caps: Add support for custom spapr_capabilities
41fe6c3234 target/ppc: Check mask when setting cap_ppc_safe_indirect_branch
925dc8c8ab macio: remove macio_init() function
0cdc7ef4d3 macio: move setting of CUDA timebase frequency to macio_common_realize()
333e2d72ae mac_newworld: use object link to pass OpenPIC object to macio
6352921fc0 openpic: move OpenPIC state and related definitions to openpic.h
f6528ecaad openpic: move KVM-specific declarations into separate openpic_kvm.h file
ff45ce713e mac_oldworld: use object link to pass heathrow PIC object to macio
7a6c79ea44 macio: move macio related structures and defines into separate macio.h file
314c9858ad heathrow: change heathrow_pic_init() to return the heathrow device
f5b91571dc heathrow: convert to trace-events
3045694ed1 heathrow: QOMify heathrow PIC
ad17492d9b macio: move ESCC device within the macio device
777c94a3ee macio: embed DBDMA device directly within macio
2ea90e405c spapr: harden code that depends on VSMT
00226ad7c9 spapr: register dummy ICPs later
7ed96e066b ppc: Add aCube Sam460ex board
9abb284ab2 pc-bios: Added u-boot-sam460 firmware binary
e4cb279fb1 roms: Added git submodule for u-boot-sam460 (firmware for sam460ex)
a2279cf053 ppc440: Add emulation of plb-pcix controller found in some 440 SoCs
3e9afde83e ppc440_uc: Fix unintialized variable warning with older gcc
8e4c18ae65 spapr: fix missing CPU core nodes in DT when running with TCG
=== OUTPUT BEGIN ===
Checking PATCH 1/30: spapr: fix missing CPU core nodes in DT when running with TCG...
Checking PATCH 2/30: ppc440_uc: Fix unintialized variable warning with older gcc...
Checking PATCH 3/30: ppc440: Add emulation of plb-pcix controller found in some 440 SoCs...
Checking PATCH 4/30: roms: Added git submodule for u-boot-sam460 (firmware for sam460ex)...
Checking PATCH 5/30: pc-bios: Added u-boot-sam460 firmware binary...
Checking PATCH 6/30: ppc: Add aCube Sam460ex board...
Checking PATCH 7/30: spapr: register dummy ICPs later...
Checking PATCH 8/30: spapr: harden code that depends on VSMT...
Checking PATCH 9/30: macio: embed DBDMA device directly within macio...
Checking PATCH 10/30: macio: move ESCC device within the macio device...
Checking PATCH 11/30: heathrow: QOMify heathrow PIC...
Checking PATCH 12/30: heathrow: convert to trace-events...
Checking PATCH 13/30: heathrow: change heathrow_pic_init() to return the heathrow device...
Checking PATCH 14/30: macio: move macio related structures and defines into separate macio.h file...
Checking PATCH 15/30: mac_oldworld: use object link to pass heathrow PIC object to macio...
Checking PATCH 16/30: openpic: move KVM-specific declarations into separate openpic_kvm.h file...
Checking PATCH 17/30: openpic: move OpenPIC state and related definitions to openpic.h...
ERROR: "foo * bar" should be "foo *bar"
#250: FILE: include/hw/ppc/openpic.h:57:
+#define RAVEN_DBL_IRQ (RAVEN_IPI_IRQ + (RAVEN_MAX_CPU * RAVEN_MAX_IPI))
total: 1 errors, 0 warnings, 353 lines checked
Your patch has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 18/30: mac_newworld: use object link to pass OpenPIC object to macio...
Checking PATCH 19/30: macio: move setting of CUDA timebase frequency to macio_common_realize()...
Checking PATCH 20/30: macio: remove macio_init() function...
Checking PATCH 21/30: target/ppc: Check mask when setting cap_ppc_safe_indirect_branch...
Checking PATCH 22/30: ppc/spapr-caps: Add support for custom spapr_capabilities...
Checking PATCH 23/30: ppc/spapr-caps: Convert cap-cfpc to custom spapr-cap...
Checking PATCH 24/30: ppc/spapr-caps: Convert cap-sbbc to custom spapr-cap...
Checking PATCH 25/30: ppc/spapr-caps: Convert cap-ibs to custom spapr-cap...
Checking PATCH 26/30: ppc/spapr-caps: Define the pseries-2.12-sxxm machine type...
Checking PATCH 27/30: hw/ppc/spapr, e500: Use new property "stdout-path" for boot console...
Checking PATCH 28/30: PPC: e500: Fix duplicate kernel load and device tree overlap...
Checking PATCH 29/30: adb: add trace-events for monitoring keyboard/mouse during bus enumeration...
Checking PATCH 30/30: PowerPC: Add TS bits into msr_mask...
=== OUTPUT END ===
Test command exited with code: 1
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org
On Mon, Mar 05, 2018 at 08:30:40PM -0800, no-reply@patchew.org wrote: > Hi, > > This series seems to have some coding style problems. See output below for > more information: > > Type: series > Message-id: 20180306040154.3669-1-david@gibson.dropbear.id.au > Subject: [Qemu-devel] [PULL 00/30] ppc-for-2.12 queue 20180306 > > === TEST SCRIPT BEGIN === > #!/bin/bash > > BASE=base > n=1 > total=$(git log --oneline $BASE.. | wc -l) > failed=0 > > git config --local diff.renamelimit 0 > git config --local diff.renames True > git config --local diff.algorithm histogram > > commits="$(git log --format=%H --reverse $BASE..)" > for c in $commits; do > echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..." > if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then > failed=1 > echo > fi > n=$((n+1)) > done > > exit $failed > === TEST SCRIPT END === > > Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 > From https://github.com/patchew-project/qemu > * [new tag] patchew/20180306040154.3669-1-david@gibson.dropbear.id.au -> patchew/20180306040154.3669-1-david@gibson.dropbear.id.au > Switched to a new branch 'test' > 710332af72 PowerPC: Add TS bits into msr_mask > 1d843d531b adb: add trace-events for monitoring keyboard/mouse during bus enumeration > e0dcafa414 PPC: e500: Fix duplicate kernel load and device tree overlap > ca32627c89 hw/ppc/spapr, e500: Use new property "stdout-path" for boot console > 7ec999efd1 ppc/spapr-caps: Define the pseries-2.12-sxxm machine type > c5c9d5e6b5 ppc/spapr-caps: Convert cap-ibs to custom spapr-cap > d1f8d2a7ec ppc/spapr-caps: Convert cap-sbbc to custom spapr-cap > dee8ac698b ppc/spapr-caps: Convert cap-cfpc to custom spapr-cap > be78220976 ppc/spapr-caps: Add support for custom spapr_capabilities > 41fe6c3234 target/ppc: Check mask when setting cap_ppc_safe_indirect_branch > 925dc8c8ab macio: remove macio_init() function > 0cdc7ef4d3 macio: move setting of CUDA timebase frequency to macio_common_realize() > 333e2d72ae mac_newworld: use object link to pass OpenPIC object to macio > 6352921fc0 openpic: move OpenPIC state and related definitions to openpic.h > f6528ecaad openpic: move KVM-specific declarations into separate openpic_kvm.h file > ff45ce713e mac_oldworld: use object link to pass heathrow PIC object to macio > 7a6c79ea44 macio: move macio related structures and defines into separate macio.h file > 314c9858ad heathrow: change heathrow_pic_init() to return the heathrow device > f5b91571dc heathrow: convert to trace-events > 3045694ed1 heathrow: QOMify heathrow PIC > ad17492d9b macio: move ESCC device within the macio device > 777c94a3ee macio: embed DBDMA device directly within macio > 2ea90e405c spapr: harden code that depends on VSMT > 00226ad7c9 spapr: register dummy ICPs later > 7ed96e066b ppc: Add aCube Sam460ex board > 9abb284ab2 pc-bios: Added u-boot-sam460 firmware binary > e4cb279fb1 roms: Added git submodule for u-boot-sam460 (firmware for sam460ex) > a2279cf053 ppc440: Add emulation of plb-pcix controller found in some 440 SoCs > 3e9afde83e ppc440_uc: Fix unintialized variable warning with older gcc > 8e4c18ae65 spapr: fix missing CPU core nodes in DT when running with TCG > > === OUTPUT BEGIN === > Checking PATCH 1/30: spapr: fix missing CPU core nodes in DT when running with TCG... > Checking PATCH 2/30: ppc440_uc: Fix unintialized variable warning with older gcc... > Checking PATCH 3/30: ppc440: Add emulation of plb-pcix controller found in some 440 SoCs... > Checking PATCH 4/30: roms: Added git submodule for u-boot-sam460 (firmware for sam460ex)... > Checking PATCH 5/30: pc-bios: Added u-boot-sam460 firmware binary... > Checking PATCH 6/30: ppc: Add aCube Sam460ex board... > Checking PATCH 7/30: spapr: register dummy ICPs later... > Checking PATCH 8/30: spapr: harden code that depends on VSMT... > Checking PATCH 9/30: macio: embed DBDMA device directly within macio... > Checking PATCH 10/30: macio: move ESCC device within the macio device... > Checking PATCH 11/30: heathrow: QOMify heathrow PIC... > Checking PATCH 12/30: heathrow: convert to trace-events... > Checking PATCH 13/30: heathrow: change heathrow_pic_init() to return the heathrow device... > Checking PATCH 14/30: macio: move macio related structures and defines into separate macio.h file... > Checking PATCH 15/30: mac_oldworld: use object link to pass heathrow PIC object to macio... > Checking PATCH 16/30: openpic: move KVM-specific declarations into separate openpic_kvm.h file... > Checking PATCH 17/30: openpic: move OpenPIC state and related definitions to openpic.h... > ERROR: "foo * bar" should be "foo *bar" > #250: FILE: include/hw/ppc/openpic.h:57: > +#define RAVEN_DBL_IRQ (RAVEN_IPI_IRQ + (RAVEN_MAX_CPU * RAVEN_MAX_IPI)) > > total: 1 errors, 0 warnings, 353 lines checked This is a false positive. For some reason it's misidentifying a multiply as a dereference. > > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > > Checking PATCH 18/30: mac_newworld: use object link to pass OpenPIC object to macio... > Checking PATCH 19/30: macio: move setting of CUDA timebase frequency to macio_common_realize()... > Checking PATCH 20/30: macio: remove macio_init() function... > Checking PATCH 21/30: target/ppc: Check mask when setting cap_ppc_safe_indirect_branch... > Checking PATCH 22/30: ppc/spapr-caps: Add support for custom spapr_capabilities... > Checking PATCH 23/30: ppc/spapr-caps: Convert cap-cfpc to custom spapr-cap... > Checking PATCH 24/30: ppc/spapr-caps: Convert cap-sbbc to custom spapr-cap... > Checking PATCH 25/30: ppc/spapr-caps: Convert cap-ibs to custom spapr-cap... > Checking PATCH 26/30: ppc/spapr-caps: Define the pseries-2.12-sxxm machine type... > Checking PATCH 27/30: hw/ppc/spapr, e500: Use new property "stdout-path" for boot console... > Checking PATCH 28/30: PPC: e500: Fix duplicate kernel load and device tree overlap... > Checking PATCH 29/30: adb: add trace-events for monitoring keyboard/mouse during bus enumeration... > Checking PATCH 30/30: PowerPC: Add TS bits into msr_mask... > === OUTPUT END === > > Test command exited with code: 1 > > > --- > Email generated automatically by Patchew [http://patchew.org/]. > Please send your feedback to patchew-devel@freelists.org -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
On 06.03.2018 05:01, David Gibson wrote: > The following changes since commit f2bb2d14c2958f3f5aef456bd2cdb1ff99f4a562: > > Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging (2018-03-05 16:41:20 +0000) > > are available in the Git repository at: > > git://github.com/dgibson/qemu.git tags/ppc-for-2.12-20180306 > > for you to fetch changes up to 21b786f607b11d888f90bbb8c3414500515d11e7: > > PowerPC: Add TS bits into msr_mask (2018-03-06 13:16:29 +1100) > > ---------------------------------------------------------------- > ppc patch queue 2018-03-06 > > This pull request supersedes ppc-for-2.12-20180302 which had compile > problems with some gcc versions. It also contains a few additional > patches. > > Highlights are: > * New Sam460ex machine type > * Yet more fixes related to vcpu id allocation for spapr > * Numerous macio cleanupsr > * Some enhancements to the Spectre/Meltdown fixes for pseries, > allowing use of a better mitigation for indirect branch based > exploits > * New pseries machine types with Spectre/Meltdown mitigations > enabled (stop gap until libvirt and management understands the > machine options) > * A handful of other fixes > > ---------------------------------------------------------------- > BALATON Zoltan (5): > ppc440_uc: Fix unintialized variable warning with older gcc > ppc440: Add emulation of plb-pcix controller found in some 440 SoCs > roms: Added git submodule for u-boot-sam460 (firmware for sam460ex) > pc-bios: Added u-boot-sam460 firmware binary > ppc: Add aCube Sam460ex board > > David Engraf (1): > PPC: e500: Fix duplicate kernel load and device tree overlap > > Greg Kurz (3): > spapr: fix missing CPU core nodes in DT when running with TCG > spapr: register dummy ICPs later > spapr: harden code that depends on VSMT > > Mark Cave-Ayland (13): > macio: embed DBDMA device directly within macio > macio: move ESCC device within the macio device > heathrow: QOMify heathrow PIC > heathrow: convert to trace-events > heathrow: change heathrow_pic_init() to return the heathrow device > macio: move macio related structures and defines into separate macio.h file > mac_oldworld: use object link to pass heathrow PIC object to macio > openpic: move KVM-specific declarations into separate openpic_kvm.h file > openpic: move OpenPIC state and related definitions to openpic.h > mac_newworld: use object link to pass OpenPIC object to macio > macio: move setting of CUDA timebase frequency to macio_common_realize() > macio: remove macio_init() function > adb: add trace-events for monitoring keyboard/mouse during bus enumeration Something in the recent commits introduced a new way to cause unexpected aborts of QEMU: $ ppc64-softmmu/qemu-system-ppc64 -monitor stdio QEMU 2.11.50 monitor - type 'help' for more information (qemu) device_add macio-newworld Unexpected error in qemu_chr_fe_init() at /home/thuth/devel/qemu/chardev/char-fe.c:222: Device 'serial0' is in use Aborted (core dumped) Of course it does not make sense to add a macio-newworld device on the pseries machine, but QEMU should not abort in this case - it should just print an error message and continue afterwards. Any ideas how to fix this? Thomas
On 06/03/18 16:48, Thomas Huth wrote:
> Something in the recent commits introduced a new way to cause unexpected
> aborts of QEMU:
>
> $ ppc64-softmmu/qemu-system-ppc64 -monitor stdio
> QEMU 2.11.50 monitor - type 'help' for more information
> (qemu) device_add macio-newworld
> Unexpected error in qemu_chr_fe_init() at
> /home/thuth/devel/qemu/chardev/char-fe.c:222:
> Device 'serial0' is in use
> Aborted (core dumped)
>
> Of course it does not make sense to add a macio-newworld device on the
> pseries machine, but QEMU should not abort in this case - it should just
> print an error message and continue afterwards. Any ideas how to fix this?
So the backtrace from git master looks like this:
Thread 1 "qemu-system-ppc" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007fffdbd6e3fa in __GI_abort () at abort.c:89
#2 0x0000555555de6d86 in error_handle_fatal (errp=0x555556bdfb90
<error_abort>, err=0x555556ef5a00) at util/error.c:38
#3 0x0000555555de6eb6 in error_setv (errp=0x555556bdfb90 <error_abort>,
src=0x555556031ad0 "chardev/char-fe.c", line=222, func=0x555556031c50
<__func__.18713> "qemu_chr_fe_init",
err_class=ERROR_CLASS_GENERIC_ERROR,
fmt=0x555556031b50 "Device '%s' is in use", ap=0x7fffffffd010,
suffix=0x0) at util/error.c:71
#4 0x0000555555de7097 in error_setg_internal (errp=0x555556bdfb90
<error_abort>, src=0x555556031ad0 "chardev/char-fe.c", line=222,
func=0x555556031c50 <__func__.18713> "qemu_chr_fe_init",
fmt=0x555556031b50 "Device '%s' is in use") at util/error.c:95
#5 0x0000555555d673fc in qemu_chr_fe_init (b=0x555557aef590,
s=0x555556de2290, errp=0x555556bdfb90 <error_abort>) at
chardev/char-fe.c:222
#6 0x0000555555af5467 in set_chr (obj=0x555557aeef80, v=0x555557960c20,
name=0x555555f65fc5 "chrA", opaque=0x555556658410 <escc_properties+432>,
errp=0x555556bdfb90 <error_abort>) at
hw/core/qdev-properties-system.c:216
#7 0x0000555555cb326a in object_property_set (obj=0x555557aeef80,
v=0x555557960c20, name=0x555555f65fc5 "chrA", errp=0x555556bdfb90
<error_abort>) at qom/object.c:1109
#8 0x0000555555cb6232 in object_property_set_qobject
(obj=0x555557aeef80, value=0x555557960bf0, name=0x555555f65fc5 "chrA",
errp=0x555556bdfb90 <error_abort>) at qom/qom-qobject.c:27
#9 0x0000555555cb32af in object_property_set_str (obj=0x555557aeef80,
value=0x555556de23c0 "serial0", name=0x555555f65fc5 "chrA",
errp=0x555556bdfb90 <error_abort>) at qom/object.c:1117
#10 0x0000555555af5d94 in qdev_prop_set_chr (dev=0x555557aeef80,
name=0x555555f65fc5 "chrA", value=0x555556de2290) at
hw/core/qdev-properties-system.c:427
#11 0x0000555555b350a8 in macio_instance_init (obj=0x555557aec3c0) at
hw/misc/macio/macio.c:347
It seems that the error is being raised when setting the property rather
than during realize so I'm not sure what I can do to handle this. Any
thoughts?
ATB,
Mark.
On 06.03.2018 18:28, Mark Cave-Ayland wrote: > On 06/03/18 16:48, Thomas Huth wrote: > >> Something in the recent commits introduced a new way to cause unexpected >> aborts of QEMU: >> >> $ ppc64-softmmu/qemu-system-ppc64 -monitor stdio >> QEMU 2.11.50 monitor - type 'help' for more information >> (qemu) device_add macio-newworld >> Unexpected error in qemu_chr_fe_init() at >> /home/thuth/devel/qemu/chardev/char-fe.c:222: >> Device 'serial0' is in use >> Aborted (core dumped) >> >> Of course it does not make sense to add a macio-newworld device on the >> pseries machine, but QEMU should not abort in this case - it should just >> print an error message and continue afterwards. Any ideas how to fix >> this? > > So the backtrace from git master looks like this: > > Thread 1 "qemu-system-ppc" received signal SIGABRT, Aborted. > __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 > > > 51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. > > > (gdb) bt > > > #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 > > #1 0x00007fffdbd6e3fa in __GI_abort () at abort.c:89 > > > #2 0x0000555555de6d86 in error_handle_fatal (errp=0x555556bdfb90 > <error_abort>, err=0x555556ef5a00) at util/error.c:38 > > #3 0x0000555555de6eb6 in error_setv (errp=0x555556bdfb90 <error_abort>, > src=0x555556031ad0 "chardev/char-fe.c", line=222, func=0x555556031c50 > <__func__.18713> "qemu_chr_fe_init", err_class=ERROR_CLASS_GENERIC_ERROR, > fmt=0x555556031b50 "Device '%s' is in use", ap=0x7fffffffd010, > suffix=0x0) at util/error.c:71 > > #4 0x0000555555de7097 in error_setg_internal (errp=0x555556bdfb90 > <error_abort>, src=0x555556031ad0 "chardev/char-fe.c", line=222, > func=0x555556031c50 <__func__.18713> "qemu_chr_fe_init", > fmt=0x555556031b50 "Device '%s' is in use") at util/error.c:95 > > > #5 0x0000555555d673fc in qemu_chr_fe_init (b=0x555557aef590, > s=0x555556de2290, errp=0x555556bdfb90 <error_abort>) at > chardev/char-fe.c:222 > #6 0x0000555555af5467 in set_chr (obj=0x555557aeef80, v=0x555557960c20, > name=0x555555f65fc5 "chrA", opaque=0x555556658410 <escc_properties+432>, > errp=0x555556bdfb90 <error_abort>) at hw/core/qdev-properties-system.c:216 > #7 0x0000555555cb326a in object_property_set (obj=0x555557aeef80, > v=0x555557960c20, name=0x555555f65fc5 "chrA", errp=0x555556bdfb90 > <error_abort>) at qom/object.c:1109 > #8 0x0000555555cb6232 in object_property_set_qobject > (obj=0x555557aeef80, value=0x555557960bf0, name=0x555555f65fc5 "chrA", > errp=0x555556bdfb90 <error_abort>) at qom/qom-qobject.c:27 > #9 0x0000555555cb32af in object_property_set_str (obj=0x555557aeef80, > value=0x555556de23c0 "serial0", name=0x555555f65fc5 "chrA", > errp=0x555556bdfb90 <error_abort>) at qom/object.c:1117 > #10 0x0000555555af5d94 in qdev_prop_set_chr (dev=0x555557aeef80, > name=0x555555f65fc5 "chrA", value=0x555556de2290) at > hw/core/qdev-properties-system.c:427 > #11 0x0000555555b350a8 in macio_instance_init (obj=0x555557aec3c0) at > hw/misc/macio/macio.c:347 > > > It seems that the error is being raised when setting the property rather > than during realize so I'm not sure what I can do to handle this. Any > thoughts? Does the device need to be hot-pluggable or even user_creatable at all? It seems like it is also using serial_hds[] directly, so that is a good indication that it is *not* user creatable. So maybe the easiest fix is to simply set dc->user_creatable = false; in macio_class_init() ? Thomas
On Tue, 6 Mar 2018 18:47:47 +0100 Thomas Huth <thuth@redhat.com> wrote: > On 06.03.2018 18:28, Mark Cave-Ayland wrote: > > On 06/03/18 16:48, Thomas Huth wrote: > > > >> Something in the recent commits introduced a new way to cause unexpected > >> aborts of QEMU: > >> > >> $ ppc64-softmmu/qemu-system-ppc64 -monitor stdio > >> QEMU 2.11.50 monitor - type 'help' for more information > >> (qemu) device_add macio-newworld > >> Unexpected error in qemu_chr_fe_init() at > >> /home/thuth/devel/qemu/chardev/char-fe.c:222: > >> Device 'serial0' is in use > >> Aborted (core dumped) > >> > >> Of course it does not make sense to add a macio-newworld device on the > >> pseries machine, but QEMU should not abort in this case - it should just > >> print an error message and continue afterwards. Any ideas how to fix > >> this? > > > > So the backtrace from git master looks like this: > > > > Thread 1 "qemu-system-ppc" received signal SIGABRT, Aborted. > > __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 > > > > > > 51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. > > > > > > (gdb) bt > > > > > > #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 > > > > #1 0x00007fffdbd6e3fa in __GI_abort () at abort.c:89 > > > > > > #2 0x0000555555de6d86 in error_handle_fatal (errp=0x555556bdfb90 > > <error_abort>, err=0x555556ef5a00) at util/error.c:38 > > > > #3 0x0000555555de6eb6 in error_setv (errp=0x555556bdfb90 <error_abort>, > > src=0x555556031ad0 "chardev/char-fe.c", line=222, func=0x555556031c50 > > <__func__.18713> "qemu_chr_fe_init", err_class=ERROR_CLASS_GENERIC_ERROR, > > fmt=0x555556031b50 "Device '%s' is in use", ap=0x7fffffffd010, > > suffix=0x0) at util/error.c:71 > > > > #4 0x0000555555de7097 in error_setg_internal (errp=0x555556bdfb90 > > <error_abort>, src=0x555556031ad0 "chardev/char-fe.c", line=222, > > func=0x555556031c50 <__func__.18713> "qemu_chr_fe_init", > > fmt=0x555556031b50 "Device '%s' is in use") at util/error.c:95 > > > > > > #5 0x0000555555d673fc in qemu_chr_fe_init (b=0x555557aef590, > > s=0x555556de2290, errp=0x555556bdfb90 <error_abort>) at > > chardev/char-fe.c:222 > > #6 0x0000555555af5467 in set_chr (obj=0x555557aeef80, v=0x555557960c20, > > name=0x555555f65fc5 "chrA", opaque=0x555556658410 <escc_properties+432>, > > errp=0x555556bdfb90 <error_abort>) at hw/core/qdev-properties-system.c:216 > > #7 0x0000555555cb326a in object_property_set (obj=0x555557aeef80, > > v=0x555557960c20, name=0x555555f65fc5 "chrA", errp=0x555556bdfb90 > > <error_abort>) at qom/object.c:1109 > > #8 0x0000555555cb6232 in object_property_set_qobject > > (obj=0x555557aeef80, value=0x555557960bf0, name=0x555555f65fc5 "chrA", > > errp=0x555556bdfb90 <error_abort>) at qom/qom-qobject.c:27 > > #9 0x0000555555cb32af in object_property_set_str (obj=0x555557aeef80, > > value=0x555556de23c0 "serial0", name=0x555555f65fc5 "chrA", > > errp=0x555556bdfb90 <error_abort>) at qom/object.c:1117 > > #10 0x0000555555af5d94 in qdev_prop_set_chr (dev=0x555557aeef80, > > name=0x555555f65fc5 "chrA", value=0x555556de2290) at > > hw/core/qdev-properties-system.c:427 > > #11 0x0000555555b350a8 in macio_instance_init (obj=0x555557aec3c0) at > > hw/misc/macio/macio.c:347 > > > > > > It seems that the error is being raised when setting the property rather > > than during realize so I'm not sure what I can do to handle this. Any > > thoughts? > > Does the device need to be hot-pluggable or even user_creatable at all? FWIW, the crash also happens when the device is passed on the command line: $ ppc64-softmmu/qemu-system-ppc64 -device macio-newworld Unexpected error in qemu_chr_fe_init() at /home/greg/Work/qemu/qemu-spapr/chardev/char-fe.c:222: qemu-system-ppc64: -device macio-newworld: Device 'serial0' is in use Aborted (core dumped) > It seems like it is also using serial_hds[] directly, so that is a good > indication that it is *not* user creatable. So maybe the easiest fix is > to simply set > > dc->user_creatable = false; > > in macio_class_init() ? > > Thomas > >
On 06/03/18 17:47, Thomas Huth wrote: >> It seems that the error is being raised when setting the property rather >> than during realize so I'm not sure what I can do to handle this. Any >> thoughts? > > Does the device need to be hot-pluggable or even user_creatable at all? > It seems like it is also using serial_hds[] directly, so that is a good > indication that it is *not* user creatable. So maybe the easiest fix is > to simply set > > dc->user_creatable = false; > > in macio_class_init() ? (Added Daniel to CC) I believe it should fail anyhow during realize because both macio devices (newworld and oldworld) requires an object link to the PIC which won't be set when using device_add via the monitor as in your example. But it still doesn't quite feel right that just setting a property value should abort() immediately. Daniel, any thoughts? ATB, Mark.
On Tue, Mar 06, 2018 at 05:56:03PM +0000, Mark Cave-Ayland wrote: > On 06/03/18 17:47, Thomas Huth wrote: > > > > It seems that the error is being raised when setting the property rather > > > than during realize so I'm not sure what I can do to handle this. Any > > > thoughts? > > > > Does the device need to be hot-pluggable or even user_creatable at all? > > It seems like it is also using serial_hds[] directly, so that is a good > > indication that it is *not* user creatable. So maybe the easiest fix is > > to simply set > > > > dc->user_creatable = false; > > > > in macio_class_init() ? > > (Added Daniel to CC) > > I believe it should fail anyhow during realize because both macio devices > (newworld and oldworld) requires an object link to the PIC which won't be > set when using device_add via the monitor as in your example. > > But it still doesn't quite feel right that just setting a property value > should abort() immediately. Daniel, any thoughts? Setting user_creatable = false is important, as that flag is used to filter the list of permitted devices when doing monitor readline completion for 'device_add' and when printing available devices with '-device ?' Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On 6 March 2018 at 17:47, Thomas Huth <thuth@redhat.com> wrote: > Does the device need to be hot-pluggable or even user_creatable at all? > It seems like it is also using serial_hds[] directly, so that is a good > indication that it is *not* user creatable. So maybe the easiest fix is > to simply set > > dc->user_creatable = false; > > in macio_class_init() ? Yes. As Thomas says, if your device is using serial_hds[] directly it is not user creatable. The ideal design here is that the device does not touch serial_hds[] at all, but instead has qdev properties for char devices, which the board model code wires up based on serial_hds[]. (In this case you could make them just be alias properties into the escc object that the macio device creates.) Either way I don't think there's any reason for the device to be user-creatable. thanks -- PMM
HI, i had test last git with Zoltan sam emultation but at start i recive this ./qemu-system-ppc -M sam460ex qemu-system-ppc: /home/gigi/src/tags/ppc-for-2.12-20180306/include/qemu/rcu.h:89: rcu_read_unlock: asserzione "p_rcu_reader->depth != 0" non riuscita. Annullato (core dump creato) My machie is a Threadripper 1950x the distro is Ubuntu mate 17.10 Thanks Luigi ________________________________ Da: Qemu-ppc <qemu-ppc-bounces+intermediadc=hotmail.com@nongnu.org> per conto di Thomas Huth <thuth@redhat.com> Inviato: martedì 6 marzo 2018 17:48 A: David Gibson; Mark Cave-Ayland Cc: qemu-ppc@nongnu.org; qemu-devel@nongnu.org Oggetto: Re: [Qemu-ppc] [Qemu-devel] [PULL 00/30] ppc-for-2.12 queue 20180306 On 06.03.2018 05:01, David Gibson wrote: > The following changes since commit f2bb2d14c2958f3f5aef456bd2cdb1ff99f4a562: > > Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging (2018-03-05 16:41:20 +0000) > > are available in the Git repository at: > > git://github.com/dgibson/qemu.git tags/ppc-for-2.12-20180306 > > for you to fetch changes up to 21b786f607b11d888f90bbb8c3414500515d11e7: > > PowerPC: Add TS bits into msr_mask (2018-03-06 13:16:29 +1100) > > ---------------------------------------------------------------- > ppc patch queue 2018-03-06 > > This pull request supersedes ppc-for-2.12-20180302 which had compile > problems with some gcc versions. It also contains a few additional > patches. > > Highlights are: > * New Sam460ex machine type > * Yet more fixes related to vcpu id allocation for spapr > * Numerous macio cleanupsr > * Some enhancements to the Spectre/Meltdown fixes for pseries, > allowing use of a better mitigation for indirect branch based > exploits > * New pseries machine types with Spectre/Meltdown mitigations > enabled (stop gap until libvirt and management understands the > machine options) > * A handful of other fixes > > ---------------------------------------------------------------- > BALATON Zoltan (5): > ppc440_uc: Fix unintialized variable warning with older gcc > ppc440: Add emulation of plb-pcix controller found in some 440 SoCs > roms: Added git submodule for u-boot-sam460 (firmware for sam460ex) > pc-bios: Added u-boot-sam460 firmware binary > ppc: Add aCube Sam460ex board > > David Engraf (1): > PPC: e500: Fix duplicate kernel load and device tree overlap > > Greg Kurz (3): > spapr: fix missing CPU core nodes in DT when running with TCG > spapr: register dummy ICPs later > spapr: harden code that depends on VSMT > > Mark Cave-Ayland (13): > macio: embed DBDMA device directly within macio > macio: move ESCC device within the macio device > heathrow: QOMify heathrow PIC > heathrow: convert to trace-events > heathrow: change heathrow_pic_init() to return the heathrow device > macio: move macio related structures and defines into separate macio.h file > mac_oldworld: use object link to pass heathrow PIC object to macio > openpic: move KVM-specific declarations into separate openpic_kvm.h file > openpic: move OpenPIC state and related definitions to openpic.h > mac_newworld: use object link to pass OpenPIC object to macio > macio: move setting of CUDA timebase frequency to macio_common_realize() > macio: remove macio_init() function > adb: add trace-events for monitoring keyboard/mouse during bus enumeration Something in the recent commits introduced a new way to cause unexpected aborts of QEMU: $ ppc64-softmmu/qemu-system-ppc64 -monitor stdio QEMU 2.11.50 monitor - type 'help' for more information (qemu) device_add macio-newworld Unexpected error in qemu_chr_fe_init() at /home/thuth/devel/qemu/chardev/char-fe.c:222: Device 'serial0' is in use Aborted (core dumped) Of course it does not make sense to add a macio-newworld device on the pseries machine, but QEMU should not abort in this case - it should just print an error message and continue afterwards. Any ideas how to fix this? Thomas
On 07.03.2018 13:16, luigi burdo wrote: > HI, > > i had test last git with Zoltan sam emultation but at start i recive this > > ./qemu-system-ppc -M sam460ex > qemu-system-ppc: > /home/gigi/src/tags/ppc-for-2.12-20180306/include/qemu/rcu.h:89: > rcu_read_unlock: asserzione "p_rcu_reader->depth != 0" non riuscita. > Annullato (core dump creato) I think that's a regression introduced with one of the latest commits. Could you please try whether "git checkout 58e2e17dba49b43f4ac9de19468" works better for you? Thomas
On Wed, 7 Mar 2018 13:21:18 +0100 Thomas Huth <thuth@redhat.com> wrote: > On 07.03.2018 13:16, luigi burdo wrote: > > HI, > > > > i had test last git with Zoltan sam emultation but at start i recive this > > > > ./qemu-system-ppc -M sam460ex > > qemu-system-ppc: > > /home/gigi/src/tags/ppc-for-2.12-20180306/include/qemu/rcu.h:89: > > rcu_read_unlock: asserzione "p_rcu_reader->depth != 0" non riuscita. > > Annullato (core dump creato) > > I think that's a regression introduced with one of the latest commits. > Could you please try whether "git checkout 58e2e17dba49b43f4ac9de19468" > works better for you? Yep, it's a regession; I hit this with s390x/tcg as well (bisected to commit 11e732a5ed46903f997985bed4c3767ca28a7eb6 in my case).
On 6 March 2018 at 04:01, David Gibson <david@gibson.dropbear.id.au> wrote: > The following changes since commit f2bb2d14c2958f3f5aef456bd2cdb1ff99f4a562: > > Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging (2018-03-05 16:41:20 +0000) > > are available in the Git repository at: > > git://github.com/dgibson/qemu.git tags/ppc-for-2.12-20180306 > > for you to fetch changes up to 21b786f607b11d888f90bbb8c3414500515d11e7: > > PowerPC: Add TS bits into msr_mask (2018-03-06 13:16:29 +1100) > > ---------------------------------------------------------------- > ppc patch queue 2018-03-06 > > This pull request supersedes ppc-for-2.12-20180302 which had compile > problems with some gcc versions. It also contains a few additional > patches. > > Highlights are: > * New Sam460ex machine type > * Yet more fixes related to vcpu id allocation for spapr > * Numerous macio cleanupsr > * Some enhancements to the Spectre/Meltdown fixes for pseries, > allowing use of a better mitigation for indirect branch based > exploits > * New pseries machine types with Spectre/Meltdown mitigations > enabled (stop gap until libvirt and management understands the > machine options) > * A handful of other fixes > Applied, thanks. -- PMM
© 2016 - 2025 Red Hat, Inc.