From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCHv3 00/14] boot order specification Date: Wed, 10 Nov 2010 20:19:16 +0200 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-Transfer-Encoding: QUOTED-PRINTABLE Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, armbru@redhat.com, alex.williamson@redhat.com, mst@redhat.com To: Blue Swirl Return-path: Received: from mx1.redhat.com ([209.132.183.28]:19605 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751215Ab0KJSTZ convert rfc822-to-8bit (ORCPT ); Wed, 10 Nov 2010 13:19:25 -0500 Content-Disposition: inline In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: 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= =2E > > > > 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 u= sed > > in migration code makes it hard to reuse it for other purposes. Fir= st > > 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. O= n > > 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 wil= l 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.