Re: [PATCHv6 00/16] boot order specification

Anthony Liguori
2010-11-23T16:12:59Z

On 11/23/2010 09:31 AM, Gleb Natapov wrote:
> Anthony, Blue
>
> No comments on this patch series for almost a week. Can it be applied?
>

Does that mean everyone's happy or have folks not gotten around to
review it?

IOW, last call if you have objections :-)

Regards,

Anthony Liguori

> 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.
>