qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: kvm@vger.kernel.org, "Richard W.M. Jones" <rjones@redhat.com>,
	Gleb Natapov <gleb@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35?
Date: Wed, 04 Aug 2010 08:47:53 +0300	[thread overview]
Message-ID: <4C58FF09.7020801@redhat.com> (raw)
In-Reply-To: <4C58725E.6060706@codemonkey.ws>

  On 08/03/2010 10:47 PM, Anthony Liguori wrote:
> On 08/03/2010 02:41 PM, Avi Kivity wrote:
>>  On 08/03/2010 10:38 PM, Anthony Liguori wrote:
>>>> Why do we need to transfer roms?  These are devices on the memory 
>>>> bus or pci bus, it just needs to be there at the right address.
>>>
>>>
>>> Not quite.  The BIOS owns the option ROM space.  The way it works on 
>>> bare metal is that the PCI ROM BAR gets mapped to some location in 
>>> physical memory by the BIOS, the BIOS executes the initialization 
>>> vector, and after initialization, the ROM will reorganize itself 
>>> into something smaller.  It's nice and clean.
>>>
>>> But ISA is not nearly as clean. 
>>
>> So far so good.
>>
>>> Ultimately, to make this mix work in a reasonable way, we have to 
>>> provide a side channel interface to SeaBIOS such that we can deliver 
>>> ROMs outside of PCI and still let SeaBIOS decide how ROMs get 
>>> organized.
>>
>> I don't follow.  Why do we need this side channel?  What would a real 
>> ISA machine do?
>
> It depends on the ISA machine.  In the worst case, there's a DIP 
> switch on the card and if you've got a conflict between two cards, you 
> start flipping DIP switches.  It's pure awesomeness.  No, I don't want 
> to emulate DIP switches :-)

How else do you set the IRQ line and I/O port base address?

  static ISADeviceInfo ne2000_isa_info = {
      .qdev.name  = "ne2k_isa",
      .qdev.size  = sizeof(ISANE2000State),
      .init       = isa_ne2000_initfn,
      .qdev.props = (Property[]) {
          DEFINE_PROP_HEX32("iobase", ISANE2000State, iobase, 0x300),
          DEFINE_PROP_UINT32("irq",   ISANE2000State, isairq, 9),
+      DEFINE_PROP_HEX32("rombase", ISANE2000State, isarombase, 0xe8000),
          DEFINE_NIC_PROPERTIES(ISANE2000State, ne2000.c),
          DEFINE_PROP_END_OF_LIST(),
      },
  };


we already are emulating DIP switches...

>
>>   Are there actually enough ISA devices for there to be a problem?
>
> No, but -M older has the same problem.

So we do the same solution we did in older.  We didn't have fwcfg dma 
back then.

>
>>>
>>> It's additionally complicated by the fact that we didn't support PCI 
>>> ROM BAR until recently so to maintain compatibility with -M older, 
>>> we have to use a side channel to lay out option roms.
>>
>> Again I don't follow.  We can just lay out the ROMs in memory like we 
>> did in the past?
>
> Because only one component can own the option ROM space.  Either 
> that's SeaBIOS and we need a side channel or it's QEMU and we can't 
> use PMM.
>
> I guess that's the real issue here.  Previously we used etherboot 
> which was well under 32k.  We only loaded roms we needed.  Now we use 
> gPXE which is much bigger and if you don't use PMM, then you run out 
> of option rom space very quickly.

A true -M older would use the older ROMs for full compatibility.

>
> Previously, we loaded option ROMs on demand when a user used -boot n 
> but that was a giant hack and wasn't like bare metal at all.  It 
> involved x86-isms in vl.c.  Now we always load ROMs so PMM is very 
> important.

