[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 15/17] spapr_pci: Advertise access to PCIe extend
From: |
Andrea Bolognani |
Subject: |
Re: [Qemu-devel] [PULL 15/17] spapr_pci: Advertise access to PCIe extended config space |
Date: |
Fri, 10 Mar 2017 16:25:21 +0100 |
On Fri, 2017-03-03 at 14:25 +1100, David Gibson wrote:
> The (paravirtual) PCI host bridge on the 'pseries' machine in most
> regards acts like a regular PCI bus, rather than a PCIe bus. Despite
> this, though, it does allow access to the PCIe extended config space.
>
> We already implemented the RTAS methods to allow this access.. but
> forgot to put the markers into the device tree so that guest's know it
> is there. This adds them in.
>
> With this, a pseries guest is able to view extended config space on
> (for example an e1000e device. This should be enough to allow guests
> to use at least some PCIe devices.
>
> Signed-off-by: David Gibson <address@hidden>
> ---
> hw/ppc/spapr_pci.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c
> index 2a3499e..919d3c2 100644
> --- a/hw/ppc/spapr_pci.c
> +++ b/hw/ppc/spapr_pci.c
> @@ -1321,6 +1321,10 @@ static int spapr_populate_pci_child_dt(PCIDevice *dev,
> void *fdt, int offset,
> _FDT(fdt_setprop(fdt, offset, "assigned-addresses",
> (uint8_t *)rp.assigned, rp.assigned_len));
>
> + if (pci_is_express(dev)) {
> + _FDT(fdt_setprop_cell(fdt, offset, "ibm,pci-config-space-type",
> 0x1));
> + }
> +
> return 0;
> }
I've just realized that this is not tied to the pseries-2.9
machine type, which means existing guests will suddenly get
access to the Extended Config Space after upgrading QEMU.
I'm not sure this will cause any issue in practice, but it
seems like it would be safer to enable the Extended Config
Space only for pseries-2.9 and newer machine types.
--
Andrea Bolognani / Red Hat / Virtualization
- [Qemu-devel] [PULL 10/17] hw/ppc/spapr: Add POWER9 to pseries cpu models, (continued)
- [Qemu-devel] [PULL 10/17] hw/ppc/spapr: Add POWER9 to pseries cpu models, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 11/17] target/ppc: Add Instruction Authority Mask Register Check, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 03/17] powernv: Don't test POWER9 CPU yet, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 08/17] target/ppc/POWER9: Add POWER9 pa-features definition, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 09/17] target/ppc/POWER9: Add cpu_has_work function for POWER9, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 14/17] target/ppc: Rework hash mmu page fault code and add defines for clarity, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 02/17] exec, kvm, target-ppc: Move getrampagesize() to common code, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 04/17] target/ppc/POWER9: Add POWERPC_MMU_V3 bit, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 07/17] target/ppc/POWER9: Add POWER9 mmu fault handler, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 15/17] spapr_pci: Advertise access to PCIe extended config space, David Gibson, 2017/03/02
- Re: [Qemu-devel] [PULL 15/17] spapr_pci: Advertise access to PCIe extended config space,
Andrea Bolognani <=
- [Qemu-devel] [PULL 06/17] target/ppc: Don't gen an SDR1 on POWER9 and rework register creation, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 05/17] target/ppc: Add patb_entry to sPAPRMachineState, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 13/17] target/ppc: Move no-execute and guarded page checking into new function, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 12/17] target/ppc: Add execute permission checking to access authority check, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 16/17] spapr: Small cleanup of PPC MMU enums, David Gibson, 2017/03/02
- [Qemu-devel] [PULL 17/17] target/ppc: rewrite f[n]m[add, sub] using float64_muladd, David Gibson, 2017/03/02
- Re: [Qemu-devel] [PULL 00/17] ppc-for-2.9 queue 20170303, no-reply, 2017/03/02
- Re: [Qemu-devel] [PULL 00/17] ppc-for-2.9 queue 20170303, Peter Maydell, 2017/03/03