qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/2] ppc/pnv: Add model for Power8 PHB3 PCIe Host bridge
@ 2018-06-28  8:36 Cédric Le Goater
  2018-06-28  8:36 ` [Qemu-devel] [PATCH v2 1/2] " Cédric Le Goater
                   ` (2 more replies)
  0 siblings, 3 replies; 29+ messages in thread
From: Cédric Le Goater @ 2018-06-28  8:36 UTC (permalink / raw)
  To: David Gibson
  Cc: qemu-ppc, qemu-devel, Benjamin Herrenschmidt, Marcel Apfelbaum,
	Andrea Bolognani, Michael S. Tsirkin, Cédric Le Goater

This is a model of the PCIe Host Bridge (PHB3) controller found on a
Power8 processor. The Power8 processor comes in different flavors:
Venice, Murano, Naple, each having a different number of PHBs. Multi
chip is supported, each chip adding its set of PHB3 controllers and
PCI busses.

There is no default device layout and PCI devices should be added to
the machine using command line options such as :

  -device e1000,netdev=net0,mac=C0:FF:EE:00:00:02,bus=pci.0,addr=0x2
  -netdev bridge,id=net0,helper=/usr/libexec/qemu-bridge-helper,br=virbr0,id=hostnet0

  -device megasas,id=scsi0,bus=pci.0,addr=0x1
  -drive file=$disk,if=none,id=drive-scsi0-0-0-0,format=qcow2,cache=none
  -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2

The last patch explores the possibility of user creatable PHB3
devices. Nothing complex but the QEMU powernv machine models a
baremetal system on which it does not make sense to plug such
controllers. I don't think we should allow it.

Git tree available here for testing, based on David's branch:

	https://github.com/legoater/qemu/tree/phb3-3.0

Thanks,

C.


Changes sinces v1 :

 - removed duplication of macros for the register definitions
 - fixed multi chip support
 - introduced a chip class attribute to create all possible PHB3
   devices
 - introduced property handlers to check the validity of the phb index
   and the chip id
 - explored user creatable PHB3 devices

Benjamin Herrenschmidt (1):
  ppc/pnv: Add model for Power8 PHB3 PCIe Host bridge

Cédric Le Goater (1):
  ppc/pnv: make the PHB3 devices user creatable

 default-configs/ppc64-softmmu.mak   |    1 +
 include/hw/pci-host/pnv_phb3.h      |  163 +++++
 include/hw/pci-host/pnv_phb3_regs.h |  467 +++++++++++++
 include/hw/ppc/pnv.h                |   22 +
 include/hw/ppc/pnv_xscom.h          |    9 +
 include/hw/ppc/xics.h               |    1 +
 hw/intc/xics.c                      |    2 +-
 hw/pci-host/pnv_phb3.c              | 1242 +++++++++++++++++++++++++++++++++++
 hw/pci-host/pnv_phb3_msi.c          |  316 +++++++++
 hw/pci-host/pnv_phb3_pbcq.c         |  358 ++++++++++
 hw/ppc/pnv.c                        |   64 +-
 hw/ppc/pnv_xscom.c                  |    6 +-
 hw/pci-host/Makefile.objs           |    1 +
 13 files changed, 2647 insertions(+), 5 deletions(-)
 create mode 100644 include/hw/pci-host/pnv_phb3.h
 create mode 100644 include/hw/pci-host/pnv_phb3_regs.h
 create mode 100644 hw/pci-host/pnv_phb3.c
 create mode 100644 hw/pci-host/pnv_phb3_msi.c
 create mode 100644 hw/pci-host/pnv_phb3_pbcq.c

-- 
2.13.6

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2018-07-30  8:56 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-28  8:36 [Qemu-devel] [PATCH v2 0/2] ppc/pnv: Add model for Power8 PHB3 PCIe Host bridge Cédric Le Goater
2018-06-28  8:36 ` [Qemu-devel] [PATCH v2 1/2] " Cédric Le Goater
2018-07-09  7:22   ` Cédric Le Goater
2018-07-18  6:13     ` David Gibson
2018-07-18  6:12   ` David Gibson
2018-07-18  8:03     ` Benjamin Herrenschmidt
2018-07-23  4:16       ` David Gibson
2018-07-23 23:55         ` Benjamin Herrenschmidt
2018-07-24  2:14           ` David Gibson
2018-07-24  3:49             ` Benjamin Herrenschmidt
2018-07-24  4:10               ` David Gibson
2018-07-23 21:35     ` Cédric Le Goater
2018-07-23 21:37     ` Cédric Le Goater
2018-07-24  1:29       ` David Gibson
2018-07-23 21:38     ` Cédric Le Goater
2018-07-24 12:18     ` Cédric Le Goater
2018-07-27  5:32       ` David Gibson
2018-07-27  7:33         ` Cédric Le Goater
2018-07-27  8:08         ` Benjamin Herrenschmidt
2018-07-27  8:25           ` Cédric Le Goater
2018-07-27  8:43             ` Benjamin Herrenschmidt
2018-07-27  9:19               ` Cédric Le Goater
2018-07-30  8:56                 ` Cédric Le Goater
2018-07-26  9:03   ` Cédric Le Goater
2018-07-26 22:36     ` Benjamin Herrenschmidt
2018-07-27  7:16       ` Cédric Le Goater
2018-07-27  8:18         ` Benjamin Herrenschmidt
2018-06-28  8:36 ` [Qemu-devel] [PATCH v2 2/2] ppc/pnv: make the PHB3 devices user creatable Cédric Le Goater
2018-07-01 18:33 ` [Qemu-devel] [PATCH v2 0/2] ppc/pnv: Add model for Power8 PHB3 PCIe Host bridge no-reply

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).