qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Chris Wright <chrisw@redhat.com>,
	glommer@redhat.com, seabios@seabios.org, qemu-devel@nongnu.org,
	Alexander Graf <agraf@suse.de>,
	Kevin O'Connor <kevin@koconnor.net>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Sebastian Herbszt <herbszt@gmx.de>
Subject: Re: Proper support for PCI-based option rom loading (was Re: [Qemu-devel] Re: qdev property bug?)
Date: Tue, 15 Dec 2009 15:41:02 -0600	[thread overview]
Message-ID: <4B28026E.4060100@codemonkey.ws> (raw)
In-Reply-To: <20091215211715.GF26712@redhat.com>

Michael S. Tsirkin wrote:
> On Tue, Dec 15, 2009 at 01:35:52PM -0600, Anthony Liguori wrote:
>   
>> Gerd Hoffmann wrote:
>>     
>>> -kernel didn't work on a quick test.
>>>       
>> Thinking about how to fix this, we have two options.
>>     
>
> Hmm, can you pls explain why it stops working?
>   

Sure.  SeaBIOS loads roms in a few ways.

If CONFIG_OPTIONROMS_DEPLOYED, then SeaBIOS scans the 0xc0000..0xf0000 
region for anything that looks like a rom.  This is how Bochs did it and 
is what qemu supports.  This is not how modern systems work though.

Modern systems (SeaBIOS with !CONFIG_OPTIONROMS_DEPLOYED), walk the PCI 
bus and look for any device with a PCI_ROM_ADDRESS that maps a valid 
option rom.  It will map the rom in PCI memory and run it's init 
function.  The rom can use PMM to allocate temporary memory to 
reorganize itself.  During this time, the rom area is writable.  The rom 
will create a stub that's usually pretty small that gets loaded by the 
BIOS after init into the 0xc0000..0xf0000 region.

So when !CONFIG_OPTIONROMS_DEPLOYED, SeaBIOS does look in this region 
for roms because it maps them all from the actual PCI devices.

SeaBIOS can also load roms from up to two fixed physical addresses (when 
!CONFIG_OPTIONROMS_DEPLOYED) or from a CBFS payload. 

BTW, I'm pretty sure this style of option rom loading (from a PCI 
device) is going to be required for device passthrough if we want to 
support running those roms in the guests.  In fact, it should Just Work 
with my patches !CONFIG_OPTIONROMS_DEPLOYED in SeaBIOS.

>> Regards,
>>
>> Anthony Liguori
>>     
>>> cheers,
>>>   Gerd
>>>       
>
> Will be a problem for non-PCI systems?
>   

You mean, non-PCI x86 systems?  I think -m isapc is mainly used for dos 
guests.  I don't think it's really useful in combination with -kernel 
and certainly not for extboot.

Regards,

