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