On 04/05/2018 10:46 AM, Roger Pau Monné wrote:
> On Thu, Apr 05, 2018 at 10:40:37AM +0100, George Dunlap wrote:
>> On 04/05/2018 10:34 AM, Roger Pau Monné wrote:
>>> On Wed, Apr 04, 2018 at 11:29:39PM +0800, Chao Gao wrote:
>>>> ... the same page with other registers which are not relevant to MSI-X. Xen
>>>> marks pages where PBA resides as read-only. When assigning such devices to
>>>> guest, device driver writes MSI-X irrelevant registers on those pages would
>>>> lead to an EPT violation and the guest is destroyed because no handler is
>>>> registered for those address range. In order to make guest capable to use 
>>>> such
>>>> kind of devices, trapping very frequent write accesses is not a good idea 
>>>> for
>>>> it would significantly impact the performance.
>>>>
>>>> This patch provides a workaround with caveat. Specifically, an option is
>>>> introduced to specify a list of devices. For those devices, Xen doesn't
>>>> control the access right to pages where PBA resides. Hence, guest device
>>>> driver is able to write those pages and functions well. Note that adding an
>>>> untrusted device to this option may endanger security of the entire system.
>>>>
>>>> Signed-off-by: Chao Gao <chao....@intel.com>
>>>> ---
>>>>  docs/misc/xen-command-line.markdown | 10 +++++++++
>>>>  xen/arch/x86/msi.c                  |  7 ++++--
>>>>  xen/drivers/passthrough/pci.c       | 45 
>>>> +++++++++++++++++++++++++++++++++++--
>>>>  xen/include/asm-x86/msi.h           |  1 +
>>>>  4 files changed, 59 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/docs/misc/xen-command-line.markdown 
>>>> b/docs/misc/xen-command-line.markdown
>>>> index b353352..e382513 100644
>>>> --- a/docs/misc/xen-command-line.markdown
>>>> +++ b/docs/misc/xen-command-line.markdown
>>>> @@ -1423,6 +1423,16 @@ Defaults to booting secondary processors.
>>>>  
>>>>  > Default: `on`
>>>>  
>>>> +### pba\_quirk
>>>
>>> pba_write_allowed would be better, pba_quirk is too generic IMO.
>>
>> 'quirk' was I think requested by Jan; and my understanding is that the
>> word clearly indicates that the behavior in question is a workaround for
>> hardware which is not compliant with the appropriate specification.  If
>> you grep the source tree for 'quirk' you'll find a fairly large number.
>>
>> pba_shared_quirk might be slightly more descriptive.
> 
> pba_write_quirk?
> 
> I just think it should be slightly more descriptive than pba_quirk in
> case Xen has to add further PBA-related quirks in the future.

"shared" tells you something about the quirk itself: The PBA is shared
across multiple devices.  "write" tells you about the work-around:
unsafe writes to the PBA region are allowed.

I think it makes more sense for the name to describe the quirk itself
rather than the work-around.  The description says what the work-around
does and why it's unsafe.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to