From mboxrd@z Thu Jan 1 00:00:00 1970
Received: from eggs.gnu.org ([2001:4830:134:3::10]:55258)
by lists.gnu.org with esmtp (Exim 4.71)
(envelope-from
) id 1ZMAoX-00029g-Fn
for qemu-devel@nongnu.org; Mon, 03 Aug 2015 04:09:42 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from ) id 1ZMAoT-0007Or-Bb
for qemu-devel@nongnu.org; Mon, 03 Aug 2015 04:09:41 -0400
Received: from mailout4.w1.samsung.com ([210.118.77.14]:59928)
by eggs.gnu.org with esmtp (Exim 4.71)
(envelope-from ) id 1ZMAoT-0007Og-6R
for qemu-devel@nongnu.org; Mon, 03 Aug 2015 04:09:37 -0400
Received: from eucpsbgm1.samsung.com (unknown [203.254.199.244])
by mailout4.w1.samsung.com
(Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5
2014)) with ESMTP id <0NSH00FO5YNX5P10@mailout4.w1.samsung.com> for
qemu-devel@nongnu.org; Mon, 03 Aug 2015 09:09:33 +0100 (BST)
From: Pavel Fedin
References: <015a01d0c85c$b52b61d0$1f822570$@samsung.com>
<20150727152658.3f3740f7@nial.brq.redhat.com>
<00da01d0c9dc$b39503e0$1abf0ba0$@samsung.com>
<00f401d0c9e3$517efba0$f47cf2e0$@samsung.com>
<015b01d0c9f0$0981cd20$1c856760$@samsung.com>
<00b601d0cdba$808e3980$81aaac80$@samsung.com>
In-reply-to:
Date: Mon, 03 Aug 2015 11:09:28 +0300
Message-id: <00be01d0cdc3$bb2e87d0$318b9770$@samsung.com>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: quoted-printable
Content-language: ru
Subject: Re: [Qemu-devel] [PATCH v3] hw/arm/virt: Add high MMIO PCI region
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
To: 'Peter Maydell'
Cc: 'QEMU Developers' , 'Igor Mammedov' , 'Paolo Bonzini' , 'Alexander Graf' , "'Michael S. Tsirkin'"
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.
>=20
> ...which is what you're saying here.
>=20
> 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