default-configs/ppc64-softmmu.mak | 4 + hw/intc/Makefile.objs | 1 + hw/intc/xics.c | 22 +- hw/intc/xics_pnv.c | 192 +++++++++++++ hw/intc/xics_spapr.c | 25 +- hw/ipmi/ipmi_bmc_sim.c | 191 ++++++++++++- hw/ppc/Makefile.objs | 2 +- hw/ppc/pnv.c | 411 ++++++++++++++++++++++++--- hw/ppc/pnv_bmc.c | 122 ++++++++ hw/ppc/pnv_core.c | 27 +- hw/ppc/pnv_lpc.c | 106 ++++++- hw/ppc/pnv_occ.c | 136 +++++++++ hw/ppc/pnv_psi.c | 571 ++++++++++++++++++++++++++++++++++++++ hw/ppc/spapr.c | 371 +++++++++++++++---------- hw/ppc/spapr_cpu_core.c | 17 +- hw/ppc/spapr_events.c | 2 +- hw/ppc/spapr_hcall.c | 174 +++++++++++- hw/ppc/spapr_iommu.c | 8 +- hw/ppc/spapr_pci.c | 8 +- hw/ppc/spapr_rtc.c | 41 +-- include/hw/ipmi/ipmi.h | 4 + include/hw/ppc/pnv.h | 57 +++- include/hw/ppc/pnv_lpc.h | 8 + include/hw/ppc/pnv_occ.h | 38 +++ include/hw/ppc/pnv_psi.h | 67 +++++ include/hw/ppc/pnv_xscom.h | 6 + include/hw/ppc/spapr.h | 30 +- include/hw/ppc/spapr_ovec.h | 8 + include/hw/ppc/xics.h | 19 +- include/sysemu/kvm.h | 1 + qemu-options.hx | 15 +- target/ppc/arch_dump.c | 2 +- target/ppc/cpu-qom.h | 1 + target/ppc/cpu.h | 5 + target/ppc/helper.h | 1 + target/ppc/kvm.c | 144 +++++++++- target/ppc/kvm_ppc.h | 40 ++- target/ppc/misc_helper.c | 8 + target/ppc/translate_init.c | 410 ++++++++++++++------------- 39 files changed, 2803 insertions(+), 492 deletions(-) create mode 100644 hw/intc/xics_pnv.c create mode 100644 hw/ppc/pnv_bmc.c create mode 100644 hw/ppc/pnv_occ.c create mode 100644 hw/ppc/pnv_psi.c create mode 100644 include/hw/ppc/pnv_occ.h create mode 100644 include/hw/ppc/pnv_psi.h
The following changes since commit 32c7e0ab755745e961f1772e95cac381cc68769d:
Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20170421' into staging (2017-04-21 15:59:27 +0100)
are available in the git repository at:
git://github.com/dgibson/qemu.git tags/ppc-for-2.10-20170424
for you to fetch changes up to 4cab48942a1c5353f0a314fab1aa85a5f0a61461:
target/ppc: Style fixes (2017-04-24 08:56:19 +1000)
----------------------------------------------------------------
ppc patch queue 2017-04-24
Here's my first pull request for qemu-2.10, consisting of assorted
patches which have accumulated while qemu-2.9 stabilized. Highlights
are:
* Rework / cleanup of the XICS interrupt controller
* Substantial improvement to the 'powernv' machine type
- Includes an MMIO XICS version
* POWER9 support improvements
- POWER9 guests with KVM
- Partial support for POWER9 guests with TCG
* IOMMU and VFIO improvements
* Assorted minor changes
There are several IPMI patches here that aren't usually in my area of
maintenance, but there isn't a regular maintainer and these patches
are for the benefit of the powernv machine type.
----------------------------------------------------------------
Alexey Kardashevskiy (4):
target-ppc: kvm: make use of KVM_CREATE_SPAPR_TCE_64
target-ppc/kvm: Enable in-kernel TCE acceleration for multi-tce
spapr_pci: Warn when RAM page size is not enabled in IOMMU page mask
spapr_pci: Removed unused include
Anton Blanchard (1):
target/ppc: Fix size of struct PPCElfPrstatus
Benjamin Herrenschmidt (2):
ppc/pnv: Add OCC model stub with interrupt support
ppc/pnv: Add support for POWER8+ LPC Controller
Bernhard Kaindl (1):
e500,book3s: mfspr 259: Register mapped/aliased SPRG3 user read
Bharata B Rao (1):
spapr-cpu-core: Release ICPState object during CPU unrealization
Cédric Le Goater (25):
ppc/spapr: QOM'ify sPAPRRTCState
ppc/xics: introduce an 'intc' backlink under PowerPCCPU
spapr: move the IRQ server number mapping under the machine
spapr: allocate the ICPState object from under sPAPRCPUCore
ppc/xics: add a realize() handler to ICPStateClass
ppc/pnv: add a PnvICPState object
ppc/pnv: extend the machine with a XICSFabric interface
ppc/pnv: extend the machine with a InterruptStatsProvider interface
ppc/pnv: create the ICP object under PnvCore
ppc/pnv: add a helper to calculate MMIO addresses registers
ppc/pnv: add memory regions for the ICP registers
ppc/pnv: Add cut down PSI bridge model and hookup external interrupt
ppc: add IPMI support
ipmi: use a file to load SDRs
ipmi: provide support for FRUs
ipmi: introduce an ipmi_bmc_sdr_find() API
ipmi: introduce an ipmi_bmc_gen_event() API
spapr: remove the 'nr_servers' field from the machine
ppc/pnv: enable only one LPC bus
ppc/pnv: scan ISA bus to populate device tree
ppc/pnv: populate device tree for RTC devices
ppc/pnv: populate device tree for serial devices
ppc/pnv: populate device tree for IPMI BT devices
ppc/pnv: add initial IPMI sensors for the BMC simulator
ppc/pnv: generate an OEM SEL event on shutdown
David Gibson (2):
pseries: Add pseries-2.10 machine type
target/ppc: Style fixes
Sam Bobroff (6):
target/ppc: Improve accuracy of guest HTM availability on P8s
spapr: Add ibm,processor-radix-AP-encodings to the device tree
target-ppc: support KVM_CAP_PPC_MMU_RADIX, KVM_CAP_PPC_MMU_HASH_V3
spapr: move spapr_populate_pa_features()
spapr: Enable ISA 3.0 MMU mode selection via CAS
spapr: Workaround for broken radix guests
Suraj Jitindar Singh (4):
target/ppc: Add new H-CALL shells for in memory table translation
target/ppc: Implement H_REGISTER_PROCESS_TABLE H_CALL
target/ppc: Add ibm,processor-radix-AP-encodings for TCG
target/ppc: Flush TLB on write to PIDR
Thomas Huth (1):
hw/ppc/pnv: Classify the "PowerNV Chip" devices as CPU devices
default-configs/ppc64-softmmu.mak | 4 +
hw/intc/Makefile.objs | 1 +
hw/intc/xics.c | 22 +-
hw/intc/xics_pnv.c | 192 +++++++++++++
hw/intc/xics_spapr.c | 25 +-
hw/ipmi/ipmi_bmc_sim.c | 191 ++++++++++++-
hw/ppc/Makefile.objs | 2 +-
hw/ppc/pnv.c | 411 ++++++++++++++++++++++++---
hw/ppc/pnv_bmc.c | 122 ++++++++
hw/ppc/pnv_core.c | 27 +-
hw/ppc/pnv_lpc.c | 106 ++++++-
hw/ppc/pnv_occ.c | 136 +++++++++
hw/ppc/pnv_psi.c | 571 ++++++++++++++++++++++++++++++++++++++
hw/ppc/spapr.c | 371 +++++++++++++++----------
hw/ppc/spapr_cpu_core.c | 17 +-
hw/ppc/spapr_events.c | 2 +-
hw/ppc/spapr_hcall.c | 174 +++++++++++-
hw/ppc/spapr_iommu.c | 8 +-
hw/ppc/spapr_pci.c | 8 +-
hw/ppc/spapr_rtc.c | 41 +--
include/hw/ipmi/ipmi.h | 4 +
include/hw/ppc/pnv.h | 57 +++-
include/hw/ppc/pnv_lpc.h | 8 +
include/hw/ppc/pnv_occ.h | 38 +++
include/hw/ppc/pnv_psi.h | 67 +++++
include/hw/ppc/pnv_xscom.h | 6 +
include/hw/ppc/spapr.h | 30 +-
include/hw/ppc/spapr_ovec.h | 8 +
include/hw/ppc/xics.h | 19 +-
include/sysemu/kvm.h | 1 +
qemu-options.hx | 15 +-
target/ppc/arch_dump.c | 2 +-
target/ppc/cpu-qom.h | 1 +
target/ppc/cpu.h | 5 +
target/ppc/helper.h | 1 +
target/ppc/kvm.c | 144 +++++++++-
target/ppc/kvm_ppc.h | 40 ++-
target/ppc/misc_helper.c | 8 +
target/ppc/translate_init.c | 410 ++++++++++++++-------------
39 files changed, 2803 insertions(+), 492 deletions(-)
create mode 100644 hw/intc/xics_pnv.c
create mode 100644 hw/ppc/pnv_bmc.c
create mode 100644 hw/ppc/pnv_occ.c
create mode 100644 hw/ppc/pnv_psi.c
create mode 100644 include/hw/ppc/pnv_occ.h
create mode 100644 include/hw/ppc/pnv_psi.h
On 24 April 2017 at 02:58, David Gibson <david@gibson.dropbear.id.au> wrote:
> The following changes since commit 32c7e0ab755745e961f1772e95cac381cc68769d:
>
> Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20170421' into staging (2017-04-21 15:59:27 +0100)
>
> are available in the git repository at:
>
> git://github.com/dgibson/qemu.git tags/ppc-for-2.10-20170424
>
> for you to fetch changes up to 4cab48942a1c5353f0a314fab1aa85a5f0a61461:
>
> target/ppc: Style fixes (2017-04-24 08:56:19 +1000)
>
> ----------------------------------------------------------------
> ppc patch queue 2017-04-24
>
> Here's my first pull request for qemu-2.10, consisting of assorted
> patches which have accumulated while qemu-2.9 stabilized. Highlights
> are:
> * Rework / cleanup of the XICS interrupt controller
> * Substantial improvement to the 'powernv' machine type
> - Includes an MMIO XICS version
> * POWER9 support improvements
> - POWER9 guests with KVM
> - Partial support for POWER9 guests with TCG
> * IOMMU and VFIO improvements
> * Assorted minor changes
>
> There are several IPMI patches here that aren't usually in my area of
> maintenance, but there isn't a regular maintainer and these patches
> are for the benefit of the powernv machine type.
Hi -- I'm afraid this pullreq generates a new clang sanitizer warning
running 'make check':
/home/petmay01/linaro/qemu-for-merges/hw/core/loader.c:67:15: runtime
error: null pointer passed as argument 1, which is declared to never
be null
It looks like we try to call open(NULL, ...).
Affected tests are in check-qtest-i386:
tests/bios-tables-test
/i386/acpi/piix4/ipmi
/i386/acpi/q35/ipmi
tests/ipmi-kcs-test
Here's a backtrace:
#0 0x00005555567e6197 in get_image_size (filename=0x0) at
/home/petmay01/linaro/qemu-for-merges/hw/core/loader.c:67
#1 0x00005555568ead3c in ipmi_fru_init (fru=0x55555ab98588)
at /home/petmay01/linaro/qemu-for-merges/hw/ipmi/ipmi_bmc_sim.c:1902
#2 0x00005555568e91ac in ipmi_sim_realize (dev=<optimised out>,
errp=<optimised out>)
at /home/petmay01/linaro/qemu-for-merges/hw/ipmi/ipmi_bmc_sim.c:1943
#3 0x00005555567d6df6 in device_set_realized (obj=<optimised out>,
value=<optimised out>, errp=<optimised out>)
at /home/petmay01/linaro/qemu-for-merges/hw/core/qdev.c:905
#4 0x0000555556d7b1f8 in property_set_bool (obj=0x55555ab93c90,
v=<optimised out>, name=<optimised out>, opaque=<optimised out>,
errp=0x7fffffffde90) at
/home/petmay01/linaro/qemu-for-merges/qom/object.c:1860
#5 0x0000555556d7dd1d in object_property_set_qobject (obj=0x0,
value=<optimised out>, name=0x58fdf801 <error: Cannot access memory at
address 0x58fdf801>, errp=0x1) at
/home/petmay01/linaro/qemu-for-merges/qom/qom-qobject.c:27
#6 0x0000555556d78cb2 in object_property_set_bool
(obj=0x55555ab93c90, value=<optimised out>, name=0x55555710e087
"realized", errp=0x7fffffffde90) at
/home/petmay01/linaro/qemu-for-merges/qom/object.c:1163
#7 0x000055555661d80d in qdev_device_add (opts=<optimised out>,
errp=<optimised out>)
at /home/petmay01/linaro/qemu-for-merges/qdev-monitor.c:630
#8 0x00005555566374cb in device_init_func (opaque=<optimised out>,
opts=0x0, errp=0x58fdf801)
at /home/petmay01/linaro/qemu-for-merges/vl.c:2305
#9 0x000055555701dc81 in qemu_opts_foreach (list=<optimised out>,
func=<optimised out>, opaque=<optimised out>, errp=<optimised out>) at
/home/petmay01/linaro/qemu-for-merges/util/qemu-option.c:1114
#10 0x0000555556633289 in main (argc=<optimised out>, argv=<optimised
out>, envp=<optimised out>)
at /home/petmay01/linaro/qemu-for-merges/vl.c:4583
It looks like the device doesn't handle not having its fru.filename
property set -- this should either cause an error in realize or the
rest of the device code should handle NULL.
thanks
-- PMM
On 04/24/2017 03:12 PM, Peter Maydell wrote: > On 24 April 2017 at 02:58, David Gibson <david@gibson.dropbear.id.au> wrote: >> The following changes since commit 32c7e0ab755745e961f1772e95cac381cc68769d: >> >> Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20170421' into staging (2017-04-21 15:59:27 +0100) >> >> are available in the git repository at: >> >> git://github.com/dgibson/qemu.git tags/ppc-for-2.10-20170424 >> >> for you to fetch changes up to 4cab48942a1c5353f0a314fab1aa85a5f0a61461: >> >> target/ppc: Style fixes (2017-04-24 08:56:19 +1000) >> >> ---------------------------------------------------------------- >> ppc patch queue 2017-04-24 >> >> Here's my first pull request for qemu-2.10, consisting of assorted >> patches which have accumulated while qemu-2.9 stabilized. Highlights >> are: >> * Rework / cleanup of the XICS interrupt controller >> * Substantial improvement to the 'powernv' machine type >> - Includes an MMIO XICS version >> * POWER9 support improvements >> - POWER9 guests with KVM >> - Partial support for POWER9 guests with TCG >> * IOMMU and VFIO improvements >> * Assorted minor changes >> >> There are several IPMI patches here that aren't usually in my area of >> maintenance, but there isn't a regular maintainer and these patches >> are for the benefit of the powernv machine type. > > > Hi -- I'm afraid this pullreq generates a new clang sanitizer warning > running 'make check': > > /home/petmay01/linaro/qemu-for-merges/hw/core/loader.c:67:15: runtime > error: null pointer passed as argument 1, which is declared to never > be null > > It looks like we try to call open(NULL, ...). > > Affected tests are in check-qtest-i386: > tests/bios-tables-test > /i386/acpi/piix4/ipmi > /i386/acpi/q35/ipmi > tests/ipmi-kcs-test > > Here's a backtrace: > > #0 0x00005555567e6197 in get_image_size (filename=0x0) at > /home/petmay01/linaro/qemu-for-merges/hw/core/loader.c:67 > #1 0x00005555568ead3c in ipmi_fru_init (fru=0x55555ab98588) > at /home/petmay01/linaro/qemu-for-merges/hw/ipmi/ipmi_bmc_sim.c:1902 > #2 0x00005555568e91ac in ipmi_sim_realize (dev=<optimised out>, > errp=<optimised out>) > at /home/petmay01/linaro/qemu-for-merges/hw/ipmi/ipmi_bmc_sim.c:1943 > #3 0x00005555567d6df6 in device_set_realized (obj=<optimised out>, > value=<optimised out>, errp=<optimised out>) > at /home/petmay01/linaro/qemu-for-merges/hw/core/qdev.c:905 > #4 0x0000555556d7b1f8 in property_set_bool (obj=0x55555ab93c90, > v=<optimised out>, name=<optimised out>, opaque=<optimised out>, > errp=0x7fffffffde90) at > /home/petmay01/linaro/qemu-for-merges/qom/object.c:1860 > #5 0x0000555556d7dd1d in object_property_set_qobject (obj=0x0, > value=<optimised out>, name=0x58fdf801 <error: Cannot access memory at > address 0x58fdf801>, errp=0x1) at > /home/petmay01/linaro/qemu-for-merges/qom/qom-qobject.c:27 > #6 0x0000555556d78cb2 in object_property_set_bool > (obj=0x55555ab93c90, value=<optimised out>, name=0x55555710e087 > "realized", errp=0x7fffffffde90) at > /home/petmay01/linaro/qemu-for-merges/qom/object.c:1163 > #7 0x000055555661d80d in qdev_device_add (opts=<optimised out>, > errp=<optimised out>) > at /home/petmay01/linaro/qemu-for-merges/qdev-monitor.c:630 > #8 0x00005555566374cb in device_init_func (opaque=<optimised out>, > opts=0x0, errp=0x58fdf801) > at /home/petmay01/linaro/qemu-for-merges/vl.c:2305 > #9 0x000055555701dc81 in qemu_opts_foreach (list=<optimised out>, > func=<optimised out>, opaque=<optimised out>, errp=<optimised out>) at > /home/petmay01/linaro/qemu-for-merges/util/qemu-option.c:1114 > #10 0x0000555556633289 in main (argc=<optimised out>, argv=<optimised > out>, envp=<optimised out>) > at /home/petmay01/linaro/qemu-for-merges/vl.c:4583 > > It looks like the device doesn't handle not having its fru.filename > property set -- this should either cause an error in realize or the > rest of the device code should handle NULL. I missed that one beacause the IPMI tests are not run on ppc64. I will work on a fix and include the IPMI tests under ppc64 also. Thanks, C.
On 04/24/2017 04:38 PM, Cédric Le Goater wrote: > On 04/24/2017 03:12 PM, Peter Maydell wrote: >> On 24 April 2017 at 02:58, David Gibson <david@gibson.dropbear.id.au> wrote: >>> The following changes since commit 32c7e0ab755745e961f1772e95cac381cc68769d: >>> >>> Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20170421' into staging (2017-04-21 15:59:27 +0100) >>> >>> are available in the git repository at: >>> >>> git://github.com/dgibson/qemu.git tags/ppc-for-2.10-20170424 >>> >>> for you to fetch changes up to 4cab48942a1c5353f0a314fab1aa85a5f0a61461: >>> >>> target/ppc: Style fixes (2017-04-24 08:56:19 +1000) >>> >>> ---------------------------------------------------------------- >>> ppc patch queue 2017-04-24 >>> >>> Here's my first pull request for qemu-2.10, consisting of assorted >>> patches which have accumulated while qemu-2.9 stabilized. Highlights >>> are: >>> * Rework / cleanup of the XICS interrupt controller >>> * Substantial improvement to the 'powernv' machine type >>> - Includes an MMIO XICS version >>> * POWER9 support improvements >>> - POWER9 guests with KVM >>> - Partial support for POWER9 guests with TCG >>> * IOMMU and VFIO improvements >>> * Assorted minor changes >>> >>> There are several IPMI patches here that aren't usually in my area of >>> maintenance, but there isn't a regular maintainer and these patches >>> are for the benefit of the powernv machine type. >> >> >> Hi -- I'm afraid this pullreq generates a new clang sanitizer warning >> running 'make check': >> >> /home/petmay01/linaro/qemu-for-merges/hw/core/loader.c:67:15: runtime >> error: null pointer passed as argument 1, which is declared to never >> be null >> >> It looks like we try to call open(NULL, ...). >> >> Affected tests are in check-qtest-i386: >> tests/bios-tables-test >> /i386/acpi/piix4/ipmi >> /i386/acpi/q35/ipmi >> tests/ipmi-kcs-test >> >> Here's a backtrace: >> >> #0 0x00005555567e6197 in get_image_size (filename=0x0) at >> /home/petmay01/linaro/qemu-for-merges/hw/core/loader.c:67 >> #1 0x00005555568ead3c in ipmi_fru_init (fru=0x55555ab98588) >> at /home/petmay01/linaro/qemu-for-merges/hw/ipmi/ipmi_bmc_sim.c:1902 >> #2 0x00005555568e91ac in ipmi_sim_realize (dev=<optimised out>, >> errp=<optimised out>) >> at /home/petmay01/linaro/qemu-for-merges/hw/ipmi/ipmi_bmc_sim.c:1943 >> #3 0x00005555567d6df6 in device_set_realized (obj=<optimised out>, >> value=<optimised out>, errp=<optimised out>) >> at /home/petmay01/linaro/qemu-for-merges/hw/core/qdev.c:905 >> #4 0x0000555556d7b1f8 in property_set_bool (obj=0x55555ab93c90, >> v=<optimised out>, name=<optimised out>, opaque=<optimised out>, >> errp=0x7fffffffde90) at >> /home/petmay01/linaro/qemu-for-merges/qom/object.c:1860 >> #5 0x0000555556d7dd1d in object_property_set_qobject (obj=0x0, >> value=<optimised out>, name=0x58fdf801 <error: Cannot access memory at >> address 0x58fdf801>, errp=0x1) at >> /home/petmay01/linaro/qemu-for-merges/qom/qom-qobject.c:27 >> #6 0x0000555556d78cb2 in object_property_set_bool >> (obj=0x55555ab93c90, value=<optimised out>, name=0x55555710e087 >> "realized", errp=0x7fffffffde90) at >> /home/petmay01/linaro/qemu-for-merges/qom/object.c:1163 >> #7 0x000055555661d80d in qdev_device_add (opts=<optimised out>, >> errp=<optimised out>) >> at /home/petmay01/linaro/qemu-for-merges/qdev-monitor.c:630 >> #8 0x00005555566374cb in device_init_func (opaque=<optimised out>, >> opts=0x0, errp=0x58fdf801) >> at /home/petmay01/linaro/qemu-for-merges/vl.c:2305 >> #9 0x000055555701dc81 in qemu_opts_foreach (list=<optimised out>, >> func=<optimised out>, opaque=<optimised out>, errp=<optimised out>) at >> /home/petmay01/linaro/qemu-for-merges/util/qemu-option.c:1114 >> #10 0x0000555556633289 in main (argc=<optimised out>, argv=<optimised >> out>, envp=<optimised out>) >> at /home/petmay01/linaro/qemu-for-merges/vl.c:4583 >> >> It looks like the device doesn't handle not having its fru.filename >> property set -- this should either cause an error in realize or the >> rest of the device code should handle NULL. > > I missed that one beacause the IPMI tests are not run on ppc64. I will > work on a fix and include the IPMI tests under ppc64 also. I could not reproduce the error with the clang environment I am using (f24). Nevertheless, I have sent a couple of patches which should fix the problem. Thanks, C.
On Mon, Apr 24, 2017 at 02:12:19PM +0100, Peter Maydell wrote: > On 24 April 2017 at 02:58, David Gibson <david@gibson.dropbear.id.au> wrote: > > The following changes since commit 32c7e0ab755745e961f1772e95cac381cc68769d: > > > > Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20170421' into staging (2017-04-21 15:59:27 +0100) > > > > are available in the git repository at: > > > > git://github.com/dgibson/qemu.git tags/ppc-for-2.10-20170424 > > > > for you to fetch changes up to 4cab48942a1c5353f0a314fab1aa85a5f0a61461: > > > > target/ppc: Style fixes (2017-04-24 08:56:19 +1000) > > > > ---------------------------------------------------------------- > > ppc patch queue 2017-04-24 > > > > Here's my first pull request for qemu-2.10, consisting of assorted > > patches which have accumulated while qemu-2.9 stabilized. Highlights > > are: > > * Rework / cleanup of the XICS interrupt controller > > * Substantial improvement to the 'powernv' machine type > > - Includes an MMIO XICS version > > * POWER9 support improvements > > - POWER9 guests with KVM > > - Partial support for POWER9 guests with TCG > > * IOMMU and VFIO improvements > > * Assorted minor changes > > > > There are several IPMI patches here that aren't usually in my area of > > maintenance, but there isn't a regular maintainer and these patches > > are for the benefit of the powernv machine type. > > > Hi -- I'm afraid this pullreq generates a new clang sanitizer warning > running 'make check': Drat. What do I need to do to see these warnings? Sounds like I should add that to my pre-pull-request testing sequence. Just building with clang (on Fedora 25) and running make check doesn't seem to be sufficient. > /home/petmay01/linaro/qemu-for-merges/hw/core/loader.c:67:15: runtime > error: null pointer passed as argument 1, which is declared to never > be null > > It looks like we try to call open(NULL, ...). > > Affected tests are in check-qtest-i386: > tests/bios-tables-test > /i386/acpi/piix4/ipmi > /i386/acpi/q35/ipmi > tests/ipmi-kcs-test > > Here's a backtrace: > > #0 0x00005555567e6197 in get_image_size (filename=0x0) at > /home/petmay01/linaro/qemu-for-merges/hw/core/loader.c:67 > #1 0x00005555568ead3c in ipmi_fru_init (fru=0x55555ab98588) > at /home/petmay01/linaro/qemu-for-merges/hw/ipmi/ipmi_bmc_sim.c:1902 > #2 0x00005555568e91ac in ipmi_sim_realize (dev=<optimised out>, > errp=<optimised out>) > at /home/petmay01/linaro/qemu-for-merges/hw/ipmi/ipmi_bmc_sim.c:1943 > #3 0x00005555567d6df6 in device_set_realized (obj=<optimised out>, > value=<optimised out>, errp=<optimised out>) > at /home/petmay01/linaro/qemu-for-merges/hw/core/qdev.c:905 > #4 0x0000555556d7b1f8 in property_set_bool (obj=0x55555ab93c90, > v=<optimised out>, name=<optimised out>, opaque=<optimised out>, > errp=0x7fffffffde90) at > /home/petmay01/linaro/qemu-for-merges/qom/object.c:1860 > #5 0x0000555556d7dd1d in object_property_set_qobject (obj=0x0, > value=<optimised out>, name=0x58fdf801 <error: Cannot access memory at > address 0x58fdf801>, errp=0x1) at > /home/petmay01/linaro/qemu-for-merges/qom/qom-qobject.c:27 > #6 0x0000555556d78cb2 in object_property_set_bool > (obj=0x55555ab93c90, value=<optimised out>, name=0x55555710e087 > "realized", errp=0x7fffffffde90) at > /home/petmay01/linaro/qemu-for-merges/qom/object.c:1163 > #7 0x000055555661d80d in qdev_device_add (opts=<optimised out>, > errp=<optimised out>) > at /home/petmay01/linaro/qemu-for-merges/qdev-monitor.c:630 > #8 0x00005555566374cb in device_init_func (opaque=<optimised out>, > opts=0x0, errp=0x58fdf801) > at /home/petmay01/linaro/qemu-for-merges/vl.c:2305 > #9 0x000055555701dc81 in qemu_opts_foreach (list=<optimised out>, > func=<optimised out>, opaque=<optimised out>, errp=<optimised out>) at > /home/petmay01/linaro/qemu-for-merges/util/qemu-option.c:1114 > #10 0x0000555556633289 in main (argc=<optimised out>, argv=<optimised > out>, envp=<optimised out>) > at /home/petmay01/linaro/qemu-for-merges/vl.c:4583 > > It looks like the device doesn't handle not having its fru.filename > property set -- this should either cause an error in realize or the > rest of the device code should handle NULL. > > thanks > -- PMM > -- 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 04/26/2017 04:38 AM, David Gibson wrote: > On Mon, Apr 24, 2017 at 02:12:19PM +0100, Peter Maydell wrote: >> On 24 April 2017 at 02:58, David Gibson <david@gibson.dropbear.id.au> wrote: >>> The following changes since commit 32c7e0ab755745e961f1772e95cac381cc68769d: >>> >>> Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20170421' into staging (2017-04-21 15:59:27 +0100) >>> >>> are available in the git repository at: >>> >>> git://github.com/dgibson/qemu.git tags/ppc-for-2.10-20170424 >>> >>> for you to fetch changes up to 4cab48942a1c5353f0a314fab1aa85a5f0a61461: >>> >>> target/ppc: Style fixes (2017-04-24 08:56:19 +1000) >>> >>> ---------------------------------------------------------------- >>> ppc patch queue 2017-04-24 >>> >>> Here's my first pull request for qemu-2.10, consisting of assorted >>> patches which have accumulated while qemu-2.9 stabilized. Highlights >>> are: >>> * Rework / cleanup of the XICS interrupt controller >>> * Substantial improvement to the 'powernv' machine type >>> - Includes an MMIO XICS version >>> * POWER9 support improvements >>> - POWER9 guests with KVM >>> - Partial support for POWER9 guests with TCG >>> * IOMMU and VFIO improvements >>> * Assorted minor changes >>> >>> There are several IPMI patches here that aren't usually in my area of >>> maintenance, but there isn't a regular maintainer and these patches >>> are for the benefit of the powernv machine type. >> >> >> Hi -- I'm afraid this pullreq generates a new clang sanitizer warning >> running 'make check': > > Drat. What do I need to do to see these warnings? Sounds like I > should add that to my pre-pull-request testing sequence. Just > building with clang (on Fedora 25) and running make check doesn't seem > to be sufficient. yes. May be we could add this flag : --extra-cflags=-fsanitize=undefined to the travis builds using clang ? It is reporting a couple of errors on ppc64 target/ppc/translate.c:980:56: runtime error: left shift of negative value -32768 target/ppc/translate.c:983:56: runtime error: left shift of negative value -16 hw/usb/hcd-ohci.c:1122:9: runtime error: left shift of 15 by 28 places cannot be represented in type 'int' hw/usb/hcd-ohci.c:1122:9: runtime error: left shift of 15 by 28 places cannot be represented in type 'int' hw/usb/hcd-ohci.c:1179:12: runtime error: left shift of 15 by 28 places cannot be represented in type 'int' target/ppc/translate.c:980:56: runtime error: left shift of negative value -32768 target/ppc/translate.c:983:56: runtime error: left shift of negative value -16 target/ppc/translate.c:983:56: runtime error: left shift of negative value -1 target/ppc/translate.c:980:56: runtime error: left shift of negative value -28672 target/ppc/translate.c:980:56: runtime error: left shift of negative value -28672 target/ppc/translate.c:980:56: runtime error: left shift of negative value -28672 target/ppc/translate.c:980:56: runtime error: left shift of negative value -28672 target/ppc/translate.c:983:56: runtime error: left shift of negative value -1 target/ppc/translate.c:980:56: runtime error: left shift of negative value -1 hw/usb/hcd-xhci.c:3005:19: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' hw/usb/hcd-xhci.c:2417:29: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' hw/usb/hcd-xhci.c:2420:29: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' hw/usb/hcd-xhci.c:2447:38: runtime error: left shift of 31 by 27 places cannot be represented in type 'int' hw/usb/hcd-xhci.c:2449:48: runtime error: left shift of 31 by 27 places cannot be represented in type 'int' hw/usb/hcd-xhci.c:2450:62: runtime error: left shift of 31 by 27 places cannot be represented in type 'int' /target/ppc/translate.c:980:56: runtime error: left shift of negative value -1 /target/ppc/mmu_helper.c:2599:38: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' /target/ppc/mmu_helper.c:2599:53: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' /target/ppc/translate.c:983:56: runtime error: left shift of negative value -240 /target/ppc/translate.c:980:56: runtime error: left shift of negative value -128 /target/ppc/translate.c:983:56: runtime error: left shift of negative value -32768 target/ppc/translate.c:983:56: runtime error: left shift of negative value -1 target/ppc/translate.c:980:56: runtime error: left shift of negative value -28672 target/ppc/translate.c:983:56: runtime error: left shift of negative value -1 target/ppc/translate.c:983:56: runtime error: left shift of negative value -1 target/ppc/translate.c:980:56: runtime error: left shift of negative value -13108 target/ppc/translate.c:983:56: runtime error: left shift of negative value -1 target/ppc/translate.c:980:56: runtime error: left shift of negative value -32768 Thanks, C. >> /home/petmay01/linaro/qemu-for-merges/hw/core/loader.c:67:15: runtime >> error: null pointer passed as argument 1, which is declared to never >> be null >> >> It looks like we try to call open(NULL, ...). >> >> Affected tests are in check-qtest-i386: >> tests/bios-tables-test >> /i386/acpi/piix4/ipmi >> /i386/acpi/q35/ipmi >> tests/ipmi-kcs-test >> >> Here's a backtrace: >> >> #0 0x00005555567e6197 in get_image_size (filename=0x0) at >> /home/petmay01/linaro/qemu-for-merges/hw/core/loader.c:67 >> #1 0x00005555568ead3c in ipmi_fru_init (fru=0x55555ab98588) >> at /home/petmay01/linaro/qemu-for-merges/hw/ipmi/ipmi_bmc_sim.c:1902 >> #2 0x00005555568e91ac in ipmi_sim_realize (dev=<optimised out>, >> errp=<optimised out>) >> at /home/petmay01/linaro/qemu-for-merges/hw/ipmi/ipmi_bmc_sim.c:1943 >> #3 0x00005555567d6df6 in device_set_realized (obj=<optimised out>, >> value=<optimised out>, errp=<optimised out>) >> at /home/petmay01/linaro/qemu-for-merges/hw/core/qdev.c:905 >> #4 0x0000555556d7b1f8 in property_set_bool (obj=0x55555ab93c90, >> v=<optimised out>, name=<optimised out>, opaque=<optimised out>, >> errp=0x7fffffffde90) at >> /home/petmay01/linaro/qemu-for-merges/qom/object.c:1860 >> #5 0x0000555556d7dd1d in object_property_set_qobject (obj=0x0, >> value=<optimised out>, name=0x58fdf801 <error: Cannot access memory at >> address 0x58fdf801>, errp=0x1) at >> /home/petmay01/linaro/qemu-for-merges/qom/qom-qobject.c:27 >> #6 0x0000555556d78cb2 in object_property_set_bool >> (obj=0x55555ab93c90, value=<optimised out>, name=0x55555710e087 >> "realized", errp=0x7fffffffde90) at >> /home/petmay01/linaro/qemu-for-merges/qom/object.c:1163 >> #7 0x000055555661d80d in qdev_device_add (opts=<optimised out>, >> errp=<optimised out>) >> at /home/petmay01/linaro/qemu-for-merges/qdev-monitor.c:630 >> #8 0x00005555566374cb in device_init_func (opaque=<optimised out>, >> opts=0x0, errp=0x58fdf801) >> at /home/petmay01/linaro/qemu-for-merges/vl.c:2305 >> #9 0x000055555701dc81 in qemu_opts_foreach (list=<optimised out>, >> func=<optimised out>, opaque=<optimised out>, errp=<optimised out>) at >> /home/petmay01/linaro/qemu-for-merges/util/qemu-option.c:1114 >> #10 0x0000555556633289 in main (argc=<optimised out>, argv=<optimised >> out>, envp=<optimised out>) >> at /home/petmay01/linaro/qemu-for-merges/vl.c:4583 >> >> It looks like the device doesn't handle not having its fru.filename >> property set -- this should either cause an error in realize or the >> rest of the device code should handle NULL. >> >> thanks >> -- PMM >> >
On 26 April 2017 at 07:11, Cédric Le Goater <clg@kaod.org> wrote: > yes. May be we could add this flag : > > --extra-cflags=-fsanitize=undefined > > to the travis builds using clang ? It is reporting a couple of errors on ppc64 > > target/ppc/translate.c:980:56: runtime error: left shift of negative value -32768 > target/ppc/translate.c:983:56: runtime error: left shift of negative value -16 > hw/usb/hcd-ohci.c:1122:9: runtime error: left shift of 15 by 28 places cannot be represented in type 'int' > hw/usb/hcd-ohci.c:1122:9: runtime error: left shift of 15 by 28 places cannot be represented in type 'int' > hw/usb/hcd-ohci.c:1179:12: runtime error: left shift of 15 by 28 places cannot be represented in type 'int' All the stuff about shifts is false positives, because the sanitizer doesn't know that -fwrapv makes these operations defined behaviour. Newer versions of clang I think get this correct, and less new but not ancient clang has a flag that says "don't report that particular set of shift errors". For my pullreq tests at the moment I just use grep to filter them out: https://git.linaro.org/people/peter.maydell/misc-scripts.git/tree/greplogs but as the TODO note says I should find out what the right ubsan flag is to suppress them at source. thanks -- PMM
On 26 April 2017 at 11:46, Peter Maydell <peter.maydell@linaro.org> wrote: > All the stuff about shifts is false positives, because the sanitizer > doesn't know that -fwrapv makes these operations defined behaviour. > > Newer versions of clang I think get this correct, and less new > but not ancient clang has a flag that says "don't report that > particular set of shift errors". I just looked into this, and I think the best set of configure options is: '--cc=clang' '--cxx=clang++' '--extra-cflags=-fsanitize=undefined -fno-sanitize=shift-base -Werror' Works with clang-3.8.0 at least. thanks -- PMM
On 04/26/2017 03:15 PM, Peter Maydell wrote: > On 26 April 2017 at 11:46, Peter Maydell <peter.maydell@linaro.org> wrote: >> All the stuff about shifts is false positives, because the sanitizer >> doesn't know that -fwrapv makes these operations defined behaviour. >> >> Newer versions of clang I think get this correct, and less new >> but not ancient clang has a flag that says "don't report that >> particular set of shift errors". > > I just looked into this, and I think the best set of configure options is: > '--cc=clang' '--cxx=clang++' '--extra-cflags=-fsanitize=undefined > -fno-sanitize=shift-base -Werror' Ah ! Too fast you are for me :) you beat me to it. > Works with clang-3.8.0 at least. Yes. confirmed. Thanks, C.
On 26 April 2017 at 14:32, Cédric Le Goater <clg@kaod.org> wrote: > On 04/26/2017 03:15 PM, Peter Maydell wrote: >> I just looked into this, and I think the best set of configure options is: >> '--cc=clang' '--cxx=clang++' '--extra-cflags=-fsanitize=undefined >> -fno-sanitize=shift-base -Werror' > > Ah ! Too fast you are for me :) you beat me to it. > >> Works with clang-3.8.0 at least. > > Yes. confirmed. I've added info on how to use clang ubsan to http://wiki.qemu.org/Testing#clang_UBSan thanks -- PMM
Hi,
This series seems to have some coding style problems. See output below for
more information:
Message-id: 20170424015927.8933-1-david@gibson.dropbear.id.au
Subject: [Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
Type: series
=== TEST SCRIPT BEGIN ===
#!/bin/bash
BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0
# Useful git options
git config --local diff.renamelimit 0
git config --local diff.renames True
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
Switched to a new branch 'test'
94bea6a target/ppc: Style fixes
d23eac0 e500, book3s: mfspr 259: Register mapped/aliased SPRG3 user read
3a5bd96 target/ppc: Flush TLB on write to PIDR
3240e33 spapr-cpu-core: Release ICPState object during CPU unrealization
ea6341d ppc/pnv: generate an OEM SEL event on shutdown
130cf1f ppc/pnv: add initial IPMI sensors for the BMC simulator
7e24b32 ppc/pnv: populate device tree for IPMI BT devices
6575717 ppc/pnv: populate device tree for serial devices
836d562 ppc/pnv: populate device tree for RTC devices
dca8231 ppc/pnv: scan ISA bus to populate device tree
4d631b7 ppc/pnv: enable only one LPC bus
af22372 ppc/pnv: Add support for POWER8+ LPC Controller
2d79b40 spapr: remove the 'nr_servers' field from the machine
8fa3c09 target/ppc: Fix size of struct PPCElfPrstatus
212f4d7 ipmi: introduce an ipmi_bmc_gen_event() API
240da02 ipmi: introduce an ipmi_bmc_sdr_find() API
3607ef7 ipmi: provide support for FRUs
aa873a2 ipmi: use a file to load SDRs
ef1ce62 ppc: add IPMI support
1a8fffd ppc/pnv: Add OCC model stub with interrupt support
828bcfa ppc/pnv: Add cut down PSI bridge model and hookup external interrupt
ac8392a ppc/pnv: add memory regions for the ICP registers
d90ca95 ppc/pnv: add a helper to calculate MMIO addresses registers
a5a614b ppc/pnv: create the ICP object under PnvCore
5f43b5e ppc/pnv: extend the machine with a InterruptStatsProvider interface
04dfecf ppc/pnv: extend the machine with a XICSFabric interface
5b94a0f ppc/pnv: add a PnvICPState object
96c645e ppc/xics: add a realize() handler to ICPStateClass
4569615 spapr: allocate the ICPState object from under sPAPRCPUCore
8257d1e spapr: move the IRQ server number mapping under the machine
56d6f91 ppc/xics: introduce an 'intc' backlink under PowerPCCPU
f024a9a target/ppc: Add ibm, processor-radix-AP-encodings for TCG
a0d8df3 spapr_pci: Removed unused include
7cc7952 spapr_pci: Warn when RAM page size is not enabled in IOMMU page mask
2093121 target-ppc/kvm: Enable in-kernel TCE acceleration for multi-tce
26538ee spapr: Workaround for broken radix guests
d2da420 spapr: Enable ISA 3.0 MMU mode selection via CAS
50fe08d spapr: move spapr_populate_pa_features()
d667f21 target/ppc: Implement H_REGISTER_PROCESS_TABLE H_CALL
129c199 target/ppc: Add new H-CALL shells for in memory table translation
d033285 target-ppc: support KVM_CAP_PPC_MMU_RADIX, KVM_CAP_PPC_MMU_HASH_V3
38c395b spapr: Add ibm, processor-radix-AP-encodings to the device tree
4fe232c target-ppc: kvm: make use of KVM_CREATE_SPAPR_TCE_64
90f87ad hw/ppc/pnv: Classify the "PowerNV Chip" devices as CPU devices
c98837a ppc/spapr: QOM'ify sPAPRRTCState
1bc37a7 pseries: Add pseries-2.10 machine type
40a726e target/ppc: Improve accuracy of guest HTM availability on P8s
=== OUTPUT BEGIN ===
Checking PATCH 1/47: target/ppc: Improve accuracy of guest HTM availability on P8s...
Checking PATCH 2/47: pseries: Add pseries-2.10 machine type...
Checking PATCH 3/47: ppc/spapr: QOM'ify sPAPRRTCState...
Checking PATCH 4/47: hw/ppc/pnv: Classify the "PowerNV Chip" devices as CPU devices...
Checking PATCH 5/47: target-ppc: kvm: make use of KVM_CREATE_SPAPR_TCE_64...
Checking PATCH 6/47: spapr: Add ibm, processor-radix-AP-encodings to the device tree...
Checking PATCH 7/47: target-ppc: support KVM_CAP_PPC_MMU_RADIX, KVM_CAP_PPC_MMU_HASH_V3...
Checking PATCH 8/47: target/ppc: Add new H-CALL shells for in memory table translation...
Checking PATCH 9/47: target/ppc: Implement H_REGISTER_PROCESS_TABLE H_CALL...
Checking PATCH 10/47: spapr: move spapr_populate_pa_features()...
Checking PATCH 11/47: spapr: Enable ISA 3.0 MMU mode selection via CAS...
Checking PATCH 12/47: spapr: Workaround for broken radix guests...
Checking PATCH 13/47: target-ppc/kvm: Enable in-kernel TCE acceleration for multi-tce...
Checking PATCH 14/47: spapr_pci: Warn when RAM page size is not enabled in IOMMU page mask...
Checking PATCH 15/47: spapr_pci: Removed unused include...
Checking PATCH 16/47: target/ppc: Add ibm, processor-radix-AP-encodings for TCG...
Checking PATCH 17/47: ppc/xics: introduce an 'intc' backlink under PowerPCCPU...
Checking PATCH 18/47: spapr: move the IRQ server number mapping under the machine...
Checking PATCH 19/47: spapr: allocate the ICPState object from under sPAPRCPUCore...
Checking PATCH 20/47: ppc/xics: add a realize() handler to ICPStateClass...
Checking PATCH 21/47: ppc/pnv: add a PnvICPState object...
Checking PATCH 22/47: ppc/pnv: extend the machine with a XICSFabric interface...
Checking PATCH 23/47: ppc/pnv: extend the machine with a InterruptStatsProvider interface...
Checking PATCH 24/47: ppc/pnv: create the ICP object under PnvCore...
Checking PATCH 25/47: ppc/pnv: add a helper to calculate MMIO addresses registers...
Checking PATCH 26/47: ppc/pnv: add memory regions for the ICP registers...
Checking PATCH 27/47: ppc/pnv: Add cut down PSI bridge model and hookup external interrupt...
Checking PATCH 28/47: ppc/pnv: Add OCC model stub with interrupt support...
Checking PATCH 29/47: ppc: add IPMI support...
Checking PATCH 30/47: ipmi: use a file to load SDRs...
Checking PATCH 31/47: ipmi: provide support for FRUs...
Checking PATCH 32/47: ipmi: introduce an ipmi_bmc_sdr_find() API...
Checking PATCH 33/47: ipmi: introduce an ipmi_bmc_gen_event() API...
Checking PATCH 34/47: target/ppc: Fix size of struct PPCElfPrstatus...
Checking PATCH 35/47: spapr: remove the 'nr_servers' field from the machine...
Checking PATCH 36/47: ppc/pnv: Add support for POWER8+ LPC Controller...
Checking PATCH 37/47: ppc/pnv: enable only one LPC bus...
Checking PATCH 38/47: ppc/pnv: scan ISA bus to populate device tree...
Checking PATCH 39/47: ppc/pnv: populate device tree for RTC devices...
Checking PATCH 40/47: ppc/pnv: populate device tree for serial devices...
Checking PATCH 41/47: ppc/pnv: populate device tree for IPMI BT devices...
Checking PATCH 42/47: ppc/pnv: add initial IPMI sensors for the BMC simulator...
Checking PATCH 43/47: ppc/pnv: generate an OEM SEL event on shutdown...
Checking PATCH 44/47: spapr-cpu-core: Release ICPState object during CPU unrealization...
Checking PATCH 45/47: target/ppc: Flush TLB on write to PIDR...
Checking PATCH 46/47: e500, book3s: mfspr 259: Register mapped/aliased SPRG3 user read...
ERROR: space prohibited between function name and open parenthesis '('
#51: FILE: target/ppc/translate_init.c:1643:
+static void gen_spr_usprg3 (CPUPPCState *env)
total: 1 errors, 0 warnings, 28 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 47/47: target/ppc: Style fixes...
=== 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 Sun, Apr 23, 2017 at 08:08:23PM -0700, no-reply@patchew.org wrote:
> Hi,
>
> This series seems to have some coding style problems. See output below for
> more information:
>
> Message-id: 20170424015927.8933-1-david@gibson.dropbear.id.au
> Subject: [Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
> Type: series
>
> === TEST SCRIPT BEGIN ===
> #!/bin/bash
>
> BASE=base
> n=1
> total=$(git log --oneline $BASE.. | wc -l)
> failed=0
>
> # Useful git options
> git config --local diff.renamelimit 0
> git config --local diff.renames True
>
> 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
> Switched to a new branch 'test'
> 94bea6a target/ppc: Style fixes
> d23eac0 e500, book3s: mfspr 259: Register mapped/aliased SPRG3 user read
> 3a5bd96 target/ppc: Flush TLB on write to PIDR
> 3240e33 spapr-cpu-core: Release ICPState object during CPU unrealization
> ea6341d ppc/pnv: generate an OEM SEL event on shutdown
> 130cf1f ppc/pnv: add initial IPMI sensors for the BMC simulator
> 7e24b32 ppc/pnv: populate device tree for IPMI BT devices
> 6575717 ppc/pnv: populate device tree for serial devices
> 836d562 ppc/pnv: populate device tree for RTC devices
> dca8231 ppc/pnv: scan ISA bus to populate device tree
> 4d631b7 ppc/pnv: enable only one LPC bus
> af22372 ppc/pnv: Add support for POWER8+ LPC Controller
> 2d79b40 spapr: remove the 'nr_servers' field from the machine
> 8fa3c09 target/ppc: Fix size of struct PPCElfPrstatus
> 212f4d7 ipmi: introduce an ipmi_bmc_gen_event() API
> 240da02 ipmi: introduce an ipmi_bmc_sdr_find() API
> 3607ef7 ipmi: provide support for FRUs
> aa873a2 ipmi: use a file to load SDRs
> ef1ce62 ppc: add IPMI support
> 1a8fffd ppc/pnv: Add OCC model stub with interrupt support
> 828bcfa ppc/pnv: Add cut down PSI bridge model and hookup external interrupt
> ac8392a ppc/pnv: add memory regions for the ICP registers
> d90ca95 ppc/pnv: add a helper to calculate MMIO addresses registers
> a5a614b ppc/pnv: create the ICP object under PnvCore
> 5f43b5e ppc/pnv: extend the machine with a InterruptStatsProvider interface
> 04dfecf ppc/pnv: extend the machine with a XICSFabric interface
> 5b94a0f ppc/pnv: add a PnvICPState object
> 96c645e ppc/xics: add a realize() handler to ICPStateClass
> 4569615 spapr: allocate the ICPState object from under sPAPRCPUCore
> 8257d1e spapr: move the IRQ server number mapping under the machine
> 56d6f91 ppc/xics: introduce an 'intc' backlink under PowerPCCPU
> f024a9a target/ppc: Add ibm, processor-radix-AP-encodings for TCG
> a0d8df3 spapr_pci: Removed unused include
> 7cc7952 spapr_pci: Warn when RAM page size is not enabled in IOMMU page mask
> 2093121 target-ppc/kvm: Enable in-kernel TCE acceleration for multi-tce
> 26538ee spapr: Workaround for broken radix guests
> d2da420 spapr: Enable ISA 3.0 MMU mode selection via CAS
> 50fe08d spapr: move spapr_populate_pa_features()
> d667f21 target/ppc: Implement H_REGISTER_PROCESS_TABLE H_CALL
> 129c199 target/ppc: Add new H-CALL shells for in memory table translation
> d033285 target-ppc: support KVM_CAP_PPC_MMU_RADIX, KVM_CAP_PPC_MMU_HASH_V3
> 38c395b spapr: Add ibm, processor-radix-AP-encodings to the device tree
> 4fe232c target-ppc: kvm: make use of KVM_CREATE_SPAPR_TCE_64
> 90f87ad hw/ppc/pnv: Classify the "PowerNV Chip" devices as CPU devices
> c98837a ppc/spapr: QOM'ify sPAPRRTCState
> 1bc37a7 pseries: Add pseries-2.10 machine type
> 40a726e target/ppc: Improve accuracy of guest HTM availability on P8s
>
> === OUTPUT BEGIN ===
> Checking PATCH 1/47: target/ppc: Improve accuracy of guest HTM availability on P8s...
> Checking PATCH 2/47: pseries: Add pseries-2.10 machine type...
> Checking PATCH 3/47: ppc/spapr: QOM'ify sPAPRRTCState...
> Checking PATCH 4/47: hw/ppc/pnv: Classify the "PowerNV Chip" devices as CPU devices...
> Checking PATCH 5/47: target-ppc: kvm: make use of KVM_CREATE_SPAPR_TCE_64...
> Checking PATCH 6/47: spapr: Add ibm, processor-radix-AP-encodings to the device tree...
> Checking PATCH 7/47: target-ppc: support KVM_CAP_PPC_MMU_RADIX, KVM_CAP_PPC_MMU_HASH_V3...
> Checking PATCH 8/47: target/ppc: Add new H-CALL shells for in memory table translation...
> Checking PATCH 9/47: target/ppc: Implement H_REGISTER_PROCESS_TABLE H_CALL...
> Checking PATCH 10/47: spapr: move spapr_populate_pa_features()...
> Checking PATCH 11/47: spapr: Enable ISA 3.0 MMU mode selection via CAS...
> Checking PATCH 12/47: spapr: Workaround for broken radix guests...
> Checking PATCH 13/47: target-ppc/kvm: Enable in-kernel TCE acceleration for multi-tce...
> Checking PATCH 14/47: spapr_pci: Warn when RAM page size is not enabled in IOMMU page mask...
> Checking PATCH 15/47: spapr_pci: Removed unused include...
> Checking PATCH 16/47: target/ppc: Add ibm, processor-radix-AP-encodings for TCG...
> Checking PATCH 17/47: ppc/xics: introduce an 'intc' backlink under PowerPCCPU...
> Checking PATCH 18/47: spapr: move the IRQ server number mapping under the machine...
> Checking PATCH 19/47: spapr: allocate the ICPState object from under sPAPRCPUCore...
> Checking PATCH 20/47: ppc/xics: add a realize() handler to ICPStateClass...
> Checking PATCH 21/47: ppc/pnv: add a PnvICPState object...
> Checking PATCH 22/47: ppc/pnv: extend the machine with a XICSFabric interface...
> Checking PATCH 23/47: ppc/pnv: extend the machine with a InterruptStatsProvider interface...
> Checking PATCH 24/47: ppc/pnv: create the ICP object under PnvCore...
> Checking PATCH 25/47: ppc/pnv: add a helper to calculate MMIO addresses registers...
> Checking PATCH 26/47: ppc/pnv: add memory regions for the ICP registers...
> Checking PATCH 27/47: ppc/pnv: Add cut down PSI bridge model and hookup external interrupt...
> Checking PATCH 28/47: ppc/pnv: Add OCC model stub with interrupt support...
> Checking PATCH 29/47: ppc: add IPMI support...
> Checking PATCH 30/47: ipmi: use a file to load SDRs...
> Checking PATCH 31/47: ipmi: provide support for FRUs...
> Checking PATCH 32/47: ipmi: introduce an ipmi_bmc_sdr_find() API...
> Checking PATCH 33/47: ipmi: introduce an ipmi_bmc_gen_event() API...
> Checking PATCH 34/47: target/ppc: Fix size of struct PPCElfPrstatus...
> Checking PATCH 35/47: spapr: remove the 'nr_servers' field from the machine...
> Checking PATCH 36/47: ppc/pnv: Add support for POWER8+ LPC Controller...
> Checking PATCH 37/47: ppc/pnv: enable only one LPC bus...
> Checking PATCH 38/47: ppc/pnv: scan ISA bus to populate device tree...
> Checking PATCH 39/47: ppc/pnv: populate device tree for RTC devices...
> Checking PATCH 40/47: ppc/pnv: populate device tree for serial devices...
> Checking PATCH 41/47: ppc/pnv: populate device tree for IPMI BT devices...
> Checking PATCH 42/47: ppc/pnv: add initial IPMI sensors for the BMC simulator...
> Checking PATCH 43/47: ppc/pnv: generate an OEM SEL event on shutdown...
> Checking PATCH 44/47: spapr-cpu-core: Release ICPState object during CPU unrealization...
> Checking PATCH 45/47: target/ppc: Flush TLB on write to PIDR...
> Checking PATCH 46/47: e500, book3s: mfspr 259: Register mapped/aliased SPRG3 user read...
> ERROR: space prohibited between function name and open parenthesis '('
> #51: FILE: target/ppc/translate_init.c:1643:
> +static void gen_spr_usprg3 (CPUPPCState *env)
>
> total: 1 errors, 0 warnings, 28 lines checked
This style error is a case of matching the surrounding style instead
of the official style. In any case I fixed this instance - along with
the rest of that particular style violation - in 47/47.
>
> 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 47/47: target/ppc: Style fixes...
> === 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
© 2016 - 2026 Red Hat, Inc.