All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konstantin Khlebnikov <khlebnikov@parallels.com>
To: Prasad Joshi <prasadjoshi124@gmail.com>
Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: GPU Pass-through need help.
Date: Thu, 10 Feb 2011 09:45:57 +0300	[thread overview]
Message-ID: <4D5389A5.1040705@parallels.com> (raw)
In-Reply-To: <AANLkTi=yLoU=q9xUbxQYFkQ-iqYSqN1cP1EvQv-PiMb=@mail.gmail.com>

Prasad Joshi wrote:
> On Wed, Feb 9, 2011 at 4:33 PM, Konstantin Khlebnikov
> <khlebnikov@openvz.org <mailto:khlebnikov@openvz.org>> wrote:
>
>     Prasad Joshi wrote:
>
>         I was previously seeing a problem with the ROM BIOS, but I could
>         solve
>         it by passing a correct BIOS file in function assigned_initfn.
>         For now
>         I am using hardcoded file name in the code.
>
>
>     Did you recheck video bios inside guest? (for example in sysfs)
>
>
> For GPU cards on my machine, reading from the
> /sys/bus/pci/devices/<device>/rom always give error 'Invalid Argument'.

Yep, rom in sysfs must be enabled before via 'echo 1 > rom'
If rom was corrupted you will see warning in dmesg.

> I had to extract the BIOS using some utilities. The BIOS seems to be
> correct as I have been able to pass-through a old Nvidia (NVS 290) and
> old ATI (RV370 FireGL V3100) card to Ubuntu Guest OS.
>
>
>     If this is bootstrap vga, guest linux kernel will use bios copy
>     placed at 0xc0000.
>     But in my setup qemu can only pass first 32k of option-roms,
>     due to curruption at seabios shadow-copying stage.
>     (seems like because improper i440fx PAM registers emulation)
>
>
> I am not sure if it is related to the problem you are facing. The
> current SeaBIOS has very limited pci memory space from 0xf0000000  to
> 0xfec00000 (236MB). This includes everything, prefectable and
> non-prefecthable memory. The range is very small for VGA cards to work.
> I have modified the memory range on my machine for prefectable memory.

But if in your guest /sys/bus/pci/devices/<device>/boot_vga == 1
linux will use shadow copy from 0xc0000 instead of pci rom bar

>
> There is one bug in qemu-kvm code, which acidently detects the
> prefectable memory as non-prefectable. I had sent a patch to correct
> this behavior yesterday. Hope it gets accepted.

Yes, I saw him, IORESOURCE_PREFETCH was accidentally changed in linux kernel.
Maybe better to detect it via opening and mapping /resorce<id>_wc instad of /resource<id>,
it exist only for prefechable resources. Plus qemu will get write-combined mapping.

>
> Thanks and Regards,
> Prasad


      parent reply	other threads:[~2011-02-10  6:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-06 15:01 GPU Pass-through need help Prasad Joshi
2011-02-09 16:33 ` Konstantin Khlebnikov
2011-02-09 20:40   ` Prasad Joshi
     [not found]   ` <AANLkTi=yLoU=q9xUbxQYFkQ-iqYSqN1cP1EvQv-PiMb=@mail.gmail.com>
2011-02-10  6:45     ` Konstantin Khlebnikov [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=4D5389A5.1040705@parallels.com \
    --to=khlebnikov@parallels.com \
    --cc=kvm@vger.kernel.org \
    --cc=prasadjoshi124@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.