[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] RE: [RFC][QEMU] ATI graphics VBIOS passthru support



On Mon, Dec 13, 2010 at 02:33:02PM -0600, Huang2, Wei wrote:
> Hi Sander,
> 
> I answer your questions (including the one from last email) below:
> 
> 1. Your gfx is a bit old. Some of the tricks (such as MMINDEX values 0x4010) 
> aren't quite consistent across different generations of ATI gfx. I need to 
> look at the log myself. I will locate an HD3000 card to debug.
> 2. The goal of this patch is to passthru the primary gfx as THE ONLY GFX 
> inside guest VM (namely: my patch + set gfx_passthru=1 in guest config file). 
> Since you are passthru the on-board secondary gfx, I am not sure qemu-dm is 
> copying the correct VBIOS from address 0xc0000. One solution is to force 
> VBIOS been read from a file, which can be downloaded from 
> http://www.techpowerup.com/vgabios/.
>

Do you happen to have a patch that allows specifying the file to load the vga 
bios
from in the xen /etc/xen/<guest> cfgfile ?

That'd be helpful for the time being..

-- Pasi

> 3. Note that current Xen support passthru ATI gfx as a secondary gfx, even 
> without my patch. So if you don't care about primary/secondary, you probably 
> don't need this patch. Have you tried: existing Xen + passthru ATI without 
> gfx_passthru=1? As for as I have seen, it worked for many ATI gfx.
> 
> Thanks,
> -Wei
> 
> -----Original Message-----
> From: Sander Eikelenboom [mailto:linux@xxxxxxxxxxxxxx]
> Sent: Monday, December 13, 2010 2:18 PM
> To: Huang2, Wei
> Cc: Keir Fraser; Xen-devel; Ian Jackson; Kay, Allen M; Wang2, Wei; 
> djmagee@xxxxxxxxxxxx
> Subject: Re: [Xen-devel] RE: [RFC][QEMU] ATI graphics VBIOS passthru support
> 
> Hello Wei,
> 
> It just occured to me, this is probably only working when trying to 
> passthrough the primary graphics card ?
> I'm trying to passthrough a secondary card, so the primary(boot) card still 
> has the xen/dom0 console.
> 
> It could end up giving problems by loading the wrong/no bios in the hvmloader 
> ?
> 
> Should passing though a secondary graphics card also be possible with this 
> patch ?
> 
> --
> Sander
> 
> Sunday, December 12, 2010, 7:19:08 AM, you wrote:
> 
> > This patch isn't meant to be final version. The stubdom issue was known to 
> > me. Users can just compile qemu-dm and copy it to overwrite existing Xen 
> > installation for a quick testing.
> 
> > Thanks,
> > -Wei
> > ________________________________________
> > From: Keir Fraser [keir.xen@xxxxxxxxx] On Behalf Of Keir Fraser 
> > [keir@xxxxxxx]
> > Sent: Saturday, December 11, 2010 9:38 AM
> > To: Sander Eikelenboom; Huang2, Wei
> > Cc: Xen-devel; Ian Jackson; Kay, Allen M; Wang2, Wei; djmagee@xxxxxxxxxxxx
> > Subject: Re: [Xen-devel] RE: [RFC][QEMU] ATI graphics VBIOS passthru support
> 
> > The patch would need some work to make it suitable for check in and get it
> > working for stubdom. At the very least the ioperm() calls would need
> > removing completely, or stubbing out for the stubdom build.
> 
> >  -- Keir
> 
> > On 11/12/2010 14:06, "Sander Eikelenboom" <linux@xxxxxxxxxxxxxx> wrote:
> 
> >> Do i need any previous patches for this to work ?
> >>
> >> After applying it to xen-unstable, compiling xen results in:
> >>
> >> make[2]: Entering directory `/usr/src/new/xen-unstable.hg/extras/mini-os'
> >> [ -e include/xen ] || ln -sf ../../../xen/include/public include/xen
> >> [ -e include/mini-os ] || ln -sf . include/mini-os
> >> [ -e include/x86/mini-os ] || ln -sf . include/x86/mini-os
> >> make --directory=arch/x86
> >> OBJ_DIR=/usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/arch/x86 
> >> ||
> >> exit 1;
> >> make[3]: Entering directory
> >> `/usr/src/new/xen-unstable.hg/extras/mini-os/arch/x86'
> >> make[3]: Nothing to be done for `all'.
> >> make[3]: Leaving directory
> >> `/usr/src/new/xen-unstable.hg/extras/mini-os/arch/x86'
> >> ld -r -nostdlib
> >> -L/usr/src/new/xen-unstable.hg/stubdom/cross-root-x86_64/x86_64-xen-elf/lib
> >> -m elf_x86_64
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/arch/x86/x86_64.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/mini-os_app.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/blkfront.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/events.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/fbfront.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/fs-front.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/gntmap.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/gnttab.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/hypervisor.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/kernel.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/lock.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/main.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/mm.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/netfront.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/pcifront.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/sched.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/lib/ctype.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/lib/math.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/lib/printf.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/lib/stack_chk_fail.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/lib/string.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/lib/sys.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/lib/xmalloc.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/lib/xs.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/xenbus/xenbus.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/console/console.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/console/xencons_ring
> >> .o /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/lwip.a
> >> -L/usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/arch/x86 
> >> -lx86_64
> >> -lc -o /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/mini-os.o
> >> objcopy -w -G xenos_* -G _start
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/mini-os.o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/mini-os.o
> >> ld -nostdlib
> >> -L/usr/src/new/xen-unstable.hg/stubdom/cross-root-x86_64/x86_64-xen-elf/lib
> >> -m elf_x86_64 -T arch/x86/minios-x86_64.lds
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/mini-os.o  -o
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/mini-os
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/mini-os.o: In
> >> function `ati_hw_out':
> >> /usr/src/new/xen-unstable.hg/stubdom/ioemu/hw/pt-graphics.c:82: undefined
> >> reference to `ioperm'
> >> /usr/src/new/xen-unstable.hg/stubdom/ioemu/hw/pt-graphics.c:84: undefined
> >> reference to `ioperm'
> >> /usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/mini-os.o: In
> >> function `ati_hw_in':
> >> /usr/src/new/xen-unstable.hg/stubdom/ioemu/hw/pt-graphics.c:72: undefined
> >> reference to `ioperm'
> >> /usr/src/new/xen-unstable.hg/stubdom/ioemu/hw/pt-graphics.c:74: undefined
> >> reference to `ioperm'
> >> make[2]: ***
> >> [/usr/src/new/xen-unstable.hg/stubdom/mini-os-x86_64-ioemu/mini-os] Error 1
> >> make[2]: Leaving directory `/usr/src/new/xen-unstable.hg/extras/mini-os'
> >> make[1]: *** [ioemu-stubdom] Error 2
> >> make[1]: Leaving directory `/usr/src/new/xen-unstable.hg/stubdom'
> >> make: *** [install-stubdom] Error 2
> >>
> >> Don't know why the include of sys/io.h doesn't seem to work
> >> --
> >>
> >> Sander
> >>
> >> Saturday, December 11, 2010, 12:40:19 AM, you wrote:
> >>
> >>> Hi,
> >>
> >>> The attached patch supports dynamic detection of BARs (both MMIO and
> >>> PIO). Hopefully it can alleviate some of the issues you saw with ATI gfx
> >>> passthru. Please let me know whether it works better for you.
> >>
> >>> Thanks,
> >>> -Wei
> >>
> >>> On 12/07/2010 04:00 AM, Pasi Kärkkäinen wrote:
> >>>> On Wed, Oct 13, 2010 at 04:37:10PM -0500, Huang2, Wei wrote:
> >>>>>     Sorry, hold on a second. This fix seems corrupt my pci config space
> >>>>> after
> >>>>>     several runs.
> >>>>>
> >>>> Hello,
> >>>>
> >>>> Any updates to these patches? Many users have been asking about amd/ati 
> >>>> vga
> >>>> passthru stuff..
> >>>>
> >>>> -- Pasi
> >>>>
> >>>>>
> >>>>>     -Wei
> >>>>>
> >>>>>
> >>>>>
> >>>>>     From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> >>>>>     [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Huang2, 
> >>>>> Wei
> >>>>>     Sent: Wednesday, October 13, 2010 3:47 PM
> >>>>>     To: djmagee@xxxxxxxxxxxx; Kay, Allen M; Ian Jackson
> >>>>>     Cc: Wang2, Wei; Xen-devel
> >>>>>     Subject: RE: [Xen-devel] RE: [RFC][QEMU] ATI graphics VBIOS passthru
> >>>>>     support
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Hi Allen and Doug,
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Could you fix the following line in save_pci_conf_space() of
> >>>>>     tools/python/xen/util/pci.py?
> >>>>>
> >>>>>
> >>>>>
> >>>>>             "for i in range(0, 256, 4):" to "for i in range(0, 512, 4):"
> >>>>>
> >>>>>
> >>>>>
> >>>>>     This solves my black screen issue. Please let me know the results.
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Thanks,
> >>>>>
> >>>>>     -Wei
> >>>>>
> >>>>>
> >>>>>
> >>>>>     From: djmagee@xxxxxxxxxxxx [mailto:djmagee@xxxxxxxxxxxx]
> >>>>>     Sent: Friday, October 08, 2010 10:53 AM
> >>>>>     To: Huang2, Wei; Kay, Allen M; Ian Jackson
> >>>>>     Cc: Xen-devel; Wang2, Wei
> >>>>>     Subject: RE: [Xen-devel] RE: [RFC][QEMU] ATI graphics VBIOS passthru
> >>>>>     support
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Wei,
> >>>>>
> >>>>>                     These were guests that had never seen the catalyst
> >>>>> driver
> >>>>>     before.  I booted each three with the graphics device and usb 
> >>>>> devices
> >>>>>     assigned, they worked fine using the basic VGA driver, then 
> >>>>> installed
> >>>>>     fresh Catalyst 10.9, rebooted, and each one crashed.
> >>>>>
> >>>>>
> >>>>>
> >>>>>                     Let me know if there's any other info I can provide
> >>>>> that
> >>>>>     will help you debug.  The motherboard is a DQ45CB, running 
> >>>>> xen-unstable
> >>>>>     c/s 22155 using `dom0_mem=768M iommu=1' on the grub line, and using
> >>>>> pvops
> >>>>>     Dom0 from stable-2.6.32.x commit 179eca50.
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Doug Magee
> >>>>>
> >>>>>
> >>>>>
> >>>>>     From: Huang2, Wei [mailto:Wei.Huang2@xxxxxxx]
> >>>>>     Sent: Friday, October 08, 2010 11:41 AM
> >>>>>     To: djmagee@xxxxxxxxxxxx; Kay, Allen M; Ian Jackson
> >>>>>     Cc: Xen-devel; Wang2, Wei
> >>>>>     Subject: RE: [Xen-devel] RE: [RFC][QEMU] ATI graphics VBIOS passthru
> >>>>>     support
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Hi Doug,
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Regarding Catalyst driver, we never saw guest crashing. Was it a 
> >>>>> fresh
> >>>>>     Catalyst installation or an existing guest image? We felt this VBIOS
> >>>>> patch
> >>>>>     might not provide all necessary resources to driver, which got 
> >>>>> upset.
> >>>>>     Currently we are debugging it with our driver team and will let you
> >>>>> know
> >>>>>     the update.
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Thanks,
> >>>>>
> >>>>>     -Wei
> >>>>>
> >>>>>
> >>>>>
> >>>>>     From: djmagee@xxxxxxxxxxxx [mailto:djmagee@xxxxxxxxxxxx]
> >>>>>     Sent: Friday, October 08, 2010 9:41 AM
> >>>>>     To: Huang2, Wei; Kay, Allen M; Ian Jackson
> >>>>>     Cc: Xen-devel
> >>>>>     Subject: RE: [Xen-devel] RE: [RFC][QEMU] ATI graphics VBIOS passthru
> >>>>>     support
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Wei,
> >>>>>
> >>>>>                     I've tested with a Radeon 4770 and it the VBIOS 
> >>>>> works
> >>>>>     without a problem, through many guest (re)boots, so it seems pretty
> >>>>>     solid.  I tested a linux guest (fairly standard Fedora 12), Windows 
> >>>>> XP,
> >>>>>     and Windows 7 (without accelerated drivers).  The open radeon linux
> >>>>> driver
> >>>>>     works fine.
> >>>>>
> >>>>>
> >>>>>
> >>>>>     The Catalyst driver fails in Windows XP (STOP 0x000000EA, thread 
> >>>>> stuck
> >>>>> in
> >>>>>     device driver), windows 7 (STOP 0x00000116, driver fails to properly
> >>>>>     reset?), and linux (total system freeze).  This seems to be 
> >>>>> different
> >>>>> than
> >>>>>     the `Blank Screen' problem you report, as the driver is clearly not
> >>>>>     functioning properly.
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Doug Magee
> >>>>>
> >>>>>
> >>>>>
> >>>>>     From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> >>>>>     [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Huang2, 
> >>>>> Wei
> >>>>>     Sent: Friday, October 08, 2010 9:57 AM
> >>>>>     To: Kay, Allen M; Ian Jackson
> >>>>>     Cc: Xen-devel
> >>>>>     Subject: [Xen-devel] RE: [RFC][QEMU] ATI graphics VBIOS passthru
> >>>>> support
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Hi Allen,
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Yes, Catalyst driver is the one from public website. The driver 
> >>>>> still
> >>>>> has
> >>>>>     a  minor issue with this VBIOS patch. The purpose of submitting 
> >>>>> VBIOS
> >>>>>     patch is to get community feedbacks. After we figure out the root 
> >>>>> cause
> >>>>> of
> >>>>>     black screen, I will formally submit a patch for inclusion.
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Thanks,
> >>>>>
> >>>>>     -Wei
> >>>>>
> >>>>>
> >>>>>
> >>>>>     From: Kay, Allen M [mailto:allen.m.kay@xxxxxxxxx]
> >>>>>     Sent: Friday, October 08, 2010 2:21 AM
> >>>>>     To: Huang2, Wei; Ian Jackson
> >>>>>     Cc: Xen-devel
> >>>>>     Subject: RE: [RFC][QEMU] ATI graphics VBIOS passthru support
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Hi Wei,
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Is Catalyst driver the one on AMD website?  I think that's what I 
> >>>>> have
> >>>>> in
> >>>>>     my win7 guest and it matches the symptom you are describing.  
> >>>>> "lspci"
> >>>>>     reports my ATI card is a V5700 - although it says v3750 on the box.
> >>>>> Where
> >>>>>     can I get a working driver?
> >>>>>
> >>>>>
> >>>>>
> >>>>>     The patch looks reasonable to me in general.
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Allen
> >>>>>
> >>>>>
> >>>>>
> >>>>>     From: Huang2, Wei [mailto:Wei.Huang2@xxxxxxx]
> >>>>>     Sent: Thursday, October 07, 2010 9:06 PM
> >>>>>     To: Kay, Allen M; Ian Jackson
> >>>>>     Cc: Xen-devel
> >>>>>     Subject: RE: [RFC][QEMU] ATI graphics VBIOS passthru support
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Hi Allen,
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Thanks for testing it out. We have tested this patch with Radeon 
> >>>>> 4850,
> >>>>>     4870, FirePro V5700 and FirePro M5800. Unfortunately we don't have
> >>>>> V3750
> >>>>>     at hand. It is very possible this patch isn't compatible with 
> >>>>> V3750. We
> >>>>>     will try to get hold of one for debugging. For graphics which work 
> >>>>> with
> >>>>>     this path, users should be able to get rid of emulated gfx (such as
> >>>>>     Cirrus). I have successfully installed a Windows guest VM using this
> >>>>>     patch.
> >>>>>
> >>>>>
> >>>>>
> >>>>>     I also want to point out that there is still an issue. Users will 
> >>>>> see a
> >>>>>     black screen after installing Catalyst driver. Even though the 
> >>>>> screen
> >>>>>     appears to be black, the driver is actually functioning correctly
> >>>>> (3DMark
> >>>>>     can be run with external monitor). Our driver team is currently
> >>>>> debugging
> >>>>>     it and they believe this is easy to fix.
> >>>>>
> >>>>>
> >>>>>
> >>>>>     What is your opinion on this patch (and the solution) in general?
> >>>>>
> >>>>>
> >>>>>
> >>>>>     -Wei
> >>>>>
> >>>>>
> >>>>>
> >>>>>     From: Kay, Allen M [mailto:allen.m.kay@xxxxxxxxx]
> >>>>>     Sent: Thursday, October 07, 2010 6:58 PM
> >>>>>     To: Huang2, Wei; Ian Jackson
> >>>>>     Cc: Xen-devel
> >>>>>     Subject: RE: [RFC][QEMU] ATI graphics VBIOS passthru support
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Hi Wei,
> >>>>>
> >>>>>
> >>>>>
> >>>>>     This patch did not cause any problems with Intel IGD passthrough for
> >>>>> me.
> >>>>>     However, the monitor remained blank if I pass through ATI Firepro 
> >>>>> V3750
> >>>>>     either as the primary display device or the secondary device
> >>>>>     (gfx_passthru=1/0).  Passing it through as the secondary device 
> >>>>> used to
> >>>>>     work.
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Have you tested the patch with this graphics card?
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Allen
> >>>>>
> >>>>>
> >>>>>
> >>>>>     From: Huang2, Wei [mailto:Wei.Huang2@xxxxxxx]
> >>>>>     Sent: Thursday, October 07, 2010 9:57 AM
> >>>>>     To: Ian Jackson
> >>>>>     Cc: Xen-devel; Kay, Allen M
> >>>>>     Subject: [RFC][QEMU] ATI graphics VBIOS passthru support
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Hi Ian,
> >>>>>
> >>>>>
> >>>>>
> >>>>>     There have been a lot of interest on gfx passthru recently. This 
> >>>>> patch
> >>>>>     enables ATI VBIOS in passthru mode. The guest VM system BIOS 
> >>>>> (including
> >>>>>     Windows boot logo) can now show in passthru screen. We have tested 
> >>>>> with
> >>>>>     various Windows and Linux guest VMs. Please help review it. We are 
> >>>>> also
> >>>>>     looking forward to comments and suggestions from Xen community 
> >>>>> users.
> >>>>>
> >>>>>
> >>>>>
> >>>>>     Signed-off-by: Wei Huang<wei.huang2@xxxxxxx>
> >>>>>
> >>>>>     Signed-off-by: Wei Wang<wei.wang2@xxxxxxx>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> _______________________________________________
> >>>>> Xen-devel mailing list
> >>>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
> >>>>> http://lists.xensource.com/xen-devel
> >>>>
> >>
> >>
> >>
> 
> 
> 
> 
> 
> 
> 
> --
> Best regards,
>  Sander                            mailto:linux@xxxxxxxxxxxxxx
> 
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.