From: Gleb Natapov <gleb@redhat.com>
To: Kevin O'Connor <kevin@koconnor.net>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
kvm@vger.kernel.org, mst@redhat.com, qemu-devel@nongnu.org,
armbru@redhat.com, blauwirbel@gmail.com,
alex.williamson@redhat.com
Subject: [Qemu-devel] Re: [PATCHv6 00/16] boot order specification
Date: Wed, 24 Nov 2010 12:03:11 +0200 [thread overview]
Message-ID: <20101124100311.GB15111@redhat.com> (raw)
In-Reply-To: <20101124011907.GA23305@morn.localdomain>
On Tue, Nov 23, 2010 at 08:19:07PM -0500, Kevin O'Connor wrote:
> Hi Gleb,
>
> On Tue, Nov 23, 2010 at 05:31:41PM +0200, Gleb Natapov wrote:
> > Anthony, Blue
> >
> > No comments on this patch series for almost a week. Can it be applied?
>
> My apologies - I haven't had time to review.
>
> > 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/usb@1,2/hub@1/network@0/ethernet@0
> > > /rom@genroms/linuxboot.bin
>
> What's the plan for handling optionroms (ie, BCVs and BEVs)? This is
> an area which is a bit tricky - mainly due to legacy BIOS crud.
>
> An option rom can register either a BEV (eg, gpxe on a network card),
> or it can register one or more BCVs (eg, a scsi card registering two
> drives). How do we say boot from the optionrom on the second nic
> card? If you have a scsi card, how do we communicate that its second
> drive should be the c: drive?
>
BEV should be easy. When you register BEV found on pci card you search
for device path to that pci card to determine BEV's boot order. BCV
should be the same, but since one PCI card may register several
BCVs the problem is more complex. Device path has not only path to
SCSI PCI card but to specific target,lun too. For instance this path
/pci@i0cf8/scsi@3,2/disk@0,0 points to SCSI card in pci slot 3 function 2
target 1 lun 1. The question is if BCV provides us with enough information
to know what target/lun it is going to boot. Another problem is with
device passthroug where if we pass entire SCSI PCI card to a guest we
cannot specify particular target to boot from. This can be solved by
allowing adding boot device paths from command line.
For SCSI the optimal solution would be to have SCSI support for device
QEMU emulates built in in Seabios itself. It is just that current device
QEMU emulates is so old and so buggy that it is not worth to support it.
> The ugly thing about BCVs is that they are not necessarily registered
> in the rom for the device that controls it. So, if you have two of
> the same type of scsi card, each with two drives, it's possible for
> the optionrom to put all four drives in the rom of the first scsi
> card.
>
That just broken optionrom. I can't see how we can solve this without
communicating with such optionrom and letting it know what device we
want to boot from. There can be also legacy optionrom that just hooks
into int19 during init and hijack booting process entirely. I think
those problems exist on real HW too.
--
Gleb.
next prev parent reply other threads:[~2010-11-24 10:21 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-17 16:43 [Qemu-devel] [PATCHv6 00/16] boot order specification Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] [PATCHv6 01/16] Introduce fw_name field to DeviceInfo structure Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] [PATCHv6 02/16] Introduce new BusInfo callback get_fw_dev_path Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] [PATCHv6 03/16] Keep track of ISA ports ISA device is using in qdev Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] [PATCHv6 04/16] Add get_fw_dev_path callback to ISA bus " Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] [PATCHv6 05/16] Store IDE bus id in IDEBus structure for easy access Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] [PATCHv6 06/16] Add get_fw_dev_path callback to IDE bus Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] [PATCHv6 07/16] Add get_dev_path callback for system bus Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] [PATCHv6 08/16] Add get_fw_dev_path callback for pci bus Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] [PATCHv6 09/16] Record which USBDevice USBPort belongs too Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] [PATCHv6 10/16] Add get_dev_path callback for usb bus Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] [PATCHv6 11/16] Add get_dev_path callback to scsi bus Gleb Natapov
2010-11-17 16:43 ` [Qemu-devel] [PATCHv6 12/16] Add bootindex parameter to net/block/fd device Gleb Natapov
2010-11-17 16:44 ` [Qemu-devel] [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] [PATCHv6 14/16] Add bootindex for option roms Gleb Natapov
2010-11-17 16:44 ` [Qemu-devel] [PATCHv6 15/16] Add notifier that will be called when machine is fully created Gleb Natapov
2010-11-17 16:44 ` [Qemu-devel] [PATCHv6 16/16] Pass boot device list to firmware Gleb Natapov
2010-11-23 15:31 ` [Qemu-devel] Re: [PATCHv6 00/16] boot order specification Gleb Natapov
2010-11-23 16:12 ` Anthony Liguori
2010-11-23 19:30 ` Blue Swirl
2010-11-27 20:56 ` Avi Kivity
2010-11-28 7:54 ` Gleb Natapov
2010-11-28 9:38 ` Avi Kivity
2010-11-28 9:47 ` Gleb Natapov
2010-11-28 12:39 ` Blue Swirl
2010-11-28 13:03 ` Gleb Natapov
2010-11-28 13:13 ` Michael S. Tsirkin
2010-11-28 13:19 ` Gleb Natapov
2010-11-28 13:22 ` Blue Swirl
2010-11-28 17:02 ` Michael S. Tsirkin
2010-11-28 17:23 ` Michael S. Tsirkin
2010-11-28 18:54 ` Gleb Natapov
2010-11-28 19:09 ` Michael S. Tsirkin
2010-11-28 19:20 ` Gleb Natapov
2010-11-28 13:25 ` Gleb Natapov
2010-11-24 1:19 ` Kevin O'Connor
2010-11-24 10:03 ` Gleb Natapov [this message]
2010-11-27 15:41 ` Kevin O'Connor
2010-11-27 16:22 ` Gleb Natapov
2010-11-27 16:49 ` Kevin O'Connor
2010-11-27 17:06 ` Gleb Natapov
2010-11-27 17:47 ` Kevin O'Connor
2010-11-27 18:15 ` Gleb Natapov
2010-11-27 18:40 ` Kevin O'Connor
2010-11-27 19:04 ` Gleb Natapov
2010-11-27 21:07 ` Kevin O'Connor
2010-11-28 7:45 ` Gleb Natapov
2010-11-28 17:15 ` Kevin O'Connor
2010-11-28 18:47 ` Gleb Natapov
[not found] ` <20101130013402.GB3488@morn.localdomain>
2010-11-30 14:01 ` Gleb Natapov
2010-12-01 2:53 ` Kevin O'Connor
2010-12-01 12:27 ` Gleb Natapov
2010-12-02 2:25 ` Kevin O'Connor
2010-12-02 12:30 ` Gleb Natapov
2010-12-02 15:07 ` [Qemu-devel] Re: [SeaBIOS] " Peter Stuge
2010-12-02 17:13 ` Gleb Natapov
2010-12-02 21:22 ` Sebastian Herbszt
2010-12-03 2:01 ` [Qemu-devel] " Kevin O'Connor
2010-12-03 5:55 ` Gleb Natapov
2010-11-29 10:50 ` Gerd Hoffmann
[not found] ` <20101130015509.GC3488@morn.localdomain>
2010-11-30 14:59 ` Gleb Natapov
2010-11-28 19:00 ` [Qemu-devel] Re: [SeaBIOS] " Peter Stuge
2010-11-28 19:11 ` Peter Stuge
2010-11-28 19:52 ` Gleb Natapov
2010-11-28 19:16 ` Gleb Natapov
2010-11-29 10:19 ` [Qemu-devel] " Gerd Hoffmann
2010-11-29 12:07 ` Gleb Natapov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101124100311.GB15111@redhat.com \
--to=gleb@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=armbru@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=kevin@koconnor.net \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).