From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=49663 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PKuqi-0004rA-Jo for qemu-devel@nongnu.org; Tue, 23 Nov 2010 10:32:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PKuqS-0003xw-J8 for qemu-devel@nongnu.org; Tue, 23 Nov 2010 10:32:04 -0500 Received: from mx1.redhat.com ([209.132.183.28]:28788) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PKuqS-0003xW-C6 for qemu-devel@nongnu.org; Tue, 23 Nov 2010 10:31:48 -0500 Date: Tue, 23 Nov 2010 17:31:41 +0200 From: Gleb Natapov Message-ID: <20101123153141.GD25606@redhat.com> References: <1290012243-6087-1-git-send-email-gleb@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1290012243-6087-1-git-send-email-gleb@redhat.com> Subject: [Qemu-devel] Re: [PATCHv6 00/16] boot order specification List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Anthony Liguori , kvm@vger.kernel.org, mst@redhat.com, armbru@redhat.com, blauwirbel@gmail.com, alex.williamson@redhat.com, kevin@koconnor.net Anthony, Blue No comments on this patch series for almost a week. Can it be applied? On Wed, Nov 17, 2010 at 06:43:47PM +0200, Gleb Natapov wrote: > I am using open firmware naming scheme to specify device path names. > In this version: added SCSI bus support. Pass boot order list as file > to firmware. > > 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,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 > /rom@genroms/linuxboot.bin > > 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 (16): > Introduce fw_name field to DeviceInfo structure. > Introduce new BusInfo callback get_fw_dev_path. > Keep track of ISA ports ISA device is using in qdev. > Add get_fw_dev_path callback to ISA bus in qdev. > Store IDE bus id in IDEBus structure for easy access. > Add get_fw_dev_path callback to IDE bus. > Add get_dev_path callback for system bus. > Add get_fw_dev_path callback for pci bus. > Record which USBDevice USBPort belongs too. > Add get_dev_path callback for usb bus. > Add get_dev_path callback to scsi bus. > Add bootindex parameter to net/block/fd device > Change fw_cfg_add_file() to get full file path as a parameter. > Add bootindex for option roms. > Add notifier that will be called when machine is fully created. > Pass boot device list to firmware. > > block_int.h | 4 +- > hw/cs4231a.c | 1 + > hw/e1000.c | 4 ++ > hw/eepro100.c | 3 + > hw/fdc.c | 12 ++++++ > hw/fw_cfg.c | 30 ++++++++------ > hw/fw_cfg.h | 4 +- > hw/gus.c | 4 ++ > hw/ide/cmd646.c | 4 +- > hw/ide/internal.h | 3 +- > hw/ide/isa.c | 5 ++- > hw/ide/piix.c | 4 +- > hw/ide/qdev.c | 22 ++++++++++- > hw/ide/via.c | 4 +- > hw/isa-bus.c | 42 +++++++++++++++++++ > hw/isa.h | 4 ++ > hw/lance.c | 1 + > hw/loader.c | 32 ++++++++++++--- > hw/loader.h | 8 ++-- > hw/m48t59.c | 1 + > hw/mc146818rtc.c | 1 + > hw/multiboot.c | 3 +- > hw/ne2000-isa.c | 3 + > hw/ne2000.c | 5 ++- > hw/nseries.c | 4 +- > hw/palm.c | 6 +- > hw/parallel.c | 5 ++ > hw/pc.c | 7 ++- > hw/pci.c | 110 ++++++++++++++++++++++++++++++++++++++++----------- > hw/pci_host.c | 2 + > hw/pckbd.c | 3 + > hw/pcnet.c | 6 ++- > hw/piix_pci.c | 1 + > hw/qdev.c | 32 +++++++++++++++ > hw/qdev.h | 9 ++++ > hw/rtl8139.c | 4 ++ > hw/sb16.c | 4 ++ > hw/scsi-bus.c | 23 +++++++++++ > hw/scsi-disk.c | 2 + > hw/serial.c | 1 + > hw/sysbus.c | 30 ++++++++++++++ > hw/sysbus.h | 4 ++ > hw/usb-bus.c | 45 ++++++++++++++++++++- > hw/usb-hub.c | 3 +- > hw/usb-musb.c | 2 +- > hw/usb-net.c | 3 + > hw/usb-ohci.c | 2 +- > hw/usb-uhci.c | 2 +- > hw/usb.h | 3 +- > hw/virtio-blk.c | 2 + > hw/virtio-net.c | 2 + > hw/virtio-pci.c | 1 + > net.h | 4 +- > qemu-config.c | 17 ++++++++ > sysemu.h | 11 +++++- > vl.c | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++- > 56 files changed, 588 insertions(+), 80 deletions(-) > > -- > 1.7.2.3 > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Gleb.