[Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424

David Gibson posted 47 patches 6 years, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170424015927.8933-1-david@gibson.dropbear.id.au
Test checkpatch failed
Test docker passed
Test s390x passed
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
[Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
Posted by David Gibson 6 years, 11 months ago
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

Re: [Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
Posted by Peter Maydell 6 years, 11 months ago
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

Re: [Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
Posted by Cédric Le Goater 6 years, 11 months ago
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.


Re: [Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
Posted by Cédric Le Goater 6 years, 11 months ago
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.  


Re: [Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
Posted by David Gibson 6 years, 11 months ago
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
Re: [Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
Posted by Cédric Le Goater 6 years, 11 months ago
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
>>
> 


Re: [Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
Posted by Peter Maydell 6 years, 11 months ago
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

Re: [Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
Posted by Peter Maydell 6 years, 11 months ago
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

Re: [Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
Posted by Cédric Le Goater 6 years, 11 months ago
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. 

Re: [Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
Posted by Peter Maydell 6 years, 11 months ago
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

Re: [Qemu-devel] [PULL 00/47] ppc-for-2.10 queue 20170424
Posted by no-reply@patchew.org 6 years, 11 months ago
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
Re: [Qemu-devel] [Qemu-ppc] [PULL 00/47] ppc-for-2.10 queue 20170424
Posted by David Gibson 6 years, 11 months ago
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