Anthony Liguori

  reply	other threads:[~2009-12-15 21:41 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20091213200259.GB25615@redhat.com>
     [not found] ` <4B260683.8000506@redhat.com>
     [not found]   ` <20091214093414.GA30459@redhat.com>
     [not found]     ` <4B26090B.8010707@redhat.com>
     [not found]       ` <20091214094406.GB32140@redhat.com>
     [not found]         ` <4B261082.4030806@redhat.com>
2009-12-14 10:59           ` [Qemu-devel] Re: qdev property bug? Michael S. Tsirkin
2009-12-14 11:55             ` Alexander Graf
2009-12-14 13:24               ` Michael S. Tsirkin
2009-12-14 13:35                 ` Alexander Graf
2009-12-14 14:01                   ` Michael S. Tsirkin
2009-12-14 17:00                     ` Glauber Costa
2009-12-14 14:11                   ` Anthony Liguori
2009-12-14 14:11                     ` Michael S. Tsirkin
2009-12-14 14:13                       ` Michael S. Tsirkin
2009-12-14 14:25                         ` Anthony Liguori
2009-12-14 16:20                           ` Michael S. Tsirkin
2009-12-14 19:12                           ` Sebastian Herbszt
2009-12-14 19:20                             ` Michael S. Tsirkin
2009-12-14 19:38                               ` Sebastian Herbszt
2009-12-14 19:33                             ` Anthony Liguori
2009-12-14 19:42                               ` Michael S. Tsirkin
2009-12-14 19:59                                 ` Anthony Liguori
2009-12-14 20:20                                   ` Michael S. Tsirkin
2009-12-14 20:32                                     ` Gerd Hoffmann
2009-12-14 20:34                                       ` Michael S. Tsirkin
2009-12-14 20:36                                         ` Michael S. Tsirkin
2009-12-14 20:44                                           ` Anthony Liguori
2009-12-14 20:51                                             ` Michael S. Tsirkin
2009-12-15  2:37                                               ` Proper support for PCI-based option rom loading (was Re: [Qemu-devel] Re: qdev property bug?) Anthony Liguori
2009-12-15  3:55                                                 ` Kevin O'Connor
2009-12-15  4:34                                                 ` Kevin O'Connor
2009-12-15 13:15                                                   ` Anthony Liguori
2009-12-15 14:20                                                     ` Anthony Liguori
2009-12-15 14:33                                                       ` [SeaBIOS] " Avi Kivity
2009-12-15 17:35                                                         ` Anthony Liguori
2009-12-15 23:54                                                           ` Kevin OConnor
2009-12-16  0:41                                                             ` Anthony Liguori
2009-12-16  4:20                                                               ` Kevin O'Connor
2009-12-15  9:17                                                 ` Gerd Hoffmann
2009-12-15 10:14                                                   ` Gerd Hoffmann
2009-12-15 19:10                                                     ` Anthony Liguori
2009-12-16 12:03                                                       ` Gerd Hoffmann
2009-12-16 12:39                                                         ` Michael S. Tsirkin
2009-12-16 13:42                                                           ` Gerd Hoffmann
2009-12-16 13:52                                                             ` Michael S. Tsirkin
2009-12-16 14:12                                                               ` Kevin O'Connor
2009-12-16 14:14                                                                 ` Michael S. Tsirkin
2009-12-16 14:17                                                                 ` Gleb Natapov
2009-12-16 14:15                                                                   ` Michael S. Tsirkin
2009-12-16 14:18                                                                     ` Gleb Natapov
2009-12-16 14:24                                                                       ` Michael S. Tsirkin
2009-12-16 14:28                                                                         ` Gleb Natapov
2009-12-16 14:28                                                                           ` Michael S. Tsirkin
2009-12-15 19:35                                                     ` Anthony Liguori
2009-12-15 21:17                                                       ` Michael S. Tsirkin
2009-12-15 21:41                                                         ` Anthony Liguori [this message]
2009-12-16  0:33                                                           ` Chris Wright
2009-12-16  1:32                                                             ` Anthony Liguori
2009-12-16  4:57                                                           ` Kevin O'Connor
2009-12-16 12:31                                                             ` Gerd Hoffmann
2009-12-16 16:22                                                             ` Gerd Hoffmann
2009-12-17  1:24                                                               ` Kevin O'Connor
2009-12-17  9:45                                                                 ` Gerd Hoffmann
2009-12-17  9:50                                                                   ` Michael S. Tsirkin
2009-12-17 10:40                                                                     ` Gerd Hoffmann
2009-12-16 14:41                                                           ` Gerd Hoffmann
2009-12-16 14:41                                                             ` Michael S. Tsirkin
2009-12-16 14:50                                                               ` [SeaBIOS] " Gleb Natapov
2009-12-15 13:16                                                   ` Anthony Liguori
2009-12-15 21:24                                                     ` Sebastian Herbszt
2009-12-15 21:31                                                       ` Anthony Liguori
2009-12-15 21:38                                                         ` Sebastian Herbszt
2009-12-15 22:00                                                           ` Anthony Liguori
2009-12-17 21:14                                                             ` Sebastian Herbszt
2009-12-16  4:29                                                       ` Kevin O'Connor
2009-12-16 12:01                                                         ` Gerd Hoffmann
2009-12-15 19:21                                                   ` Anthony Liguori
2009-12-15 21:19                                                     ` Michael S. Tsirkin
2009-12-15 21:45                                                       ` Anthony Liguori
2009-12-15 21:52                                                         ` Michael S. Tsirkin
2009-12-15 21:57                                                           ` Anthony Liguori
2009-12-15 21:59                                                             ` Michael S. Tsirkin
2009-12-15 22:26                                                               ` Anthony Liguori
2009-12-15 22:51                                                                 ` Sebastian Herbszt
2009-12-16 14:49                                                                   ` Gerd Hoffmann
2009-12-17 20:33                                                                     ` Sebastian Herbszt
2009-12-15 10:51                                                 ` Michael S. Tsirkin
2009-12-15 19:05                                                   ` Anthony Liguori
2009-12-15 19:06                                                     ` Anthony Liguori
2009-12-14 20:43                                         ` [Qemu-devel] Re: qdev property bug? Anthony Liguori
2009-12-14 20:50                                           ` Michael S. Tsirkin
2009-12-14 21:05                                             ` Anthony Liguori
2009-12-14 21:36                                               ` Sebastian Herbszt
2009-12-14 21:52                                                 ` Anthony Liguori
2009-12-14 22:14                                                   ` Sebastian Herbszt
2009-12-15  4:23                                               ` Kevin O'Connor
2009-12-14 20:47                                         ` Sebastian Herbszt
2009-12-14 20:56                                           ` Anthony Liguori
2009-12-14 20:38                                       ` Sebastian Herbszt
2009-12-14 19:51                               ` Sebastian Herbszt
2009-12-14 14:22                       ` Anthony Liguori
2009-12-14 17:03                         ` Glauber Costa
2009-12-14 17:01                       ` Glauber Costa
2009-12-14 14:10               ` Anthony Liguori
2009-12-14 14:52                 ` Gerd Hoffmann
2009-12-14 14:54                   ` Anthony Liguori

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=4B28026E.4060100@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=agraf@suse.de \
    --cc=chrisw@redhat.com \
    --cc=glommer@redhat.com \
    --cc=herbszt@gmx.de \
    --cc=kevin@koconnor.net \
    --cc=kraxel@redhat.com \
    --cc=mst@redhat.com \
    --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;
as well as URLs for NNTP newsgroup(s).