Hi Wei/Stefano,
I have tried this patch, but i don't succeed in passing a ATI HD 3450 to a
windows HVM.
I have applied the patch to the latest xen-unstable, and rebuild with make
"tools && make install-tools"
AMD iommu is enabled, passthrough of devices to PV-domains works ok.
Attached (created when te domU has been running for sometime):
- xm info
- xm dmesg
- dmesg
- lspci -k
- lspci -vvvknn (verbose)
- winhvm.cfg (domU config file, has a install of winxp and the latest catalyst
drivers)
- qemu-dm-winhvm.log
- xend.log
- output of debug keys (Q,i,M)
Dom0 is latest from Jeremy's xen/next2.6.32.x branch.
The domain does run, and i can connect to a previously installed vnc (resulting
in 4 color vga display), the driver doesn't recognize the ati hd 3450.
--
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
debug-keys.txt
Description: Text document
dmesg.txt
Description: Text document
lspci.txt
Description: Text document
lspci-verbose.txt
Description: Text document
proc-interrupts.txt
Description: Text document
qemu-dm-winhvm.log
Description: Binary data
winhvm.cfg
Description: Binary data
xend.log
Description: Binary data
xm-dmesg.txt
Description: Text document
xm-info.txt
Description: Text document
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|