[vfio-users] VFIO-PCI with AARCH64 QEMU
Laszlo Ersek
lersek at redhat.com
Tue Oct 25 17:12:00 UTC 2016
On 10/25/16 18:31, Alex Williamson wrote:
> On Tue, 25 Oct 2016 11:35:13 +0200
> Laszlo Ersek <lersek at redhat.com> wrote:
>
>> (3) You didn't say where you got your firmware binary. Recent builds of
>> the upstream ArmVirtQemu platform of edk2 utilize the 64-bit MMIO
>> aperture of the "virt" machine, for PCI BAR allocation
>> <https://bugzilla.tianocore.org/show_bug.cgi?id=65>.
>>
>> The location of that aperture comes from QEMU, "hw/arm/virt.c":
>>
>> /* Second PCIe window, 512GB wide at the 512GB boundary */
>> [VIRT_PCIE_MMIO_HIGH] = { 0x8000000000ULL, 0x8000000000ULL },
>
> Note that the BARs for the device in question are 32-bit,
> non-prefetchable. 512MB is a rather large BAR to force into a 32-bit
> address space, but clearly and x86 guest can handle it, perhaps only
> one thought.
>
> Beyond that, I have no idea how aarch64 reserves MMIO space and
> communicates that to the guest. I'd expect the standard would be
> ACPI with a _CRS method, but then ARM always seems to throw a curve
> ball with device tree.
Good point; booting the aarch64 guest kernel with "acpi=force" might be
worthwhile. (Alternatively, the ArmVirtQemu firmware can be built with
-D PURE_ACPI_BOOT_ENABLE.)
Thanks
Laszlo
More information about the vfio-users
mailing list