From: "Jan Beulich" <JBeulich@suse.com>
To: Xiantao Zhang <xiantao.zhang@intel.com>,
Yang Z Zhang <yang.z.zhang@intel.com>
Cc: "wei.huang2@amd.com" <wei.huang2@amd.com>,
"weiwang.dd@gmail.com" <weiwang.dd@gmail.com>,
xen-devel <xen-devel@lists.xen.org>
Subject: Re: iommu=dom0-passthrough behavior
Date: Tue, 13 Nov 2012 11:24:44 +0000 [thread overview]
Message-ID: <50A23C0C02000078000A8085@nat28.tlf.novell.com> (raw)
In-Reply-To: <A9667DDFB95DB7438FA9D7D576C3D87E2B15EE@SHSMSX101.ccr.corp.intel.com>
>>> On 13.11.12 at 12:13, "Zhang, Yang Z" <yang.z.zhang@intel.com> wrote:
> Jan Beulich wrote on 2012-11-13:
>>>>> On 13.11.12 at 09:50, "Zhang, Xiantao" <xiantao.zhang@intel.com> wrote:
>>>> From: Jan Beulich [mailto:JBeulich@suse.com]
>>>> Bottom line - I'm seeking advice as to whether working around this problem
>>>> in the IOMMU code is desirable/necessary, or whether this is a design flaw
>>>> on the device's side that just cannot be tolerated with an IOMMU in the
>>>> picture (which would need good reasoning, so that a customer expecting
>>>> such a device to work regardless of IOMMU usage can understand that this
>>>> cannot reasonably be made work).
>
> Why not just disable the IOMMU in this case ?
Because that disables (secure) pass through of other devices.
>>> The issue is why the non-zero functions don't claim themselves during PCI bus
>>> scan.
>>
>> As said - I can't tell whether there is a secondary function in the
>> first place (and I didn't try to find out because it doesn't really
>> matter for the purpose of finding a solution/workaround).
>
> If software cannot see it, then how to use it? If there still have an
> approach to detect it, then xen can do it too and setup the context entry as
> passthrough.
We see it the latest at the point the fault occurs. So there are
multiple options:
a) if the device is "real" as in having a valid config space despite
func 0 not advertising itself as multi-function, we have ways to
discover the device (at boot time)
b) we could insert the context entry in the fault handler, assuming
the device is able to recover
c) we could provide a command line option to allow fake devices to
be created
d) we could create context entries for all BDFs, whether or not a
device exists there
Does any of these have obvious downsides?
Jan
next prev parent reply other threads:[~2012-11-13 11:24 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-05 14:30 iommu=dom0-passthrough behavior Jan Beulich
2012-11-13 0:11 ` Zhang, Yang Z
2012-11-13 8:07 ` Jan Beulich
2012-11-13 8:50 ` Zhang, Xiantao
2012-11-13 9:41 ` Jan Beulich
2012-11-13 11:13 ` Zhang, Yang Z
2012-11-13 11:24 ` Jan Beulich [this message]
2012-11-13 15:02 ` Zhang, Xiantao
2012-11-13 15:29 ` Jan Beulich
2012-11-14 0:37 ` Zhang, Xiantao
2012-11-14 13:40 ` Jan Beulich
2012-11-15 8:23 ` Zhang, Xiantao
2012-11-15 9:05 ` Jan Beulich
2012-11-16 6:21 ` Zhang, Xiantao
2012-11-16 8:22 ` Jan Beulich
2012-11-16 9:26 ` Jan Beulich
2012-11-16 9:43 ` Zhang, Xiantao
2012-11-16 9:53 ` Jan Beulich
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=50A23C0C02000078000A8085@nat28.tlf.novell.com \
--to=jbeulich@suse.com \
--cc=wei.huang2@amd.com \
--cc=weiwang.dd@gmail.com \
--cc=xen-devel@lists.xen.org \
--cc=xiantao.zhang@intel.com \
--cc=yang.z.zhang@intel.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.