From: Eric Auger <eric.auger@redhat.com>
To: eric.auger.pro@gmail.com, eric.auger@redhat.com,
qemu-devel@nongnu.org, qemu-arm@nongnu.org,
peter.maydell@linaro.org
Cc: drjones@redhat.com, wei@redhat.com, zhaoshenglong@huawei.com,
lersek@redhat.com, ard.biesheuvel@linaro.org
Subject: [Qemu-devel] [PATCH 0/2] ARM virt: Support up to 256 PCIe buses
Date: Wed, 30 May 2018 16:26:18 +0200 [thread overview]
Message-ID: <1527690380-9782-1-git-send-email-eric.auger@redhat.com> (raw)
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
The new ECAM region is used if:
- highmem option is set (default) and,
- either FW is not loaded or we are run an aarch64 guest
- machine type >= 3.0.
aarch32 FW does not support this highmem ECAM region. For guests without
LPAE support the highmem option must be turned off.
Best Regards
Eric
Git: complete series available at
https://github.com/eauger/qemu/tree/v2.12.0-256MB-ECAM-PATCH-v1
Previous version:
https://github.com/eauger/qemu/tree/v2.12.0-256MB-ECAM-RFCv1
- Tested with guest running in aarch64 and aarch32 modes (aarch64=off)
- Tested with aarch32 FW
- 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 /pcie@10000000 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
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 | 21 +++++++++++++--------
hw/arm/virt.c | 43 ++++++++++++++++++++++++++++++++++++-------
include/hw/arm/virt.h | 3 +++
3 files changed, 52 insertions(+), 15 deletions(-)
--
2.5.5
next reply other threads:[~2018-05-30 14:26 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-30 14:26 Eric Auger [this message]
2018-05-30 14:26 ` [Qemu-devel] [PATCH 1/2] hw/arm/virt: Add a new 256MB ECAM region Eric Auger
2018-05-30 16:11 ` Laszlo Ersek
2018-05-31 6:55 ` Auger Eric
2018-05-31 8:41 ` Laszlo Ersek
2018-05-31 8:50 ` Auger Eric
2018-05-30 14:26 ` [Qemu-devel] [PATCH 2/2] hw/arm/virt: Add virt-3.0 machine type Eric Auger
2018-05-30 16:18 ` Laszlo Ersek
2018-05-31 1:42 ` Shannon Zhao
2018-05-31 6:23 ` Auger Eric
2018-05-31 6:52 ` Auger Eric
2018-06-15 12:37 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1527690380-9782-1-git-send-email-eric.auger@redhat.com \
--to=eric.auger@redhat.com \
--cc=ard.biesheuvel@linaro.org \
--cc=drjones@redhat.com \
--cc=eric.auger.pro@gmail.com \
--cc=lersek@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=wei@redhat.com \
--cc=zhaoshenglong@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).