All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Wolf <mwolf@adiumentum.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: kvm@vger.kernel.org
Subject: Re: vga passthrough // questions about pci passthrough
Date: Wed, 18 Jul 2012 14:37:07 +0200	[thread overview]
Message-ID: <5006ADF3.9030304@adiumentum.com> (raw)
In-Reply-To: <5006A72D.3080408@adiumentum.com>

soundcard logs added

On 18.07.2012 14:08, Martin Wolf wrote:
> On 18.07.2012 11:26, Jan Kiszka wrote:
>> On 2012-07-18 07:45, Martin Wolf wrote:
>>> Hello,
>>>
>>> i was able to passthrough an AMD 7870 videocard to my win7 guest 
>>> machine.
>> Would you add it to http://www.linux-kvm.org/page/VGA_device_assignment?
> sure, i will prepare something
>>
>>> my host is ubuntu 12.04 with stock kernel.
>>> my system contains:
>>> dq67sw q67 mainboard
>>> i5-2400s cpu
>>> sapphire 7870 amd videocard
>>> xonar d2x (problems to passthrough)
>>>
>>> for full functionality i just needed two options
>>>
>>> - kernel : iommu=on
>>> - kvm module: ignore_msrs=1
>>> (if i would not set it the guest os would crash with a bluescreen)
>> Can you report (=> kernel log) which MSRs are unknown to KVM?
> Jul 18 14:03:33 kvm-xen kernel: [  437.309931] kvm: 3347: cpu1 
> kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop
> Jul 18 14:03:33 kvm-xen kernel: [  437.522724] kvm: 3347: cpu1 
> kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop
> Jul 18 14:03:33 kvm-xen kernel: [  437.522733] kvm: 3347: cpu1 ignored 
> rdmsr: 0x1c9
> Jul 18 14:03:33 kvm-xen kernel: [  437.522736] kvm: 3347: cpu1 ignored 
> rdmsr: 0x60
> Jul 18 14:03:33 kvm-xen kernel: [  437.522752] kvm: 3347: cpu1 ignored 
> rdmsr: 0x1c9
> Jul 18 14:03:33 kvm-xen kernel: [  437.522755] kvm: 3347: cpu1 ignored 
> rdmsr: 0x60
> Jul 18 14:03:33 kvm-xen kernel: [  437.522821] kvm: 3347: cpu1 ignored 
> rdmsr: 0x1c9
> Jul 18 14:03:33 kvm-xen kernel: [  437.522823] kvm: 3347: cpu1 ignored 
> rdmsr: 0x60
> Jul 18 14:03:33 kvm-xen kernel: [  437.522834] kvm: 3347: cpu1 
> kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop
> Jul 18 14:03:33 kvm-xen kernel: [  437.522840] kvm: 3347: cpu1 ignored 
> rdmsr: 0x1c9
> Jul 18 14:03:33 kvm-xen kernel: [  437.522842] kvm: 3347: cpu1 ignored 
> rdmsr: 0x60
> Jul 18 14:03:33 kvm-xen kernel: [  437.522865] kvm: 3347: cpu1 ignored 
> rdmsr: 0x1c9
> Jul 18 14:03:33 kvm-xen kernel: [  437.522867] kvm: 3347: cpu1 ignored 
> rdmsr: 0x60
> Jul 18 14:03:33 kvm-xen kernel: [  437.522921] kvm: 3347: cpu1 
> kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop
> Jul 18 14:03:33 kvm-xen kernel: [  437.523005] kvm: 3347: cpu1 
> kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop
> Jul 18 14:03:33 kvm-xen kernel: [  437.523081] kvm: 3347: cpu1 
> kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop
> Jul 18 14:03:33 kvm-xen kernel: [  437.523175] kvm: 3347: cpu1 
> kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop
> Jul 18 14:03:33 kvm-xen kernel: [  437.523248] kvm: 3347: cpu1 
> kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop
> Jul 18 14:03:33 kvm-xen kernel: [  437.523333] kvm: 3347: cpu1 
> kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop
> Jul 18 14:03:33 kvm-xen kernel: [  437.523430] kvm: 3347: cpu1 
> kvm_set_msr_common: MSR_IA32_DEBUGCTLMSR 0x1, nop
>
> i hope thats the info you need, i booted it with ignore_msrs=1 since 
> if i dont do that i get less output.
> (do you need it without the "option"?)
>
>>
>>> the unigine benchmark ran flawlessly
>>> also the benchmark included in windows gave my videocard
>>> similar values (7.7) comparable with my native win7 (7.9)
>>>
>>>
>>> now to my questions...
>>> 1.     is it possible to reset the videocard properly to be able to
>>>      reboot the vm?
>> Which versions of kernel and qemu-kvm are involved via your distro? Can
>> you retry with latest Linux (3.5-rcX) / lastest qemu-kvm? Maybe
>> something got fixed meanwhile.
>>
>> In general, there are many adapters that require special procedures to
>> perform resets. This one may fall into that category as well.
> i will do a test today.
>>> 2.    the xonar d2x is a very nice audio card, it would be very handy
>>>      to be able to use it in the vm. in my oppinion the card is a
>>>      d2 with a pci-e to pci bridge.
>>>      i tried to passthrough the card alone and with the pci-bridge
>>>      that was shown though lspci, but i had no success.
>>>      maybe you guys here have an idea on that topic?
>> Any further details about the error? Does the adapter work with a Linux
>> guest or provide more information that way?
>>
>> Jan

