[Qemu-devel] [PATCH v3 0/8] pnv: improvement of LPC support and IPMI support

Cédric Le Goater posted 8 patches 7 years ago
Failed in applying to current master (apply log)
hw/ppc/Makefile.objs     |   2 +-
hw/ppc/pnv.c             | 228 ++++++++++++++++++++++++++++++++++++++---------
hw/ppc/pnv_bmc.c         | 122 +++++++++++++++++++++++++
hw/ppc/pnv_lpc.c         | 106 +++++++++++++++++++---
include/hw/ppc/pnv.h     |  11 +++
include/hw/ppc/pnv_lpc.h |   8 ++
6 files changed, 425 insertions(+), 52 deletions(-)
create mode 100644 hw/ppc/pnv_bmc.c
[Qemu-devel] [PATCH v3 0/8] pnv: improvement of LPC support and IPMI support
Posted by Cédric Le Goater 7 years ago
Hello,

The first patches improve the LPC support for the POWER8NVL (nvlink)
systems and for multichip systems. Next, we add IPMI support to the
machine which is required to power off and reboot a PowerNV system. To
make use of it, a BT device and an BMC simulator need to be defined on
the command line:

    -device ipmi-bmc-sim,id=bmc0 -device isa-ipmi-bt,bmc=bmc0,irq=10

To improve the sensor and FRU support, one can use the following
options for the simulator:

    sdrfile=./palmetto-SDR.bin,fruareasize=256,frudatafile=./palmetto-FRU.bin


To test, grab a kernel and a rootfs image here :

  https://openpower.xyz/job/openpower-op-build/distro=ubuntu,target=palmetto/lastSuccessfulBuild/artifact/images/zImage.epapr
  https://openpower.xyz/job/openpower-op-build/distro=ubuntu,target=palmetto/lastSuccessfulBuild/artifact/images/rootfs.cpio.xz

The full patchset is available here :

   https://github.com/legoater/qemu/commits/powernv-ipmi-2.9

Thanks,

C.

Changes since v2:

 - used PNV_LPC() macro to cast the 'opaque' parameter
 - introduced a pnv_chip_lpc_offset() routine to locate the LPC node
   of a chip   
 - set the "primary" property on the LPC bus of chip 0 from the machine
 - used the pnv_chip_lpc_offset() routine to scan the default LPC bus
 - removed the initializer of io_base

Changes since v1:

 - moved the IRQ handler in pnv_lpc.c and introduced pnv_lpc_isa_irq_create()
 - only add the "primary" property on the LPC bus of chip 0
 - reworked the assignement of the ISA IO base in the 'reg' array
   property
 - changed the type of the 'bmc' attribute of the machine

Benjamin Herrenschmidt (1):
  ppc/pnv: Add support for POWER8+ LPC Controller

Cédric Le Goater (7):
  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

 hw/ppc/Makefile.objs     |   2 +-
 hw/ppc/pnv.c             | 228 ++++++++++++++++++++++++++++++++++++++---------
 hw/ppc/pnv_bmc.c         | 122 +++++++++++++++++++++++++
 hw/ppc/pnv_lpc.c         | 106 +++++++++++++++++++---
 include/hw/ppc/pnv.h     |  11 +++
 include/hw/ppc/pnv_lpc.h |   8 ++
 6 files changed, 425 insertions(+), 52 deletions(-)
 create mode 100644 hw/ppc/pnv_bmc.c

-- 
2.7.4


Re: [Qemu-devel] [PATCH v3 0/8] pnv: improvement of LPC support and IPMI support
Posted by David Gibson 7 years ago
On Tue, Apr 11, 2017 at 05:29:58PM +0200, Cédric Le Goater wrote:
> Hello,
> 
> The first patches improve the LPC support for the POWER8NVL (nvlink)
> systems and for multichip systems. Next, we add IPMI support to the
> machine which is required to power off and reboot a PowerNV system. To
> make use of it, a BT device and an BMC simulator need to be defined on
> the command line:
> 
>     -device ipmi-bmc-sim,id=bmc0 -device isa-ipmi-bt,bmc=bmc0,irq=10
> 
> To improve the sensor and FRU support, one can use the following
> options for the simulator:
> 
>     sdrfile=./palmetto-SDR.bin,fruareasize=256,frudatafile=./palmetto-FRU.bin
> 
> 
> To test, grab a kernel and a rootfs image here :
> 
>   https://openpower.xyz/job/openpower-op-build/distro=ubuntu,target=palmetto/lastSuccessfulBuild/artifact/images/zImage.epapr
>   https://openpower.xyz/job/openpower-op-build/distro=ubuntu,target=palmetto/lastSuccessfulBuild/artifact/images/rootfs.cpio.xz
> 
> The full patchset is available here :
> 
>    https://github.com/legoater/qemu/commits/powernv-ipmi-2.9

Applied to ppc-for-2.10, thanks.

> 
> Thanks,
> 
> C.
> 
> Changes since v2:
> 
>  - used PNV_LPC() macro to cast the 'opaque' parameter
>  - introduced a pnv_chip_lpc_offset() routine to locate the LPC node
>    of a chip   
>  - set the "primary" property on the LPC bus of chip 0 from the machine
>  - used the pnv_chip_lpc_offset() routine to scan the default LPC bus
>  - removed the initializer of io_base
> 
> Changes since v1:
> 
>  - moved the IRQ handler in pnv_lpc.c and introduced pnv_lpc_isa_irq_create()
>  - only add the "primary" property on the LPC bus of chip 0
>  - reworked the assignement of the ISA IO base in the 'reg' array
>    property
>  - changed the type of the 'bmc' attribute of the machine
> 
> Benjamin Herrenschmidt (1):
>   ppc/pnv: Add support for POWER8+ LPC Controller
> 
> Cédric Le Goater (7):
>   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
> 
>  hw/ppc/Makefile.objs     |   2 +-
>  hw/ppc/pnv.c             | 228 ++++++++++++++++++++++++++++++++++++++---------
>  hw/ppc/pnv_bmc.c         | 122 +++++++++++++++++++++++++
>  hw/ppc/pnv_lpc.c         | 106 +++++++++++++++++++---
>  include/hw/ppc/pnv.h     |  11 +++
>  include/hw/ppc/pnv_lpc.h |   8 ++
>  6 files changed, 425 insertions(+), 52 deletions(-)
>  create mode 100644 hw/ppc/pnv_bmc.c
> 

-- 
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