Though it's a hack, we can load ROMs via the existing fwcfg interface; 
no need for an extension.  Richard is seeing problems loading 100MB 
initrds, not 64KB ROMs.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

  reply	other threads:[~2010-08-04  5:48 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-03 11:13 [Qemu-devel] Anyone seeing huge slowdown launching qemu with Linux 2.6.35? Richard W.M. Jones
2010-08-03 11:33 ` Gleb Natapov
2010-08-03 12:10   ` Richard W.M. Jones
2010-08-03 12:37     ` Gleb Natapov
2010-08-03 12:48       ` Richard W.M. Jones
2010-08-03 13:19         ` Avi Kivity
2010-08-03 14:05           ` Richard W.M. Jones
2010-08-03 14:38             ` Avi Kivity
2010-08-03 14:53               ` Richard W.M. Jones
2010-08-03 16:10                 ` Avi Kivity
2010-08-03 16:28                   ` Richard W.M. Jones
2010-08-03 16:44                     ` Avi Kivity
2010-08-03 16:46                       ` Anthony Liguori
2010-08-03 16:50                         ` Avi Kivity
2010-08-03 16:53                           ` Anthony Liguori
2010-08-03 17:01                             ` Avi Kivity
2010-08-03 17:42                               ` Anthony Liguori
2010-08-03 17:58                                 ` Avi Kivity
2010-08-03 18:11                                   ` Richard W.M. Jones
2010-08-03 18:26                                   ` Anthony Liguori
2010-08-03 18:43                                     ` Avi Kivity
2010-08-03 18:47                                       ` Avi Kivity
2010-08-03 18:55                                       ` Anthony Liguori
2010-08-03 19:00                                         ` Avi Kivity
2010-08-03 19:05                                       ` Gleb Natapov
2010-08-03 19:09                                         ` Avi Kivity
2010-08-03 19:15                                         ` Anthony Liguori
2010-08-03 19:24                                           ` Avi Kivity
2010-08-03 19:38                                             ` Anthony Liguori
2010-08-03 19:41                                               ` Avi Kivity
2010-08-03 19:47                                                 ` Anthony Liguori
2010-08-04  5:47                                                   ` Avi Kivity [this message]
2010-08-03 21:24                                                 ` Gerd Hoffmann
2010-08-03 21:20                                             ` Gerd Hoffmann
2010-08-04  5:53                                               ` Avi Kivity
2010-08-04  7:56                                                 ` Gerd Hoffmann
2010-08-04  8:17                                                   ` Avi Kivity
2010-08-04  8:43                                                     ` Gleb Natapov
2010-08-04  9:22                                                     ` Gerd Hoffmann
2010-08-04 13:04                                                     ` Anthony Liguori
2010-08-04 13:07                                                       ` Gleb Natapov
2010-08-04 13:15                                                         ` Anthony Liguori
2010-08-04 13:24                                                           ` Richard W.M. Jones
2010-08-04 13:26                                                             ` Gleb Natapov
2010-08-04 14:22                                                               ` Anthony Liguori
2010-08-04 14:38                                                                 ` Gleb Natapov
2010-08-04 14:50                                                                   ` Anthony Liguori
2010-08-04 15:01                                                                     ` Gleb Natapov
2010-08-04 15:07                                                                       ` Anthony Liguori
2010-08-04 15:15                                                                         ` Gleb Natapov
2010-08-04 22:41                                                                       ` Kevin O'Connor
2010-08-04 16:26                                                             ` Avi Kivity
2010-08-04 13:34                                                           ` Gleb Natapov
2010-08-04 13:52                                                             ` Anthony Liguori
2010-08-04 14:00                                                               ` Gleb Natapov
2010-08-04 14:14                                                                 ` Anthony Liguori
2010-08-04 14:36                                                                   ` Gleb Natapov
2010-08-04 14:22                                                                 ` Paolo Bonzini
2010-08-04 14:39                                                                   ` Anthony Liguori
2010-08-04 16:33                                                                     ` Avi Kivity
2010-08-04 16:30                                                               ` Avi Kivity
2010-08-04 16:36                                                                 ` Avi Kivity
2010-08-04 16:44                                                                   ` Anthony Liguori
2010-08-04 16:52                                                                     ` Avi Kivity
2010-08-04 17:37                                                                     ` Gleb Natapov
2010-08-05  7:28                                                                     ` Gerd Hoffmann
2010-08-05  7:34                                                                       ` Gleb Natapov
2010-08-05  7:56                                                                         ` Avi Kivity
2010-08-05  7:59                                                                           ` Gleb Natapov
2010-08-05  8:45                                                                             ` Avi Kivity
2010-08-05  8:48                                                                               ` Gleb Natapov
2010-08-05 13:43                                                                       ` Anthony Liguori
2010-08-04 16:45                                                                   ` Alexander Graf
2010-08-04 16:54                                                                     ` Avi Kivity
2010-08-04 17:01                                                                       ` Alexander Graf
2010-08-04 17:14                                                                         ` Avi Kivity
2010-08-04 17:27                                                                           ` Alexander Graf
2010-08-04 17:34                                                                             ` Avi Kivity
2010-08-04 20:06                                                                               ` David S. Ahern
2010-08-04 20:16                                                                                 ` Richard W.M. Jones
2010-08-05  2:38                                                                                 ` Avi Kivity
2010-08-04 17:26                                                                     ` Anthony Liguori
2010-08-04 17:31                                                                       ` Alexander Graf
2010-08-04 17:35                                                                         ` Avi Kivity
2010-08-04 17:36                                                                         ` Anthony Liguori
2010-08-04 17:36                                                                           ` Alexander Graf
2010-08-04 17:46                                                                   ` Richard W.M. Jones
2010-08-04 17:50                                                                     ` Avi Kivity
2010-08-04 18:13                                                                     ` Alexander Graf
2010-08-04 18:16                                                                       ` Anthony Liguori
2010-08-04 18:18                                                                         ` Alexander Graf
2010-08-04 18:19                                                                         ` Avi Kivity
2010-08-04 18:18                                                                       ` Avi Kivity
2010-08-04 16:42                                                                 ` Anthony Liguori
2010-08-04 13:22                                                         ` Richard W.M. Jones
2010-08-04 13:29                                                           ` Gleb Natapov
2010-08-04 16:25                                                       ` Avi Kivity
2010-08-03 22:06                                             ` Richard W.M. Jones
2010-08-04  5:54                                               ` Avi Kivity
2010-08-04  9:24                                                 ` Richard W.M. Jones
2010-08-04  9:27                                                   ` Gleb Natapov
2010-08-04  9:52                                                   ` Avi Kivity
2010-08-04 11:33                                                     ` Richard W.M. Jones
2010-08-04 11:36                                                       ` Avi Kivity
2010-08-04 12:07                                                       ` Gleb Natapov
2010-08-04 12:59                                                   ` Anthony Liguori
2010-08-03 19:26                                           ` Gleb Natapov
2010-08-03 19:13                                       ` Richard W.M. Jones
2010-08-03 19:17                                         ` Gleb Natapov
2010-08-03 19:19                                         ` Anthony Liguori
2010-08-03 19:22                                         ` Avi Kivity
2010-08-03 20:00                                           ` Richard W.M. Jones
2010-08-03 20:49                                             ` Anthony Liguori
2010-08-03 21:13                                               ` Paolo Bonzini
2010-08-03 21:34                                                 ` Anthony Liguori
2010-08-04  7:57                                                   ` Paolo Bonzini
2010-08-04  8:19                                                     ` Avi Kivity
2010-08-04 12:53                                                     ` Anthony Liguori
2010-08-04 16:44                                                       ` Avi Kivity
2010-08-04 16:46                                                         ` Anthony Liguori
2010-08-04 16:48                                                           ` Alexander Graf
2010-08-04 16:49                                                             ` Anthony Liguori
2010-08-04 16:51                                                               ` Alexander Graf
2010-08-04 17:01                                                               ` Paolo Bonzini
2010-08-04 17:19                                                                 ` Avi Kivity
2010-08-04 17:25                                                                   ` Alexander Graf
2010-08-04 17:27                                                                   ` Anthony Liguori
2010-08-04 17:37                                                                     ` Avi Kivity
2010-08-04 17:53                                                                       ` Anthony Liguori
2010-08-04 18:05                                                                         ` Alexander Graf
2010-08-04  5:56                                               ` Avi Kivity
2010-08-04  1:17                                             ` Jamie Lokier
2010-08-04  8:21                                         ` Avi Kivity
2010-08-04 14:51                                       ` David S. Ahern
2010-08-04 14:57                                         ` Anthony Liguori
2010-08-04 15:25                                           ` Gleb Natapov
2010-08-04 15:31                                             ` Alexander Graf
2010-08-04 15:48                                               ` Gleb Natapov
2010-08-04 15:59                                                 ` Alexander Graf
2010-08-04 16:08                                                   ` Gleb Natapov
2010-08-04 16:48                                                     ` Avi Kivity
2010-08-04 23:17                                             ` Kevin O'Connor
2010-08-05  5:26                                               ` Gleb Natapov
2010-08-03 16:56                           ` Anthony Liguori
2010-08-03 16:48                       ` Avi Kivity
2010-08-03 17:00                         ` Richard W.M. Jones
2010-08-03 17:05                           ` Avi Kivity
2010-08-03 16:56                       ` Richard W.M. Jones
2010-08-03 17:08                         ` Avi Kivity
2010-08-03 16:39                 ` Anthony Liguori
2010-08-03 16:43                   ` Richard W.M. Jones

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=4C58FF09.7020801@redhat.com \
    --to=avi@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=gleb@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rjones@redhat.com \
    /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).