From: Ian Campbell <ian.campbell@citrix.com>
To: Julien Grall <julien.grall@linaro.org>
Cc: xen-devel@lists.xenproject.org, tim@xen.org,
stefano.stabellini@citrix.com
Subject: Re: [PATCH v4 33/33] docs/misc: arm: Add documentation about non-PCI passthrough
Date: Tue, 31 Mar 2015 12:55:39 +0100 [thread overview]
Message-ID: <1427802939.2115.109.camel@citrix.com> (raw)
In-Reply-To: <1426793399-6283-34-git-send-email-julien.grall@linaro.org>
On Thu, 2015-03-19 at 19:29 +0000, Julien Grall wrote:
> Note that the example is done on Midway whose SMMU driver is not
> supported on Xen upstream.
>
> Currently, I don't have other platform where I can test non-PCI
> passthrough.
Please drop references to non-PCI in favour of talking about device tree
throughout.
>
> Signed-off-by: Julien Grall <julien.grall@linaro.org>
>
> ---
> Changes in v4:
> - Patch added
> ---
> docs/misc/arm/passthrough.txt | 58 +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 58 insertions(+)
> create mode 100644 docs/misc/arm/passthrough.txt
>
> diff --git a/docs/misc/arm/passthrough.txt b/docs/misc/arm/passthrough.txt
> new file mode 100644
> index 0000000..cf6cc61
> --- /dev/null
> +++ b/docs/misc/arm/passthrough.txt
> @@ -0,0 +1,58 @@
> +Passthrough a non-pci device to a guest
> +=======================================
> +
> +The example will use the secondary network card for the midway server.
> +
> +1) Mark the device to let Xen knowns the device will be used for passthrough.
s/knowns/know/
> +This is done in the device tree node describing the device by adding the
> +property "xen,passthrough". The command to do it in U-Boot is:
> +
> + fdt set /soc/ethernet@fff51000 xen,passthrough
> +
> +2) Create the partial device tree describing the device. The IRQ are mapped
s/the/a/
> +1:1 to the guest (i.e VIRQ == IRQ). For MMIO will have to find hole in the
s/MMIO will/MMIO you will/
s/find hole/find a hole/
> +guest memory layout (see xen/include/public/arch-arm.h, noted the layout
s/noted/note that/
> +is not stable and can change between 2 releases version of Xen).
s/between 2 releases version/versions/
> +
> +/dts-v1/;
> +
> +/ {
> + /* #*cells are here to keep DTC happy */
> + #address-cells = <2>;
> + #size-cells = <2>;
> +
> + aliases {
> + net = &mac0;
> + };
> +
> + passthrough {
> + compatible = "simple-bus";
> + ranges;
> + #address-cells = <2>;
> + #size-cells = <2>;
> + mac0: ethernet@10000000 {
> + compatible = "calxeda,hb-xgmac";
> + reg = <0 0x10000000 0 0x1000>;
> + interrupts = <0 80 4 0 81 4 0 82 4>;
Tabs vs spaces?
Is it worth making reference to looking at the host entry and copying
some of the relevant bits of that, or would that be more confusing?
> + };
> + };
> +};
> +
> +Note:
> + * The interrupt-parent property will be added by the toolstack in the
> + root node;
> + * The properties compatible, ranges, #address-cells and #size-cells
> + in /passthrough are mandatory.
The following properties are mandatory within the /passthrough node:
* compatible
* ranges
* ...
Are the values of any of them mandatory, i.e. simply-bus or empty
ranges?
> +
> +3) Compile the partial guest device with dtc (Device Tree Compiler).
> +For our purpose, the compiled file will be called guest-midway.dtb and
> +placed in /root in DOM0.
Can you give an example of the command line please, and
s/guest-midway/passthrough/ would be more generic.
> +3) Add the following options in the guest configuration file:
Please expand to say add the dtdev, irqs and iomem options with values
corresponding to the resources used by the to-be-passedthrough device.
Perhaps also reference xl.cfg(5).
> +device_tree = "/root/guest-midway.dtb"
> +dtdev = [ "/soc/ethernet@fff51000" ]
> +irqs = [ 112, 113, 114 ]
> +iomem = [ "0xfff51,1@0x10000" ]
> +
Ian.
next prev parent reply other threads:[~2015-03-31 11:55 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-19 19:29 [PATCH v4 00/33] xen/arm: Add support for non-PCI passthrough Julien Grall
2015-03-19 19:29 ` [PATCH v4 01/33] xen/arm: Divide GIC initialization in 2 parts Julien Grall
2015-03-31 11:44 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 02/33] xen/dts: Allow only IRQ translation that are mapped to main GIC Julien Grall
2015-03-19 19:29 ` [PATCH v4 03/33] xen/dts: Use unsigned int for MMIO and IRQ index Julien Grall
2015-03-19 19:29 ` [PATCH v4 04/33] xen/arm: vgic: Introduce a function to initialize pending_irq Julien Grall
2015-03-19 19:29 ` [PATCH v4 05/33] xen/arm: Map disabled device in DOM0 Julien Grall
2015-03-19 19:29 ` [PATCH v4 06/33] xen/arm: Introduce xen, passthrough property Julien Grall
2015-03-31 10:25 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 07/33] xen: guestcopy: Provide an helper to safely copy string from guest Julien Grall
2015-03-31 13:24 ` Andrew Cooper
2015-03-31 13:30 ` Julien Grall
2015-03-31 13:49 ` Andrew Cooper
2015-03-31 14:00 ` Julien Grall
2015-03-19 19:29 ` [PATCH v4 08/33] MAINTAINERS: move drivers/passthrough/device_tree.c in "DEVICE TREE" Julien Grall
2015-03-31 10:26 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 09/33] xen: Extend DOMCTL createdomain to support arch configuration Julien Grall
2015-03-31 10:39 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 10/33] xen/arm: Allow virq != irq Julien Grall
2015-03-31 10:41 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 11/33] xen/arm: route_irq_to_guest: Check validity of the IRQ Julien Grall
2015-03-20 11:36 ` Stefano Stabellini
2015-03-31 10:43 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 12/33] xen/arm: gic: Add sanity checks gic_route_irq_to_guest Julien Grall
2015-03-31 10:44 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 13/33] xen/arm: gic_route_irq_to_guest: Honor the priority given in parameter Julien Grall
2015-03-20 11:51 ` Stefano Stabellini
2015-03-31 10:45 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 14/33] xen/arm: vgic: Correctly calculate GICD_TYPER.ITLinesNumber Julien Grall
2015-03-31 10:46 ` Ian Campbell
2015-03-31 11:28 ` Julien Grall
2015-03-19 19:29 ` [PATCH v4 15/33] xen/arm: gic: GICv2 & GICv3 only supports 1020 physical interrupts Julien Grall
2015-03-31 10:47 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 16/33] xen/arm: Let the toolstack configure the number of SPIs Julien Grall
2015-03-31 10:54 ` Ian Campbell
2015-03-31 11:44 ` Julien Grall
2015-03-31 11:59 ` Ian Campbell
2015-03-31 12:07 ` Julien Grall
2015-03-19 19:29 ` [PATCH v4 17/33] xen/arm: vgic: Add spi_to_pending Julien Grall
2015-03-31 10:55 ` Ian Campbell
2015-03-31 11:58 ` Julien Grall
2015-03-19 19:29 ` [PATCH v4 18/33] xen/arm: Release IRQ routed to a domain when it's destroying Julien Grall
2015-03-31 10:58 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 19/33] xen/arm: Implement hypercall DOMCTL_{, un}bind_pt_pirq Julien Grall
2015-03-31 11:11 ` Ian Campbell
2015-03-31 12:23 ` Julien Grall
2015-03-31 12:31 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 20/33] xen/dts: Provide an helper to get a DT node from a path provided by a guest Julien Grall
2015-03-31 11:12 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 21/33] xen/passthrough: Introduce iommu_construct Julien Grall
2015-03-20 10:53 ` Jan Beulich
2015-03-31 11:13 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 22/33] xen/passthrough: arm: release the DT devices assigned to a guest earlier Julien Grall
2015-03-31 11:16 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 23/33] xen/passthrough: iommu_deassign_device_dt: By default reassign device to nobody Julien Grall
2015-03-31 11:16 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 24/33] xen/iommu: arm: Wire iommu DOMCTL for ARM Julien Grall
2015-03-19 19:29 ` [PATCH v4 25/33] xen/xsm: Add helpers to check permission for device tree passthrough Julien Grall
2015-03-31 11:17 ` Ian Campbell
2015-03-31 17:12 ` Daniel De Graaf
2015-03-31 17:14 ` Julien Grall
2015-03-19 19:29 ` [PATCH v4 26/33] xen/passthrough: Extend XEN_DOMCTL_*assign_device to support DT device Julien Grall
2015-03-20 11:01 ` Jan Beulich
2015-03-31 11:24 ` Ian Campbell
2015-03-31 12:30 ` Julien Grall
2015-03-31 13:16 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 27/33] tools/libxl: Create a per-arch function to map IRQ to a domain Julien Grall
2015-03-31 11:26 ` Ian Campbell
2015-03-31 12:33 ` Julien Grall
2015-03-19 19:29 ` [PATCH v4 28/33] tools/libxl: Check if fdt_{first, next}_subnode are present in libfdt Julien Grall
2015-03-19 19:42 ` Julien Grall
2015-03-31 11:35 ` Ian Campbell
2015-03-31 12:46 ` Julien Grall
2015-03-31 13:18 ` Ian Campbell
2015-04-07 17:15 ` Julien Grall
2015-04-09 12:16 ` Ian Jackson
2015-04-09 13:59 ` Julien Grall
2015-04-14 11:40 ` Ian Campbell
2015-04-14 13:34 ` Julien Grall
2015-03-19 19:29 ` [PATCH v4 29/33] tools/(lib)xl: Add partial device tree support for ARM Julien Grall
2015-03-31 11:41 ` Ian Campbell
2015-03-31 12:55 ` Julien Grall
2015-03-31 13:19 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 30/33] tools/libxl: arm: Use an higher value for the GIC phandle Julien Grall
2015-03-31 11:43 ` Ian Campbell
2015-04-09 12:36 ` Julien Grall
2015-03-19 19:29 ` [PATCH v4 31/33] libxl: Add support for non-PCI passthrough Julien Grall
2015-03-31 11:49 ` Ian Campbell
2015-03-31 13:00 ` Julien Grall
2015-03-31 13:20 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 32/33] xl: Add new option dtdev Julien Grall
2015-03-31 11:50 ` Ian Campbell
2015-03-19 19:29 ` [PATCH v4 33/33] docs/misc: arm: Add documentation about non-PCI passthrough Julien Grall
2015-03-31 11:55 ` Ian Campbell [this message]
2015-03-31 13:03 ` Julien Grall
2015-03-31 13:21 ` Ian Campbell
2015-04-09 13:36 ` Julien Grall
2015-03-20 1:22 ` [PATCH v4 00/33] xen/arm: Add support for " Edgar E. Iglesias
2015-03-20 17:34 ` Julien Grall
2015-03-31 11:57 ` Ian Campbell
2015-03-31 13:07 ` Julien Grall
2015-03-31 13:22 ` Ian Campbell
2015-04-01 14:21 ` Julien Grall
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=1427802939.2115.109.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=julien.grall@linaro.org \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.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.