02:00.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI 
Express-to-PCI Bridge (rev aa) (prog-if 00 [Normal decode])
         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B- DisINTx-
         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR- INTx-
         Latency: 0, Cache Line Size: 64 bytes
         Bus: primary=02, secondary=03, subordinate=03, sec-latency=32
         I/O behind bridge: 0000d000-0000dfff
         Memory behind bridge: fff00000-000fffff
         Prefetchable memory behind bridge: fff00000-000fffff
         Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium 
 >TAbort- <TAbort- <MAbort- <SERR- <PERR-
         BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
                 PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
         Capabilities: <access denied>
         Kernel driver in use: pci-stub
         Kernel modules: shpchp

03:04.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 
[Oxygen HD Audio]
         Subsystem: ASUSTeK Computer Inc. Virtuoso 200 (Xonar D2X)
         Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B- DisINTx-
         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium 
 >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
         Interrupt: pin A routed to IRQ 11
         Region 0: I/O ports at d000 [disabled] [size=256]
         Capabilities: <access denied>
         Kernel driver in use: pci-stub
         Kernel modules: snd-virtuoso


  /usr/bin/qemu-system-x86_64 -cpu host -m 8192 -boot c -hda 
/var/lib/libvirt/images/Win7.img -device pci-assign,host=02:00.0 -device 
pci-assign,host=03:04.0
Device assignment only supports endpoint assignment, device type 7
qemu-system-x86_64: -device pci-assign,host=02:00.0: Device 'pci-assign' 
could not be initialized

root@kvm-xen:~# /usr/bin/qemu-system-x86_64 -cpu host -m 8192 -boot c 
-hda /var/lib/libvirt/images/Win7.img -device 
pci-assign,host=03:04.0Failed to assign irq for "(null)": Input/output error
Perhaps you are assigning a device that shares an IRQ with another device?
qemu-system-x86_64: -device pci-assign,host=03:04.0: Device 'pci-assign' 
could not be initialized

these kernel log lines showed up after the the second qemu-system line
Jul 18 14:32:08 kvm-xen kernel: [ 2149.180353] assign device 0:3:4.0
Jul 18 14:32:08 kvm-xen kernel: [ 2149.180575] deassign device 0:3:4.0
Jul 18 14:32:08 kvm-xen kernel: [ 2149.209408] pci-stub 0000:03:04.0: 
restoring config space at offset 0x1 (was 0x2100000, writing 0x2100001)
Jul 18 14:32:08 kvm-xen kernel: [ 2149.209551] pci-stub 0000:03:04.0: 
PCI INT A disabled



>>
>
> -- 
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


  reply	other threads:[~2012-07-18 12:37 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-18  5:45 vga passthrough // questions about pci passthrough Martin Wolf
2012-07-18  9:26 ` Jan Kiszka
2012-07-18 12:08   ` Martin Wolf
2012-07-18 12:37     ` Martin Wolf [this message]
2012-07-18 14:23       ` Alex Williamson
2012-07-19 14:54         ` Martin Wolf
2012-07-19 16:13           ` Jan Kiszka
2012-07-19 16:16           ` Alex Williamson
2012-09-27 11:19             ` Martin Wolf
2012-09-27 17:56               ` Alex Williamson
2012-09-27 18:43                 ` Martin Wolf
2012-09-27 19:18                   ` Alex Williamson
2012-09-27 19:37                     ` Martin Wolf
2012-09-27 20:46                       ` Alex Williamson
2012-09-28  5:15                         ` Martin Wolf
2012-09-28  8:12                     ` Jan Kiszka
2012-09-28 14:45                       ` Martin Wolf
2012-09-28 15:50                       ` Alex Williamson
2012-09-28 16:29                         ` Jan Kiszka
2012-10-02  8:22                           ` Martin Wolf
2012-12-13 22:47                             ` Erik Hardesty
2012-09-12  7:31 YunQiang Su

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=5006ADF3.9030304@adiumentum.com \
    --to=mwolf@adiumentum.com \
    --cc=jan.kiszka@siemens.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 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.