From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=52034 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PGFGZ-00053d-Fe for qemu-devel@nongnu.org; Wed, 10 Nov 2010 13:19:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PGFGX-0002lG-PW for qemu-devel@nongnu.org; Wed, 10 Nov 2010 13:19:27 -0500 Received: from mx1.redhat.com ([209.132.183.28]:18831) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PGFGX-0002l4-Ij for qemu-devel@nongnu.org; Wed, 10 Nov 2010 13:19:25 -0500 Date: Wed, 10 Nov 2010 20:19:16 +0200 From: Gleb Natapov Message-ID: <20101110181916.GB6798@redhat.com> References: <1289409261-5418-1-git-send-email-gleb@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: Subject: [Qemu-devel] Re: [PATCHv3 00/14] boot order specification List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: alex.williamson@redhat.com, mst@redhat.com, qemu-devel@nongnu.org, kvm@vger.kernel.org, armbru@redhat.com On Wed, Nov 10, 2010 at 06:08:56PM +0000, Blue Swirl wrote: > On Wed, Nov 10, 2010 at 5:14 PM, Gleb Natapov wrote: > > This is current sate of the patch series for people to comment on. > > I am using open firmware naming scheme to specify device path names. > > > > Names look like this on pci machine: > > /pci@i0cf8/ide@1,1/drive@1/disk@0 > > /pci@i0cf8/isa@1/fdc@03f1/floppy@1 > > /pci@i0cf8/isa@1/fdc@03f1/floppy@0 > > /pci@i0cf8/ide@1,1/drive@1/disk@1 > > /pci@i0cf8/ide@1,1/drive@0/disk@0 > > /pci@i0cf8/scsi@3/disk@0 > > /pci@i0cf8/ethernet@4/ethernet-phy@0 > > /pci@i0cf8/ethernet@5/ethernet-phy@0 > > /pci@i0cf8/ide@1,1/drive@0/disk@1 > > /pci@i0cf8/isa@1/ide@01e8/drive@0/disk@0 > > /pci@i0cf8/usb@1,2/network@0/ethernet@0 > > /pci@i0cf8/usb@1,2/hub@1/network@0/ethernet@0 > > > > and on isa machine: > > /isa/ide@0170/drive@0/disk@0 > > /isa/fdc@03f1/floppy@1 > > /isa/fdc@03f1/floppy@0 > > /isa/ide@0170/drive@0/disk@1 > > > > > > Instead of using get_dev_path() callback I introduces another one > > get_fw_dev_path. Unfortunately the way get_dev_path() callback is used > > in migration code makes it hard to reuse it for other purposes. First > > of all it is not called recursively so caller expects it to provide > > unique name by itself. Device path though is inherently recursive. Each > > individual element may not be unique, but the whole path will be. On > > the other hand to call get_dev_path() recursively in migration code we > > should implement it for all possible buses first. Other problem is > > compatibility. If we change get_dev_path() output format now we will not > > be able to migrate from old qemu to new one without some additional > > compatibility layer. > > > > Gleb Natapov (14): > > =9AIntroduce fw_name field to DeviceInfo structure. > > =9AIntroduce new BusInfo callback get_fw_dev_path. > > =9AKeep track of ISA ports ISA device is using in qdev. > > =9AAdd get_fw_dev_path callback to ISA bus in qdev. > > =9AStore IDE bus id in IDEBus structure for easy access. > > =9AAdd get_fw_dev_path callback to IDE bus. > > =9AAdd get_dev_path callback for system bus. > > =9AAdd get_fw_dev_path callback for pci bus. > > =9ARecord which USBDevice USBPort belongs too. > > =9AAdd get_dev_path callback for usb bus. > > =9AAdd bootindex parameter to net/block/fd device > > =9AAdd bootindex parameter to pci assigned device. > > =9AAdd notifier that will be called when machine is fully created. > > =9APass boot device list to firmware. >=20 > Nice, but the patches don't apply, for example > hw/device-assingment.[ch] do not exist. Device assignment one is for qemu-kvm. That is why I made it separate and didn't fold into patch 11. Just drop it. -- Gleb.