All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv6 00/16] boot order specification
@ 2010-11-17 16:43 ` Gleb Natapov
  0 siblings, 0 replies; 136+ messages in thread
From: Gleb Natapov @ 2010-11-17 16:43 UTC (permalink / raw)
  To: qemu-devel; +Cc: kvm, blauwirbel, armbru, alex.williamson, mst, kevin

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


^ permalink raw reply	[flat|nested] 136+ messages in thread

end of thread, other threads:[~2010-12-03  5:55 UTC | newest]

Thread overview: 136+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-17 16:43 [PATCHv6 00/16] boot order specification Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 01/16] Introduce fw_name field to DeviceInfo structure Gleb Natapov
2010-11-17 16:43   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 02/16] Introduce new BusInfo callback get_fw_dev_path Gleb Natapov
2010-11-17 16:43   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 03/16] Keep track of ISA ports ISA device is using in qdev Gleb Natapov
2010-11-17 16:43   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 04/16] Add get_fw_dev_path callback to ISA bus " Gleb Natapov
2010-11-17 16:43   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 05/16] Store IDE bus id in IDEBus structure for easy access Gleb Natapov
2010-11-17 16:43   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 06/16] Add get_fw_dev_path callback to IDE bus Gleb Natapov
2010-11-17 16:43   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 07/16] Add get_dev_path callback for system bus Gleb Natapov
2010-11-17 16:43   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 08/16] Add get_fw_dev_path callback for pci bus Gleb Natapov
2010-11-17 16:43   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 09/16] Record which USBDevice USBPort belongs too Gleb Natapov
2010-11-17 16:43   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 10/16] Add get_dev_path callback for usb bus Gleb Natapov
2010-11-17 16:43   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 11/16] Add get_dev_path callback to scsi bus Gleb Natapov
2010-11-17 16:43   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 12/16] Add bootindex parameter to net/block/fd device Gleb Natapov
2010-11-17 16:43   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:44 ` [PATCHv6 13/16] Change fw_cfg_add_file() to get full file path as a parameter Gleb Natapov
2010-11-17 16:44   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:44 ` [PATCHv6 14/16] Add bootindex for option roms Gleb Natapov
2010-11-17 16:44   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:44 ` [PATCHv6 15/16] Add notifier that will be called when machine is fully created Gleb Natapov
2010-11-17 16:44   ` [Qemu-devel] " Gleb Natapov
2010-11-17 16:44 ` [PATCHv6 16/16] Pass boot device list to firmware Gleb Natapov
2010-11-17 16:44   ` [Qemu-devel] " Gleb Natapov
2010-11-23 15:31 ` [PATCHv6 00/16] boot order specification Gleb Natapov
2010-11-23 15:31   ` [Qemu-devel] " Gleb Natapov
2010-11-23 16:12   ` Anthony Liguori
2010-11-23 16:12     ` [Qemu-devel] " Anthony Liguori
2010-11-23 19:30     ` Blue Swirl
2010-11-23 19:30       ` [Qemu-devel] " Blue Swirl
2010-11-27 20:56     ` Avi Kivity
2010-11-27 20:56       ` [Qemu-devel] " Avi Kivity
2010-11-28  7:54       ` Gleb Natapov
2010-11-28  7:54         ` [Qemu-devel] " Gleb Natapov
2010-11-28  9:38         ` Avi Kivity
2010-11-28  9:38           ` [Qemu-devel] " Avi Kivity
2010-11-28  9:47           ` Gleb Natapov
2010-11-28  9:47             ` [Qemu-devel] " Gleb Natapov
2010-11-28 12:39         ` Blue Swirl
2010-11-28 12:39           ` [Qemu-devel] " Blue Swirl
2010-11-28 13:03           ` Gleb Natapov
2010-11-28 13:03             ` [Qemu-devel] " Gleb Natapov
2010-11-28 13:13         ` Michael S. Tsirkin
2010-11-28 13:13           ` [Qemu-devel] " Michael S. Tsirkin
2010-11-28 13:19           ` Gleb Natapov
2010-11-28 13:19             ` [Qemu-devel] " Gleb Natapov
2010-11-28 13:22             ` Blue Swirl
2010-11-28 13:22               ` [Qemu-devel] " Blue Swirl
2010-11-28 17:02               ` Michael S. Tsirkin
2010-11-28 17:02                 ` [Qemu-devel] " Michael S. Tsirkin
2010-11-28 17:23             ` Michael S. Tsirkin
2010-11-28 17:23               ` [Qemu-devel] " Michael S. Tsirkin
2010-11-28 18:54               ` Gleb Natapov
2010-11-28 18:54                 ` [Qemu-devel] " Gleb Natapov
2010-11-28 19:09                 ` Michael S. Tsirkin
2010-11-28 19:09                   ` [Qemu-devel] " Michael S. Tsirkin
2010-11-28 19:20                   ` Gleb Natapov
2010-11-28 19:20                     ` [Qemu-devel] " Gleb Natapov
2010-11-28 13:25           ` Gleb Natapov
2010-11-28 13:25             ` [Qemu-devel] " Gleb Natapov
2010-11-24  1:19   ` Kevin O'Connor
2010-11-24  1:19     ` [Qemu-devel] " Kevin O'Connor
2010-11-24 10:03     ` Gleb Natapov
2010-11-24 10:03       ` [Qemu-devel] " Gleb Natapov
2010-11-27 15:41       ` Kevin O'Connor
2010-11-27 15:41         ` [Qemu-devel] " Kevin O'Connor
2010-11-27 16:22         ` Gleb Natapov
2010-11-27 16:22           ` [Qemu-devel] " Gleb Natapov
2010-11-27 16:49           ` Kevin O'Connor
2010-11-27 16:49             ` [Qemu-devel] " Kevin O'Connor
2010-11-27 17:06             ` Gleb Natapov
2010-11-27 17:06               ` [Qemu-devel] " Gleb Natapov
2010-11-27 17:47               ` Kevin O'Connor
2010-11-27 17:47                 ` [Qemu-devel] " Kevin O'Connor
2010-11-27 18:15                 ` Gleb Natapov
2010-11-27 18:15                   ` [Qemu-devel] " Gleb Natapov
2010-11-27 18:40                   ` Kevin O'Connor
2010-11-27 18:40                     ` [Qemu-devel] " Kevin O'Connor
2010-11-27 19:04                     ` Gleb Natapov
2010-11-27 19:04                       ` [Qemu-devel] " Gleb Natapov
2010-11-27 21:07                       ` Kevin O'Connor
2010-11-27 21:07                         ` [Qemu-devel] " Kevin O'Connor
2010-11-28  7:45                         ` Gleb Natapov
2010-11-28  7:45                           ` [Qemu-devel] " Gleb Natapov
2010-11-28 17:15                           ` Kevin O'Connor
2010-11-28 17:15                             ` [Qemu-devel] " Kevin O'Connor
2010-11-28 18:47                             ` Gleb Natapov
2010-11-28 18:47                               ` [Qemu-devel] " Gleb Natapov
2010-11-30  1:34                               ` Kevin O'Connor
2010-11-30 14:01                                 ` Gleb Natapov
2010-11-30 14:01                                   ` [Qemu-devel] " Gleb Natapov
2010-12-01  2:53                                   ` Kevin O'Connor
2010-12-01  2:53                                     ` [Qemu-devel] " Kevin O'Connor
2010-12-01 12:27                                     ` Gleb Natapov
2010-12-01 12:27                                       ` [Qemu-devel] " Gleb Natapov
2010-12-02  2:25                                       ` Kevin O'Connor
2010-12-02  2:25                                         ` [Qemu-devel] " Kevin O'Connor
2010-12-02 12:30                                         ` Gleb Natapov
2010-12-02 12:30                                           ` [Qemu-devel] " Gleb Natapov
2010-12-02 15:07                                           ` [SeaBIOS] " Peter Stuge
2010-12-02 15:07                                             ` [Qemu-devel] " Peter Stuge
2010-12-02 17:13                                             ` Gleb Natapov
2010-12-02 17:13                                               ` [Qemu-devel] " Gleb Natapov
2010-12-02 21:22                                           ` Sebastian Herbszt
2010-12-02 21:22                                             ` [Qemu-devel] " Sebastian Herbszt
2010-12-03  2:01                                           ` Kevin O'Connor
2010-12-03  2:01                                             ` [Qemu-devel] " Kevin O'Connor
2010-12-03  5:55                                             ` Gleb Natapov
2010-12-03  5:55                                               ` [Qemu-devel] " Gleb Natapov
2010-11-29 10:50                             ` Gerd Hoffmann
2010-11-29 10:50                               ` [Qemu-devel] " Gerd Hoffmann
2010-11-30  1:55                               ` Kevin O'Connor
2010-11-30 14:59                                 ` Gleb Natapov
2010-11-30 14:59                                   ` [Qemu-devel] " Gleb Natapov
2010-11-28 19:00                           ` [SeaBIOS] " Peter Stuge
2010-11-28 19:00                             ` [Qemu-devel] " Peter Stuge
2010-11-28 19:11                             ` Peter Stuge
2010-11-28 19:11                               ` [Qemu-devel] " Peter Stuge
2010-11-28 19:52                               ` Gleb Natapov
2010-11-28 19:52                                 ` [Qemu-devel] " Gleb Natapov
2010-11-28 19:16                             ` Gleb Natapov
2010-11-28 19:16                               ` [Qemu-devel] " Gleb Natapov
2010-11-29 10:19                     ` Gerd Hoffmann
2010-11-29 10:19                       ` [Qemu-devel] " Gerd Hoffmann
2010-11-29 12:07                       ` Gleb Natapov
2010-11-29 12:07                         ` [Qemu-devel] " Gleb Natapov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.