From: Gerd Hoffmann <kraxel@redhat.com>
To: "Kevin O'Connor" <kevin@koconnor.net>
Cc: Gleb Natapov <gleb@redhat.com>,
qemu-devel@nongnu.org, kvm@vger.kernel.org, seabios@seabios.org
Subject: Re: [PATCHv6 00/16] boot order specification
Date: Mon, 29 Nov 2010 11:50:45 +0100 [thread overview]
Message-ID: <4CF38585.7030502@redhat.com> (raw)
In-Reply-To: <20101128171543.GA21987@morn.localdomain>
Hi,
>> If scsi card has optionrom with only one bcv then Seabios can determine
>> its boot order from device path, so why not provide user with this
>> option today?
>
> It's unclear to me how SeaBIOS is supposed to do that.
Try to keep track of which bcv/bev belongs to which pci device? It
should surely work for devices supported by seabios natively. SeaBIOS
should also know which device's rom registered which entry. It might
become tricky though in case there are multiple identical devices are
present, say two e1000 cards, where the first rom could register entries
for both cards ...
> Maybe we can compromise here - if the user selects booting from a
> device, and qemu sees there is a rom for that device, then qemu can
> specify two boot options:
>
> /pci@i0cf8/ethernet@4/ethernet-phy@0
> /pci@i0cf8/rom@4
>
> SeaBIOS will ignore the first entry, and act on the second entry.
SeaBIOS should be able to operate just fine with the first entry.
"ethernet@4" means "the nic at bus address 4". As this is a PCI bus "4"
is the pci address. So SeaBIOS would just look what entries it has for
"00:04.0", run the rom, and ignore the "/ethernet-phy@0" part as it
can't handle it.
In case of scsi seabios can look at the next path element to figure the
scsi id. With native support it should be able to boot the correct disk
directly. When booting via rom it can either just pick the first entry
unconditionally (probably good enougth in 99% of the cases) or do some
guesswork based on the order the entries are registered.
> BTW, how are PCI locations specified in these paths? They should have
> a (bus, dev, fn) - your examples only seem to show dev. How are the
> other parts specified?
fn is optional for fn=0, IIRC the syntax is "$class@$dev,$fn".
Bus is specified via location in the tree, i.e. you'll see the bridge
for the secondary pci bus in the path, like this:
/pci@i0cf8/bridge@7/ethernet@3/...
(not sure it is actually named 'bridge' in the openfirmware specs though).
cheers,
Gerd
next prev parent reply other threads:[~2010-11-29 10:51 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-17 16:43 [PATCHv6 00/16] boot order specification Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 01/16] Introduce fw_name field to DeviceInfo structure 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 ` [PATCHv6 03/16] Keep track of ISA ports ISA device is using in qdev 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 ` [PATCHv6 05/16] Store IDE bus id in IDEBus structure for easy access 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 ` [PATCHv6 07/16] Add get_dev_path callback for system bus 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 ` [PATCHv6 09/16] Record which USBDevice USBPort belongs too 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 ` [PATCHv6 11/16] Add get_dev_path callback to scsi bus Gleb Natapov
2010-11-17 16:43 ` [PATCHv6 12/16] Add bootindex parameter to net/block/fd device 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 ` [PATCHv6 14/16] Add bootindex for option roms 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 ` [PATCHv6 16/16] Pass boot device list to firmware Gleb Natapov
2010-11-23 15:31 ` [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
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
2010-11-28 19:11 ` [SeaBIOS] " Peter Stuge
2010-11-28 19:52 ` Gleb Natapov
2010-11-30 1:34 ` Kevin O'Connor
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 ` [SeaBIOS] " Peter Stuge
2010-12-02 17:13 ` Gleb Natapov
2010-12-02 21:22 ` Sebastian Herbszt
2010-12-03 2:01 ` Kevin O'Connor
2010-12-03 5:55 ` Gleb Natapov
2010-11-29 10:50 ` Gerd Hoffmann [this message]
2010-11-30 1:55 ` Kevin O'Connor
2010-11-30 14:59 ` Gleb Natapov
2010-11-28 19:00 ` [SeaBIOS] " Peter Stuge
2010-11-28 19:16 ` Gleb Natapov
2010-11-29 10:19 ` 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=4CF38585.7030502@redhat.com \
--to=kraxel@redhat.com \
--cc=gleb@redhat.com \
--cc=kevin@koconnor.net \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=seabios@seabios.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