[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 0/2] ARM virt: Support up to 256 PCIe buses
From: |
Eric Auger |
Subject: |
[Qemu-devel] [RFC 0/2] ARM virt: Support up to 256 PCIe buses |
Date: |
Wed, 23 May 2018 18:03:36 +0200 |
Current Machvirt PCI host controller's ECAM region is 16MB large.
This limits the number of PCIe buses to 16.
PC/Q35 machines have a 256MB region allowing up to 256 buses.
This series tries to bridge the gap.
It declares a new ECAM region located beyond 256GB, of size 256MB
(just after the hypothetical new GICv3 RDIST region). The new
ECAM region is used as soon as the highmem option is set (default)
and disabled for machines older than 3.0.
Best Regards
Eric
Git: complete series available at
https://github.com/eauger/qemu/tree/v2.12.0-256MB-ECAM-RFCv1
- Tested with guest running in aarch64 and aarch32 modes (aarch64=off)
- In aarch32 mode I encountered the issue the vmalloc region may be
reported too small for the needs (dmesg excerpt below). So I had to
extend the vmalloc size by passing the "vmalloc=512M" option to the
bootargs and this eventually booted fine.
[ 1.399581] pl061_gpio 9030000.pl061: PL061 GPIO chip @0x0000000009030000
registered
[ 1.402636] OF: PCI: host bridge /address@hidden ranges:
[ 1.404506] OF: PCI: IO 0x3eff0000..0x3effffff -> 0x00000000
[ 1.406606] OF: PCI: MEM 0x10000000..0x3efeffff -> 0x10000000
[ 1.408690] OF: PCI: MEM 0x8000000000..0xffffffffff -> 0x8000000000
[ 1.411992] vmap allocation for size 1052672 failed: use vmalloc=<size> to
increase size
[ 1.414895] pci-host-generic 4010000000.pcie: ECAM ioremap failed
[ 1.427472] pci-host-generic: probe of 4010000000.pcie failed with error -12
- Maybe this issue deserves introducing a new highmem_ecam option?
Eric Auger (2):
hw/arm/virt: Add a new 256MB ECAM region
hw/arm/virt: Add virt-3.0 machine type
hw/arm/virt-acpi-build.c | 22 ++++++++++++++--------
hw/arm/virt.c | 39 ++++++++++++++++++++++++++++++++-------
include/hw/arm/virt.h | 3 +++
3 files changed, 49 insertions(+), 15 deletions(-)
--
2.5.5
- [Qemu-devel] [RFC 0/2] ARM virt: Support up to 256 PCIe buses,
Eric Auger <=
- [Qemu-devel] [RFC 2/2] hw/arm/virt: Add virt-3.0 machine type, Eric Auger, 2018/05/23
- [Qemu-devel] [RFC 1/2] hw/arm/virt: Add a new 256MB ECAM region, Eric Auger, 2018/05/23
- Re: [Qemu-devel] [RFC 0/2] ARM virt: Support up to 256 PCIe buses, Laszlo Ersek, 2018/05/23
- Re: [Qemu-devel] [RFC 0/2] ARM virt: Support up to 256 PCIe buses, Auger Eric, 2018/05/23
- Re: [Qemu-devel] [RFC 0/2] ARM virt: Support up to 256 PCIe buses, Laszlo Ersek, 2018/05/23
- Re: [Qemu-devel] [RFC 0/2] ARM virt: Support up to 256 PCIe buses, Auger Eric, 2018/05/23
- Re: [Qemu-devel] [RFC 0/2] ARM virt: Support up to 256 PCIe buses, Peter Maydell, 2018/05/24
- Re: [Qemu-devel] [RFC 0/2] ARM virt: Support up to 256 PCIe buses, Laszlo Ersek, 2018/05/24
- Re: [Qemu-devel] [RFC 0/2] ARM virt: Support up to 256 PCIe buses, Peter Maydell, 2018/05/24
- Re: [Qemu-devel] [RFC 0/2] ARM virt: Support up to 256 PCIe buses, Auger Eric, 2018/05/24