From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:41788) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R4e6o-000499-Pw for qemu-devel@nongnu.org; Fri, 16 Sep 2011 15:30:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R4e6l-00034p-TE for qemu-devel@nongnu.org; Fri, 16 Sep 2011 15:29:58 -0400 Received: from mail-yw0-f45.google.com ([209.85.213.45]:46119) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R4e6l-00033h-Qf for qemu-devel@nongnu.org; Fri, 16 Sep 2011 15:29:55 -0400 Received: by ywm39 with SMTP id 39so3849180ywm.4 for ; Fri, 16 Sep 2011 12:29:55 -0700 (PDT) Message-ID: <4E73A3AF.3030507@codemonkey.ws> Date: Fri, 16 Sep 2011 14:29:51 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <4E7228BC.9030104@us.ibm.com> <20110915165921.GF11524@redhat.com> <4E723B1B.5070805@codemonkey.ws> <20110915202907.GG11524@redhat.com> <20110916163326.GA11160@redhat.com> <4E73909B.3050900@codemonkey.ws> <20110916182246.GD11160@redhat.com> <4E73987A.1090803@codemonkey.ws> <20110916191352.GE11160@redhat.com> In-Reply-To: <20110916191352.GE11160@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC] Plan for moving forward with QOM List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gleb Natapov Cc: Peter Maydell , Jan Kiszka , qemu-devel , Markus Armbruster , Gerd Hoffmann , "Edgar E. Iglesias" , Paolo Bonzini On 09/16/2011 02:13 PM, Gleb Natapov wrote: > On Fri, Sep 16, 2011 at 01:42:02PM -0500, Anthony Liguori wrote: >> On 09/16/2011 01:22 PM, Gleb Natapov wrote: >>> Then we are arguing about minor detail. But according to you this minor >>> detail will prevent us from walking device tree up to the root, so it is >>> not so minor for me. >> >> There is no root. It's not a tree. The composition tree (which > There is "virtual root". System bus in qdev speak. You can create one > explicitly like qdev did or you can say that if a device has no parent > it is on a system bus. Graphs don't have roots. >> we've been talking about using for canonical pathnames) has nothing >> to do with the buses. >> > > I do not care about canonical pathnames you are talking about too > much. The reason is that they are useless outside of QEMU. The problem > we need to solve is to name a device in such a way that it can be found > without knowing any QEMU implementation details. This is not for internal > QEMU use (for that you can use canonical pathnames you are talking about), > but for communicating device location outside of QEMU. Currently we pass > OF device paths to firmware and this is ABI QEMU expose to a guest, so > QOM needs to preserve it. What I asked is how it can be done with QOM and > you are saying that it can't be done and this is not a very good answer. No, it's very easy. Something just has to decide where to start the transversal, and then walk the graph starting at that node until they find the node. They need to map each node to whatever the OF representation is that makes sense. A tree is just a degenerate graph so going from QOM to OF is easy. It just requires looking at a subset. > ABI requires OF path to be built not for all QEMU devices, but only for > those that support bootindex property, so this may make our task more > simple, although I think the correct solution should be generic. To be fair, it's not an ABI that is supported. We only need to support a single BIOS version that we provide. But that's just splitting hairs. You can still generate these paths. Regards, Anthony Liguori