[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3] hw/arm/virt: Add high MMIO PCI region
From: |
Pavel Fedin |
Subject: |
Re: [Qemu-devel] [PATCH v3] hw/arm/virt: Add high MMIO PCI region |
Date: |
Mon, 03 Aug 2015 11:09:28 +0300 |
Hi!
> What I thought you meant was that a non-LPAE kernel didn't
> work at all if we told it about the high-MMIO window (which
> would mean we'd need to *not* put that in the dtb if we
> wanted to avoid breaking non-LPAE guests that didn't care
> about the other window.)
Current generic PCI driver is not so smart. It simply tries to map all
resources using devm_request_resource() in a loop. If a single call fails, the
driver thinks that it cannot work and fails. It does not try to ignore
inaccessible regions.
> > The behavior which i explained above causes boot problems if our
> > configuration assumes that we boot off emulated PCI device. Because
> > PCI controller becomes unusable.
>
> ...which is what you're saying here.
>
> Which is it?
I don't understand this last question...
Ok, from scratch: imagine that we already have a qemu installation running
non-LPAE 32-bit guest. This guest is configured to have PCI bus and SCSI drive
on this bus, and boots off it. Now, if we implement a high MMIO window in qemu,
which is unconditionally enabled, after qemu upgrade this guest will break,
because its pre-existing kernel cannot work around the inaccessible PCI region.
In order to keep this guest working, we need a possibility to disable the new
MMIO region in qemu. At least to omit it from the device tree.
Is this clear enough now ?
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia