From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36413) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a9UA7-0001Z5-Sc for qemu-devel@nongnu.org; Thu, 17 Dec 2015 03:43:48 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a9U9z-0003fv-SD for qemu-devel@nongnu.org; Thu, 17 Dec 2015 03:43:47 -0500 Received: from e06smtp14.uk.ibm.com ([195.75.94.110]:55795) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a9U9z-0003ee-Jd for qemu-devel@nongnu.org; Thu, 17 Dec 2015 03:43:39 -0500 Received: from localhost by e06smtp14.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 17 Dec 2015 08:43:37 -0000 Date: Thu, 17 Dec 2015 09:43:29 +0100 From: Greg Kurz Message-ID: <20151217094329.112a3bc9@bahia.local> In-Reply-To: <20151203155317.46a4f446@bahia.local> References: <20151130104331.11064.57278.stgit@bahia.huguette.org> <565E15B6.60501@redhat.com> <20151203155317.46a4f446@bahia.local> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH] spapr/pci: populate PCI DT in reverse order List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson , "Michael S. Tsirkin" Cc: Thomas Huth , qemu-ppc@nongnu.org, qemu-devel@nongnu.org On Thu, 3 Dec 2015 15:53:17 +0100 Greg Kurz wrote: > On Tue, 1 Dec 2015 22:48:38 +0100 > Thomas Huth wrote: > > > On 30/11/15 11:45, Greg Kurz wrote: > > > Since commit 1d2d974244c6 "spapr_pci: enumerate and add PCI device tree", QEMU > > > populates the PCI device tree in the opposite order compared to SLOF. > > > > > > Before 1d2d974244c6: > > > > > > Populating /pci@800000020000000 > > > 00 0000 (D) : 1af4 1000 virtio [ net ] > > > 00 0800 (D) : 1af4 1001 virtio [ block ] > > > 00 1000 (D) : 1af4 1009 virtio [ network ] > > > Populating /pci@800000020000000/unknown-legacy-device@2 > > > > > > > > > 7e5294b8 : /pci@800000020000000 > > > 7e52b998 : |-- ethernet@0 > > > 7e52c0c8 : |-- scsi@1 > > > 7e52c7e8 : +-- unknown-legacy-device@2 ok > > > > > > Since 1d2d974244c6: > > > > > > Populating /pci@800000020000000 > > > 00 1000 (D) : 1af4 1009 virtio [ network ] > > > Populating /pci@800000020000000/unknown-legacy-device@2 > > > 00 0800 (D) : 1af4 1001 virtio [ block ] > > > 00 0000 (D) : 1af4 1000 virtio [ net ] > > > > > > > > > 7e5e8118 : /pci@800000020000000 > > > 7e5ea6a0 : |-- unknown-legacy-device@2 > > > 7e5eadb8 : |-- scsi@1 > > > 7e5eb4d8 : +-- ethernet@0 ok > > > > > > This behaviour change is not actually a bug since no assumptions should be > > > made on DT ordering. But it has no real justification either, other than > > > being the consequence of the way fdt_add_subnode() inserts new elements > > > to the front of the FDT rather than adding them to the tail. > > > > > > This patch reverts to the historical SLOF ordering by walking PCI devices in > > > reverse order. > > > > I've applied your patch here locally, and indeed, the device tree looks > > nicer to me, too, when the nodes are listed in ascending order. > > > > Tested-by: Thomas Huth > > > > > Ping ? > Thanks for testing ! > > Cheers. > > -- > Greg > >