public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Gordon Messmer <yinyang@eburg.com>
To: kvm@vger.kernel.org
Subject: Re: Bad ROM contents on pass-through card
Date: Sun, 07 Oct 2012 10:25:54 -0700	[thread overview]
Message-ID: <5071BB22.8030806@eburg.com> (raw)
In-Reply-To: <1349617417.2112.39.camel@bling.home>

On 10/07/2012 06:43 AM, Alex Williamson wrote:
> On Sat, 2012-10-06 at 18:23 -0700, Gordon Messmer wrote:
>>
>> If I don't pass an emulated VGA device (and modify seabios to not run
>> the VGA ROM), the guess won't read anything from the rom at all.
>>
>> Can anyone point me at which parts of the code I might review to see
>> where things are getting mapped and what's going wrong?
>
> The comments in linux:/drivers/pci/rom.c:pci_map_rom are probably
> relevant.  Linux decides based on the VGA enable bit whether to return
> the PCI option ROM or legacy VGA ROM.  In your case, it's giving you the
> legacy ROM from the cirrus device.

Interesting.  There are two things that seem odd about that.  First, the 
Linux guest doesn't seem to read the correct ROM either.  During boot, 
dmesg prints:
[    1.047559] [drm] radeon defaulting to kernel modesetting.
[    1.047561] [drm] radeon kernel modesetting enabled.
[    1.047595] checking generic (f0000000 160000) vs hw (e0000000 10000000)
[    1.047832] ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
[    1.048270] [drm] initializing kernel modesetting (RV620 
0x1002:0x95C0 0x1028:0x3243).
[    1.048288] [drm] register mmio base: 0xF2030000
[    1.048289] [drm] register mmio size: 65536
[    1.048395] radeon 0000:00:05.0: Expecting atombios for R600 GPU
[    1.048924] radeon 0000:00:05.0: Fatal error during GPU init
[    1.048925] [drm] radeon: finishing device.
[    1.048927] [TTM] Memory type 2 has not been initialized

Second, if I don't provide a -vga argument, the guest will hang during 
boot.  If I modify seabios not to run the VGA ROM, the guest boots but 
the radeon driver output is the same and I can't read any ROM at all 
from /sys

> The next step is probably looking at
> generating a PCI topology in the guest similar to a physical system when
> multiple VGA devices are present.  That means bridges and/or root ports
> with VGA routing control.

Can you point me toward the documentation?  I don't see anything that 
looks relevant in the man page.

> What's the size of Radeon3470-5.rom?  When using romfile the size of the
> option ROM BAR is made to be big enough to contain the ROM.  Without
> that, we match the physical device and expose the BAR as potentially
> being bigger than the ROM it contains.  Thanks,

It's 64512 bytes.

Thanks, Alex.  I really appreciate your time.



      reply	other threads:[~2012-10-07 17:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-07  1:23 Bad ROM contents on pass-through card Gordon Messmer
2012-10-07 13:43 ` Alex Williamson
2012-10-07 17:25   ` Gordon Messmer [this message]

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=5071BB22.8030806@eburg.com \
    --to=yinyang@eburg.com \
    --cc=kvm@vger.kernel.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