All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Julien Grall <julien.grall@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	Xen-devel <xen-devel@lists.xen.org>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 1/2] xen/dom0: Improve documentation for dom0= and dom0-iommu=
Date: Fri, 21 Dec 2018 12:44:25 +0000	[thread overview]
Message-ID: <e9fce552-7dae-6d67-1879-62e88469bc51@citrix.com> (raw)
In-Reply-To: <5C1CD7CD0200007800208840@prv1-mh.provo.novell.com>


[-- Attachment #1.1: Type: text/plain, Size: 4570 bytes --]

On 21/12/2018 12:08, Jan Beulich wrote:
>>>> On 21.12.18 at 00:40, <andrew.cooper3@citrix.com> wrote:
>> --- a/docs/misc/xen-command-line.markdown
>> +++ b/docs/misc/xen-command-line.markdown
>> @@ -636,55 +636,76 @@ trace feature is only enabled in debugging builds of Xen.
>>  
>>  Specify the bit width of the DMA heap.
>>  
>> -### dom0 (x86)
>> -> `= List of [ pvh | shadow ]`
>> +### dom0
>> +> `= List of [ pvh=<bool>, shadow=<bool> ]`
>>  
>> -> Sub-options:
>> -
>> -> `pvh`
>> +> Applicability: x86
> Why the new tag, when everything else uses (x86) next to the
> option name?

See the commit message of c/s a3a99df44e5405d2092ec59087681765fa4cdee7

The problem is with the generated HTML anchors when trying to cross
reference the options.

>
>>  ### dom0-iommu
>> -> `= List of [ passthrough | strict | map-inclusive ]`
>> -
>> -This list of booleans controls the iommu usage by Dom0:
>> -
>> -* `passthrough`: disables DMA remapping for Dom0. Default is `false`. Note that
>> -  this option is hard coded to `false` for a PVH Dom0 and any attempt to
>> -  overwrite it from the command line is ignored.
>> -
>> -* `strict`: sets up DMA remapping only for the RAM Dom0 actually got assigned.
>> -  Default is `false` which means Dom0 will get mappings for all the host
>> -  RAM except regions in use by Xen. Note that this option is hard coded to
>> -  `true` for a PVH Dom0 and any attempt to overwrite it from the command line
>> -  is ignored.
>> -
>> -* `map-inclusive`: sets up DMA remapping for all the non-RAM regions below 4GB
>> -  except for unusable ranges. Use this to work around firmware issues providing
>> -  incorrect RMRR/IVMD entries. Rather than only mapping RAM pages for IOMMU
>> -  accesses for Dom0, with this option all pages up to 4GB, not marked as
>> -  unusable in the E820 table, will get a mapping established. Note that this
>> -  option is only applicable to a PV Dom0 and is enabled by default on Intel
>> -  hardware.
>> -
>> -* `map-reserved`: sets up DMA remapping for all the reserved regions in the
>> -  memory map for Dom0. Use this to work around firmware issues providing
>> -  incorrect RMRR/IVMD entries. Rather than only mapping RAM pages for IOMMU
>> -  accesses for Dom0, all memory regions marked as reserved in the memory map
>> -  that don't overlap with any MMIO region from emulated devices will be
>> -  identity mapped. This option maps a subset of the memory that would be
>> -  mapped when using the `map-inclusive` option. This option is available to all
>> -  Dom0 modes and is enabled by default on Intel hardware.
>> +> `= List of [ passthrough=<bool>, strict=<bool>, map-inclusive=<bool>,
>> +>              map-reserved=<bool> ]`
>> +
>> +Controls for the dom0 IOMMU setup.
>> +
>> +*   The `passthrough` boolean is applicable to x86 PV dom0's only and defaults
>> +    to false.  It controls whether the IOMMU is fully disabled for devices
>> +    belonging to dom0 (`passthrough=1`), or whether the IOMMU is set up with
>> +    an identity transform for dom0 (`passthrough=0`) to prevent dom0 from
>> +    DMA'ing outside of its permitted areas.
>> +
>> +    This option is hardwired to false for x86 PVH dom0's (where a non-identity
>> +    transform is required for dom0 to function), and is ignored for ARM.
>> +
>> +*   The `strict` boolean is applicable to x86 PV dom0's only and defaults to
>> +    false.  It controls whether dom0 can have IOMMU mappings for all domain
>> +    RAM in the system, or only for its allocated RAM (and grant mappings etc.)
>> +
>> +    This option is hardwired to true for x86 PVH dom0's (as RAM belonging to
>> +    other domains in the system don't live in a compatible address space), and
>> +    is ignored for ARM.
>> +
>> +*   The `map-inclusive` boolean is applicable to x86 PV dom0's, and sets up DMA
>> +    remapping for all non-RAM regions below 4GB except for unusable ranges.
> I don't thinks this is PV-specific, just its default is.

>From arch_iommu_hwdom_init():

    /* Inclusive mappings are enabled by default for PV. */
    if ( iommu_hwdom_inclusive == -1 )
        iommu_hwdom_inclusive = is_pv_domain(d);
    /* Reserved IOMMU mappings are enabled by default. */
    if ( iommu_hwdom_reserved == -1 )
        iommu_hwdom_reserved = 1;

    if ( iommu_hwdom_inclusive && !is_pv_domain(d) )
    {
        printk(XENLOG_WARNING
               "IOMMU inclusive mappings are only supported on PV Dom0\n");
        iommu_hwdom_inclusive = 0;
    }


Attempting to use this option with a PVH dom0 will cause Xen to force it
off.

~Andrew

[-- Attachment #1.2: Type: text/html, Size: 5570 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

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

  reply	other threads:[~2018-12-21 12:44 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-20 23:40 [PATCH 0/2] Ease development with a PVH Xen and XTF PVH dom0 Andrew Cooper
2018-12-20 23:40 ` [PATCH 1/2] xen/dom0: Improve documentation for dom0= and dom0-iommu= Andrew Cooper
2018-12-21 12:08   ` Jan Beulich
2018-12-21 12:44     ` Andrew Cooper [this message]
2019-01-04  9:07       ` Jan Beulich
2018-12-21 12:08   ` Roger Pau Monné
2018-12-21 13:13     ` Andrew Cooper
2018-12-21 16:06       ` Roger Pau Monné
2018-12-24 12:46         ` Andrew Cooper
2019-01-04 12:04           ` Roger Pau Monné
2019-01-04 12:06             ` Andrew Cooper
2018-12-20 23:40 ` [PATCH 2/2] xen/dom0: Add a dom0-iommu=none option Andrew Cooper
2018-12-21 12:13   ` Jan Beulich
2018-12-21 12:55     ` Andrew Cooper
2019-01-04  9:11       ` Jan Beulich
2018-12-21 12:44   ` Roger Pau Monné
2018-12-21 13:01     ` Andrew Cooper
2018-12-21 15:55       ` Roger Pau Monné

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=e9fce552-7dae-6d67-1879-62e88469bc51@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=julien.grall@arm.com \
    --cc=roger.pau@citrix.com \
    --cc=sstabellini@kernel.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.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.