From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=37074 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PCpDO-0005e4-2U for qemu-devel@nongnu.org; Mon, 01 Nov 2010 03:54:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PCpDI-0003s7-Vr for qemu-devel@nongnu.org; Mon, 01 Nov 2010 03:54:01 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56647) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PCpDI-0003s3-Mp for qemu-devel@nongnu.org; Mon, 01 Nov 2010 03:53:56 -0400 Date: Mon, 1 Nov 2010 09:53:51 +0200 From: Gleb Natapov Message-ID: <20101101075351.GX26191@redhat.com> References: <1288525209-3303-1-git-send-email-gleb@redhat.com> <20101031222553.GA16443@morn.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20101031222553.GA16443@morn.localdomain> Subject: [Qemu-devel] Re: [PATCHv2 0/8 RFC] boot order specification List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin O'Connor Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org On Sun, Oct 31, 2010 at 06:25:53PM -0400, Kevin O'Connor wrote: > On Sun, Oct 31, 2010 at 01:40:01PM +0200, Gleb Natapov wrote: > > This is current sate of the patch series for people to comment on. > > I tried to use open firmware naming scheme to specify device path names. > > > > The patch series produce names like these: > > for pci machine: > > /pci@i0cf8/pci-isa-bridge@1/fdc@03f1/floppy@0 > > /pci@i0cf8/pci-isa-bridge@1/fdc@03f1/floppy@1 > > /pci@i0cf8/ata@1,1/ata-disk@1:0 > > /pci@i0cf8/ata@1,1/ata-disk@1:1 > > /pci@i0cf8/virtio-blk@3/virtio-disk@0 > > /pci@i0cf8/ethernet@4/ethernet-phy@0 > > /pci@i0cf8/ethernet@5/ethernet-phy@0 > > > > for isa machine: > > adding '/isa/fdc@03f1/floppy@0' at index 2 > > adding '/isa/fdc@03f1/floppy@1' at index 1 > > adding '/isa/ata@0170/ata-disk@0:0' at index 0 > > adding '/isa/ata@0170/ata-disk@0:1' at index 3 > > Hi Gleb, > > How will USB drives be identified? > USB bus has Open Firmware binding. I haven't look at the spec yet, but it should be easy. > I'm not sure how SeaBIOS will be able to line up something like > "/pci@i0cf8/ethernet@4/ethernet-phy@0" to an optionrom BEV. Also, if > there is an optionrom with BCVs (eg, a scsi card), I'm not sure how > that would that would be identified. The way to parse "/pci@i0cf8/ethernet@4/ethernet-phy@0" is this: each element (between /.../) consist of node-name@unit-address. node-name describes device/bus. unit-address is a device address on preceding node. So pci@i0cf8 tells us that this is pci bus accessible through io register 0x0cf8, ethernet@4 tells us that this is ethernet device in pci slot 4 function 0, (ata@1,1 means ata device in slot 1 function 1). ethernet-phy@0 means first phy on this ethernet device (usually there is only one anyway). So if the pci card in slot 4 device 0 has optionrom with BCV Seabios can associate bootindex with it easily given the device path above. -- Gleb.