On Fri, 2018-07-27 at 15:32 +1000, David Gibson wrote: > > > > What is this pci bridge representing? I know PCI-e PHBs typically > > > have a pseudo P2P bridge right under them, but isn't that represnted > > > by the root complex above? > > > > This is the legacy pci bridge under the pcie bus. > > Ah, ok. Didn't realise there was a vanilla PCI bridge built in.
There isn't. That should probably be created by the machine. > > Here is is the qdev hierarchy : > > > > dev: pnv-phb3, id "" > > index = 0 (0x0) > > chip-id = 0 (0x0) > > bus: phb3-root-bus > > type pnv-phb3-root-bus > > dev: pnv-phb3-rc, id "" > > power_controller_present = true > > chassis = 0 (0x0) > > slot = 1 (0x1) > > port = 0 (0x0) > > aer_log_max = 8 (0x8) > > addr = 00.0 > > romfile = "" > > rombar = 1 (0x1) > > multifunction = false > > command_serr_enable = true > > x-pcie-lnksta-dllla = true > > x-pcie-extcap-init = true > > class PCI bridge, addr 00:00.0, pci id 1014:03dc (sub 0000:0000) > > bus: pcie.0 > > type PCIE > > dev: pci-bridge, id "" > > chassis_nr = 128 (0x80) > > msi = "off" > > shpc = false > > addr = 00.0 > > romfile = "" > > rombar = 1 (0x1) > > multifunction = false > > command_serr_enable = true > > x-pcie-lnksta-dllla = true > > x-pcie-extcap-init = true > > class PCI bridge, addr 00:00.0, pci id 1b36:0001 (sub 0000:0000) > > bus: pci.0 > > type PCI > > > > [ ... ] > > > > >> +static const PropertyInfo pnv_phb3_phb_id_propinfo = { > > >> + .name = "irq", > > >> + .get = pnv_phb3_get_phb_id, > > >> + .set = pnv_phb3_set_phb_id, > > >> +}; > > > > > > Can't you use a static DeviceProps style property for this, which is a > > > bit simpler? > > > > OK. We will address user creatable PHBs in some other way. Most > > certainly in the realize routine like you suggested. > > > > Thanks, > > > > C. > > >