* [PATCH] arm: document "mach-virt" platform.
@ 2014-01-30 16:11 Ian Campbell
2014-01-30 17:13 ` Marc Zyngier
` (2 more replies)
0 siblings, 3 replies; 18+ messages in thread
From: Ian Campbell @ 2014-01-30 16:11 UTC (permalink / raw)
To: linux-kernel
Cc: Ian Campbell, Rob Herring, Pawel Moll, Mark Rutland, Kumar Gala,
Olof Johansson, Arnd Bergmann, Marc Zyngier, Will Deacon,
Stefano Stabellini, devicetree, linux-arm-kernel
mach-virt has existed for a while but it is not written down what it actually
consists of. Although it seems a bit unusual to document a binding for an
entire platform since mach-virt is entirely virtual it is helpful to have
something to refer to in the absence of a single concrete implementation.
I've done my best to capture the requirements based on the git log and my
memory/understanding.
While here remove the xenvm dts example, the Xen tools will now build a
suitable mach-virt compatible dts when launching the guest.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
---
I'm not sure which tree this sort of thing should go though, sorry for the
huge Cc.
---
.../devicetree/bindings/arm/mach-virt.txt | 32 ++++++++
arch/arm/boot/dts/xenvm-4.2.dts | 81 --------------------
2 files changed, 32 insertions(+), 81 deletions(-)
create mode 100644 Documentation/devicetree/bindings/arm/mach-virt.txt
delete mode 100644 arch/arm/boot/dts/xenvm-4.2.dts
diff --git a/Documentation/devicetree/bindings/arm/mach-virt.txt b/Documentation/devicetree/bindings/arm/mach-virt.txt
new file mode 100644
index 0000000..562bcda
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mach-virt.txt
@@ -0,0 +1,32 @@
+* Mach-virt "Dummy Virtual Machine" platform
+
+"mach-virt" is the smallest, dumbest platform possible, to be used as
+a guest for Xen, KVM and other hypervisors. It has no
+properties/functionality of its own and is driven entirely by device
+tree.
+
+This document defines the requirements for such a platform.
+
+* Required properties:
+
+- compatible: should be one of:
+ "linux,dummy-virt"
+ "xen,xenvm"
+
+In addition to the standard nodes (chosen, cpus, memory etc) the
+platform is required to provide certain other basic functionality
+which must be described in the device tree:
+
+ The platform must provide an ARM Generic Interrupt Controller
+ (GIC), defined in Documentation/devicetree/bindings/arm/gic.txt.
+
+ The platform must provide ARM architected timer, defined in
+ Documentation/devicetree/bindings/arm/arch_timer.txt.
+
+ If the platform is SMP then it must provide the Power State
+ Coordination Interface (PSCI) described in
+ Documentation/devicetree/bindings/arm/psci.txt.
+
+The platform may also provide hypervisor specific functionality
+(e.g. PV I/O), if it does so then this functionality must be
+discoverable (directly or indirectly) via device tree.
diff --git a/arch/arm/boot/dts/xenvm-4.2.dts b/arch/arm/boot/dts/xenvm-4.2.dts
deleted file mode 100644
index 3369151..0000000
--- a/arch/arm/boot/dts/xenvm-4.2.dts
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Xen Virtual Machine for unprivileged guests
- *
- * Based on ARM Ltd. Versatile Express CoreTile Express (single CPU)
- * Cortex-A15 MPCore (V2P-CA15)
- *
- */
-
-/dts-v1/;
-
-/ {
- model = "XENVM-4.2";
- compatible = "xen,xenvm-4.2", "xen,xenvm";
- interrupt-parent = <&gic>;
- #address-cells = <2>;
- #size-cells = <2>;
-
- chosen {
- /* this field is going to be adjusted by the hypervisor */
- bootargs = "console=hvc0 root=/dev/xvda";
- };
-
- cpus {
- #address-cells = <1>;
- #size-cells = <0>;
-
- cpu@0 {
- device_type = "cpu";
- compatible = "arm,cortex-a15";
- reg = <0>;
- };
-
- cpu@1 {
- device_type = "cpu";
- compatible = "arm,cortex-a15";
- reg = <1>;
- };
- };
-
- psci {
- compatible = "arm,psci";
- method = "hvc";
- cpu_off = <1>;
- cpu_on = <2>;
- };
-
- memory@80000000 {
- device_type = "memory";
- /* this field is going to be adjusted by the hypervisor */
- reg = <0 0x80000000 0 0x08000000>;
- };
-
- gic: interrupt-controller@2c001000 {
- compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
- #interrupt-cells = <3>;
- #address-cells = <0>;
- interrupt-controller;
- reg = <0 0x2c001000 0 0x1000>,
- <0 0x2c002000 0 0x100>;
- };
-
- timer {
- compatible = "arm,armv7-timer";
- interrupts = <1 13 0xf08>,
- <1 14 0xf08>,
- <1 11 0xf08>,
- <1 10 0xf08>;
- };
-
- hypervisor {
- compatible = "xen,xen-4.2", "xen,xen";
- /* this field is going to be adjusted by the hypervisor */
- reg = <0 0xb0000000 0 0x20000>;
- /* this field is going to be adjusted by the hypervisor */
- interrupts = <1 15 0xf08>;
- };
-
- motherboard {
- arm,v2m-memory-map = "rs1";
- };
-};
--
1.7.10.4
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH] arm: document "mach-virt" platform.
2014-01-30 16:11 [PATCH] arm: document "mach-virt" platform Ian Campbell
@ 2014-01-30 17:13 ` Marc Zyngier
[not found] ` <52EA8853.8080709-5wv7dgnIgG8@public.gmane.org>
[not found] ` <1391098262-15944-1-git-send-email-ian.campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
2014-02-03 4:54 ` Christoffer Dall
2 siblings, 1 reply; 18+ messages in thread
From: Marc Zyngier @ 2014-01-30 17:13 UTC (permalink / raw)
To: Ian Campbell
Cc: linux-kernel@vger.kernel.org, Rob Herring, Pawel Moll,
Mark Rutland, Kumar Gala, Olof Johansson, Arnd Bergmann,
Will Deacon, Stefano Stabellini, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Hi Ian,
On 30/01/14 16:11, Ian Campbell wrote:
> mach-virt has existed for a while but it is not written down what it actually
> consists of. Although it seems a bit unusual to document a binding for an
> entire platform since mach-virt is entirely virtual it is helpful to have
> something to refer to in the absence of a single concrete implementation.
>
> I've done my best to capture the requirements based on the git log and my
> memory/understanding.
>
> While here remove the xenvm dts example, the Xen tools will now build a
> suitable mach-virt compatible dts when launching the guest.
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Pawel Moll <pawel.moll@arm.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Kumar Gala <galak@codeaurora.org>
> Cc: Olof Johansson <olof@lixom.net>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Marc Zyngier <marc.zyngier@arm.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Cc: devicetree@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> ---
> I'm not sure which tree this sort of thing should go though, sorry for the
> huge Cc.
> ---
> .../devicetree/bindings/arm/mach-virt.txt | 32 ++++++++
> arch/arm/boot/dts/xenvm-4.2.dts | 81 --------------------
> 2 files changed, 32 insertions(+), 81 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/arm/mach-virt.txt
> delete mode 100644 arch/arm/boot/dts/xenvm-4.2.dts
>
> diff --git a/Documentation/devicetree/bindings/arm/mach-virt.txt b/Documentation/devicetree/bindings/arm/mach-virt.txt
> new file mode 100644
> index 0000000..562bcda
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/mach-virt.txt
> @@ -0,0 +1,32 @@
> +* Mach-virt "Dummy Virtual Machine" platform
> +
> +"mach-virt" is the smallest, dumbest platform possible, to be used as
> +a guest for Xen, KVM and other hypervisors. It has no
> +properties/functionality of its own and is driven entirely by device
> +tree.
> +
> +This document defines the requirements for such a platform.
> +
> +* Required properties:
> +
> +- compatible: should be one of:
> + "linux,dummy-virt"
> + "xen,xenvm"
> +
> +In addition to the standard nodes (chosen, cpus, memory etc) the
> +platform is required to provide certain other basic functionality
> +which must be described in the device tree:
> +
> + The platform must provide an ARM Generic Interrupt Controller
> + (GIC), defined in Documentation/devicetree/bindings/arm/gic.txt.
> +
> + The platform must provide ARM architected timer, defined in
> + Documentation/devicetree/bindings/arm/arch_timer.txt.
> +
> + If the platform is SMP then it must provide the Power State
> + Coordination Interface (PSCI) described in
> + Documentation/devicetree/bindings/arm/psci.txt.
I'm afraid I disagree with most of the above. The whole point of
mach-virt is to provide a shell for DT platforms. None of this hardware
is mandated. Instead, all the necessary information should be described
in DT.
Actually, mach-virt doesn't really stand for Virtual Machine. It stands
for virtual mach-* directory! Eventually, mach-virt should become the
default platform, the one we use when we don't match anything else in
the kernel
What you've described here are requirements for a hypervisor like Xen or
KVM. mach-virt itself shouldn't have any of that.
Cheers,
M.
--
Jazz is not dead. It just smells funny...
^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <1391098262-15944-1-git-send-email-ian.campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH] arm: document "mach-virt" platform.
[not found] ` <1391098262-15944-1-git-send-email-ian.campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
@ 2014-01-30 16:54 ` Christopher Covington
2014-01-30 17:15 ` Ian Campbell
[not found] ` <52EA83D6.9050506-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2014-01-30 17:28 ` Arnd Bergmann
1 sibling, 2 replies; 18+ messages in thread
From: Christopher Covington @ 2014-01-30 16:54 UTC (permalink / raw)
To: Ian Campbell
Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA, Mark Rutland,
devicetree-u79uwXL29TY76Z2rM5mHXA, Pawel Moll, Stefano Stabellini,
Marc Zyngier, Will Deacon, Rob Herring, Arnd Bergmann, Kumar Gala,
Olof Johansson, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Hi Ian,
On 01/30/2014 11:11 AM, Ian Campbell wrote:
> mach-virt has existed for a while but it is not written down what it actually
> consists of. Although it seems a bit unusual to document a binding for an
> entire platform since mach-virt is entirely virtual it is helpful to have
> something to refer to in the absence of a single concrete implementation.
>
> I've done my best to capture the requirements based on the git log and my
> memory/understanding.
>
> While here remove the xenvm dts example, the Xen tools will now build a
> suitable mach-virt compatible dts when launching the guest.
[...]
> +++ b/Documentation/devicetree/bindings/arm/mach-virt.txt
> @@ -0,0 +1,32 @@
> +* Mach-virt "Dummy Virtual Machine" platform
> +
> +"mach-virt" is the smallest, dumbest platform possible, to be used as
> +a guest for Xen, KVM and other hypervisors.
The platform is also useful to, and used by, simulators like QEMU in TCG mode.
> It has no
> +properties/functionality of its own and is driven entirely by device
> +tree.
I find this wording confusing. I read it as saying the platform has no
properties or functionality. Perhaps you could phrase it slightly differently,
such as having no properties or functionality beyond what's described in the
device tree.
> +This document defines the requirements for such a platform.
> +
> +* Required properties:
> +
> +- compatible: should be one of:
> + "linux,dummy-virt"
> + "xen,xenvm"
> +
> +In addition to the standard nodes (chosen, cpus, memory etc) the
> +platform is required to provide certain other basic functionality
> +which must be described in the device tree:
> +
> + The platform must provide an ARM Generic Interrupt Controller
> + (GIC), defined in Documentation/devicetree/bindings/arm/gic.txt.
> +
> + The platform must provide ARM architected timer, defined in
> + Documentation/devicetree/bindings/arm/arch_timer.txt.
> +
> + If the platform is SMP then it must provide the Power State
> + Coordination Interface (PSCI) described in
> + Documentation/devicetree/bindings/arm/psci.txt.
> +
> +The platform may also provide hypervisor specific functionality
> +(e.g. PV I/O), if it does so then this functionality must be
> +discoverable (directly or indirectly) via device tree.
I think it would be informative to provide pointers here to commonly used
paravirtualized devices, especially VirtIO PCI/MMIO.
Thanks,
Christopher
--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by the Linux Foundation.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH] arm: document "mach-virt" platform.
2014-01-30 16:54 ` Christopher Covington
@ 2014-01-30 17:15 ` Ian Campbell
[not found] ` <1391102149.9495.39.camel-ommiHX4a84BXesXXhkcM7miJhflN2719@public.gmane.org>
[not found] ` <52EA83D6.9050506-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
1 sibling, 1 reply; 18+ messages in thread
From: Ian Campbell @ 2014-01-30 17:15 UTC (permalink / raw)
To: Christopher Covington
Cc: linux-kernel, Mark Rutland, devicetree, Pawel Moll,
Stefano Stabellini, Marc Zyngier, Will Deacon, Rob Herring,
Arnd Bergmann, Kumar Gala, Olof Johansson, linux-arm-kernel
On Thu, 2014-01-30 at 11:54 -0500, Christopher Covington wrote:
> > +++ b/Documentation/devicetree/bindings/arm/mach-virt.txt
> > @@ -0,0 +1,32 @@
> > +* Mach-virt "Dummy Virtual Machine" platform
> > +
> > +"mach-virt" is the smallest, dumbest platform possible, to be used as
> > +a guest for Xen, KVM and other hypervisors.
>
> The platform is also useful to, and used by, simulators like QEMU in TCG mode.
I can mention this, although I don't think the list needs to be
exhaustive.
It has no
> > +properties/functionality of its own and is driven entirely by device
> > +tree.
>
> I find this wording confusing. I read it as saying the platform has no
> properties or functionality. Perhaps you could phrase it slightly differently,
> such as having no properties or functionality beyond what's described in the
> device tree.
Yes, this is what I was trying to say, I'll update with something along
those lines.
> > +The platform may also provide hypervisor specific functionality
> > +(e.g. PV I/O), if it does so then this functionality must be
> > +discoverable (directly or indirectly) via device tree.
>
> I think it would be informative to provide pointers here to commonly used
> paravirtualized devices, especially VirtIO PCI/MMIO.
Under what criteria would something be eligible/appropriate to be
listed? I was trying to avoid "advocating" any particular type of PV
devices. We already have something of a problem with people incorrectly
assuming that mach-virt == virtio, which is not the case.
If we did want to include an explicit list here at a minimum I would
also want to include the Xen PV devices as well and surely there would
be others which ought to be included too.
Ian.
^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <52EA83D6.9050506-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>]
* Re: [PATCH] arm: document "mach-virt" platform.
[not found] ` <52EA83D6.9050506-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
@ 2014-01-30 17:12 ` Stefano Stabellini
2014-02-03 4:56 ` Christoffer Dall
1 sibling, 0 replies; 18+ messages in thread
From: Stefano Stabellini @ 2014-01-30 17:12 UTC (permalink / raw)
To: Christopher Covington
Cc: Ian Campbell, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Mark Rutland,
devicetree-u79uwXL29TY76Z2rM5mHXA, Pawel Moll, Stefano Stabellini,
Marc Zyngier, Will Deacon, Rob Herring, Arnd Bergmann, Kumar Gala,
Olof Johansson, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
On Thu, 30 Jan 2014, Christopher Covington wrote:
> Hi Ian,
>
> On 01/30/2014 11:11 AM, Ian Campbell wrote:
> > mach-virt has existed for a while but it is not written down what it actually
> > consists of. Although it seems a bit unusual to document a binding for an
> > entire platform since mach-virt is entirely virtual it is helpful to have
> > something to refer to in the absence of a single concrete implementation.
> >
> > I've done my best to capture the requirements based on the git log and my
> > memory/understanding.
> >
> > While here remove the xenvm dts example, the Xen tools will now build a
> > suitable mach-virt compatible dts when launching the guest.
>
> [...]
>
> > +++ b/Documentation/devicetree/bindings/arm/mach-virt.txt
> > @@ -0,0 +1,32 @@
> > +* Mach-virt "Dummy Virtual Machine" platform
> > +
> > +"mach-virt" is the smallest, dumbest platform possible, to be used as
> > +a guest for Xen, KVM and other hypervisors.
>
> The platform is also useful to, and used by, simulators like QEMU in TCG mode.
>
> > It has no
> > +properties/functionality of its own and is driven entirely by device
> > +tree.
>
> I find this wording confusing. I read it as saying the platform has no
> properties or functionality. Perhaps you could phrase it slightly differently,
> such as having no properties or functionality beyond what's described in the
> device tree.
Right, something like making no assumptions on the presence of devices
or hardware interfaces beyond what is described on device tree.
> > +This document defines the requirements for such a platform.
> > +
> > +* Required properties:
> > +
> > +- compatible: should be one of:
> > + "linux,dummy-virt"
> > + "xen,xenvm"
> > +
> > +In addition to the standard nodes (chosen, cpus, memory etc) the
> > +platform is required to provide certain other basic functionality
> > +which must be described in the device tree:
> > +
> > + The platform must provide an ARM Generic Interrupt Controller
> > + (GIC), defined in Documentation/devicetree/bindings/arm/gic.txt.
> > +
> > + The platform must provide ARM architected timer, defined in
> > + Documentation/devicetree/bindings/arm/arch_timer.txt.
> > +
> > + If the platform is SMP then it must provide the Power State
> > + Coordination Interface (PSCI) described in
> > + Documentation/devicetree/bindings/arm/psci.txt.
> > +
> > +The platform may also provide hypervisor specific functionality
> > +(e.g. PV I/O), if it does so then this functionality must be
> > +discoverable (directly or indirectly) via device tree.
>
> I think it would be informative to provide pointers here to commonly used
> paravirtualized devices, especially VirtIO PCI/MMIO.
In that case I would appreciate a link to the Xen hypervisor node:
Documentation/devicetree/bindings/arm/xen.txt
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH] arm: document "mach-virt" platform.
[not found] ` <52EA83D6.9050506-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2014-01-30 17:12 ` Stefano Stabellini
@ 2014-02-03 4:56 ` Christoffer Dall
2014-02-03 11:14 ` Ian Campbell
2014-02-03 13:46 ` Christopher Covington
1 sibling, 2 replies; 18+ messages in thread
From: Christoffer Dall @ 2014-02-03 4:56 UTC (permalink / raw)
To: Christopher Covington
Cc: Ian Campbell, Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA,
Arnd Bergmann, Pawel Moll, Stefano Stabellini, Marc Zyngier,
Will Deacon, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Rob Herring,
Kumar Gala, Olof Johansson,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
On Thu, Jan 30, 2014 at 11:54:46AM -0500, Christopher Covington wrote:
> Hi Ian,
>
> On 01/30/2014 11:11 AM, Ian Campbell wrote:
> > mach-virt has existed for a while but it is not written down what it actually
> > consists of. Although it seems a bit unusual to document a binding for an
> > entire platform since mach-virt is entirely virtual it is helpful to have
> > something to refer to in the absence of a single concrete implementation.
> >
> > I've done my best to capture the requirements based on the git log and my
> > memory/understanding.
> >
> > While here remove the xenvm dts example, the Xen tools will now build a
> > suitable mach-virt compatible dts when launching the guest.
>
[...]
> > +The platform may also provide hypervisor specific functionality
> > +(e.g. PV I/O), if it does so then this functionality must be
> > +discoverable (directly or indirectly) via device tree.
>
> I think it would be informative to provide pointers here to commonly used
> paravirtualized devices, especially VirtIO PCI/MMIO.
>
I disagree: that would only encourage limited testing or assumptions
about these specific devices when really this platform is just a
bare-bones platform driven by device tree which should make no
preference, whatsoever, about which devices are used with the platform.
-Christoffer
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH] arm: document "mach-virt" platform.
2014-02-03 4:56 ` Christoffer Dall
@ 2014-02-03 11:14 ` Ian Campbell
2014-02-03 13:46 ` Christopher Covington
1 sibling, 0 replies; 18+ messages in thread
From: Ian Campbell @ 2014-02-03 11:14 UTC (permalink / raw)
To: Christoffer Dall
Cc: Christopher Covington, Mark Rutland, devicetree, Arnd Bergmann,
Pawel Moll, Stefano Stabellini, Marc Zyngier, Will Deacon,
linux-kernel, Rob Herring, Kumar Gala, Olof Johansson,
linux-arm-kernel
On Sun, 2014-02-02 at 20:56 -0800, Christoffer Dall wrote:
> On Thu, Jan 30, 2014 at 11:54:46AM -0500, Christopher Covington wrote:
> > Hi Ian,
> >
> > On 01/30/2014 11:11 AM, Ian Campbell wrote:
> > > mach-virt has existed for a while but it is not written down what it actually
> > > consists of. Although it seems a bit unusual to document a binding for an
> > > entire platform since mach-virt is entirely virtual it is helpful to have
> > > something to refer to in the absence of a single concrete implementation.
> > >
> > > I've done my best to capture the requirements based on the git log and my
> > > memory/understanding.
> > >
> > > While here remove the xenvm dts example, the Xen tools will now build a
> > > suitable mach-virt compatible dts when launching the guest.
> >
>
> [...]
>
> > > +The platform may also provide hypervisor specific functionality
> > > +(e.g. PV I/O), if it does so then this functionality must be
> > > +discoverable (directly or indirectly) via device tree.
> >
> > I think it would be informative to provide pointers here to commonly used
> > paravirtualized devices, especially VirtIO PCI/MMIO.
> >
>
> I disagree: that would only encourage limited testing or assumptions
> about these specific devices when really this platform is just a
> bare-bones platform driven by device tree which should make no
> preference, whatsoever, about which devices are used with the platform.
Thanks, I think this is exactly what I was failing to express coherently
last week ;-)
Ian.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH] arm: document "mach-virt" platform.
2014-02-03 4:56 ` Christoffer Dall
2014-02-03 11:14 ` Ian Campbell
@ 2014-02-03 13:46 ` Christopher Covington
[not found] ` <52EF9D9F.5020600-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
1 sibling, 1 reply; 18+ messages in thread
From: Christopher Covington @ 2014-02-03 13:46 UTC (permalink / raw)
To: Christoffer Dall
Cc: Ian Campbell, Mark Rutland, devicetree, Arnd Bergmann, Pawel Moll,
Stefano Stabellini, Marc Zyngier, Will Deacon, linux-kernel,
Rob Herring, Kumar Gala, Olof Johansson, linux-arm-kernel
Hi Christoffer,
On 02/02/2014 11:56 PM, Christoffer Dall wrote:
> On Thu, Jan 30, 2014 at 11:54:46AM -0500, Christopher Covington wrote:
>> I think it would be informative to provide pointers here to commonly used
>> paravirtualized devices, especially VirtIO PCI/MMIO.
>
> I disagree: that would only encourage limited testing or assumptions
> about these specific devices when really this platform is just a
> bare-bones platform driven by device tree which should make no
> preference, whatsoever, about which devices are used with the platform.
I'd be all for clearly stating that no assumptions can be made. Perhaps you
can explain though how providing less documentation will result in more
testing? The assertion does not currently make sense to me.
Thanks,
Christopher
--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by the Linux Foundation.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH] arm: document "mach-virt" platform.
[not found] ` <1391098262-15944-1-git-send-email-ian.campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
2014-01-30 16:54 ` Christopher Covington
@ 2014-01-30 17:28 ` Arnd Bergmann
[not found] ` <201401301828.59294.arnd-r2nGTMty4D4@public.gmane.org>
2014-01-30 17:33 ` Ian Campbell
1 sibling, 2 replies; 18+ messages in thread
From: Arnd Bergmann @ 2014-01-30 17:28 UTC (permalink / raw)
To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: Ian Campbell, linux-kernel-u79uwXL29TY76Z2rM5mHXA, Mark Rutland,
devicetree-u79uwXL29TY76Z2rM5mHXA, Pawel Moll, Stefano Stabellini,
Marc Zyngier, Will Deacon, Rob Herring, Kumar Gala,
Olof Johansson
On Thursday 30 January 2014, Ian Campbell wrote:
> mach-virt has existed for a while but it is not written down what it actually
> consists of. Although it seems a bit unusual to document a binding for an
> entire platform since mach-virt is entirely virtual it is helpful to have
> something to refer to in the absence of a single concrete implementation.
>
> I've done my best to capture the requirements based on the git log and my
> memory/understanding.
>
> While here remove the xenvm dts example, the Xen tools will now build a
> suitable mach-virt compatible dts when launching the guest.
It might be worth noting in the changeset comment that the 'compatible'
string is actually no longer needed on newer kernels: All the members
of the machine descriptor are now the defaults (we should remove the
virt_init() function as well), and the fallback machine descriptor should
work just fine if any other string gets passed.
Arnd
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <201401301828.59294.arnd-r2nGTMty4D4@public.gmane.org>]
* Re: [PATCH] arm: document "mach-virt" platform.
[not found] ` <201401301828.59294.arnd-r2nGTMty4D4@public.gmane.org>
@ 2014-01-30 17:33 ` Marc Zyngier
[not found] ` <52EA8CFE.7020404-5wv7dgnIgG8@public.gmane.org>
0 siblings, 1 reply; 18+ messages in thread
From: Marc Zyngier @ 2014-01-30 17:33 UTC (permalink / raw)
To: Arnd Bergmann
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Ian Campbell,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Pawel Moll, Stefano Stabellini, Will Deacon, Rob Herring,
Kumar Gala, Olof Johansson
On 30/01/14 17:28, Arnd Bergmann wrote:
> On Thursday 30 January 2014, Ian Campbell wrote:
>> mach-virt has existed for a while but it is not written down what it actually
>> consists of. Although it seems a bit unusual to document a binding for an
>> entire platform since mach-virt is entirely virtual it is helpful to have
>> something to refer to in the absence of a single concrete implementation.
>>
>> I've done my best to capture the requirements based on the git log and my
>> memory/understanding.
>>
>> While here remove the xenvm dts example, the Xen tools will now build a
>> suitable mach-virt compatible dts when launching the guest.
>
> It might be worth noting in the changeset comment that the 'compatible'
> string is actually no longer needed on newer kernels: All the members
> of the machine descriptor are now the defaults (we should remove the
> virt_init() function as well), and the fallback machine descriptor should
> work just fine if any other string gets passed.
I will ack the patch that removes the mach-virt directory altogether!
M.
--
Jazz is not dead. It just smells funny...
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH] arm: document "mach-virt" platform.
2014-01-30 17:28 ` Arnd Bergmann
[not found] ` <201401301828.59294.arnd-r2nGTMty4D4@public.gmane.org>
@ 2014-01-30 17:33 ` Ian Campbell
1 sibling, 0 replies; 18+ messages in thread
From: Ian Campbell @ 2014-01-30 17:33 UTC (permalink / raw)
To: Arnd Bergmann
Cc: linux-arm-kernel, linux-kernel, Mark Rutland, devicetree,
Pawel Moll, Stefano Stabellini, Marc Zyngier, Will Deacon,
Rob Herring, Kumar Gala, Olof Johansson
On Thu, 2014-01-30 at 18:28 +0100, Arnd Bergmann wrote:
> On Thursday 30 January 2014, Ian Campbell wrote:
> > mach-virt has existed for a while but it is not written down what it actually
> > consists of. Although it seems a bit unusual to document a binding for an
> > entire platform since mach-virt is entirely virtual it is helpful to have
> > something to refer to in the absence of a single concrete implementation.
> >
> > I've done my best to capture the requirements based on the git log and my
> > memory/understanding.
> >
> > While here remove the xenvm dts example, the Xen tools will now build a
> > suitable mach-virt compatible dts when launching the guest.
>
> It might be worth noting in the changeset comment that the 'compatible'
> string is actually no longer needed on newer kernels: All the members
> of the machine descriptor are now the defaults (we should remove the
> virt_init() function as well), and the fallback machine descriptor should
> work just fine if any other string gets passed.
So Marc's plan has actually happened. Neat. In that case is there even
any point in listing explicit compatiblity strings (except perhaps as a
historical note) -- I can just say that this is the fallback/default
machine?
I'll leave the virt_init change to a separate patch if that's ok.
Ian.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH] arm: document "mach-virt" platform.
2014-01-30 16:11 [PATCH] arm: document "mach-virt" platform Ian Campbell
2014-01-30 17:13 ` Marc Zyngier
[not found] ` <1391098262-15944-1-git-send-email-ian.campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
@ 2014-02-03 4:54 ` Christoffer Dall
2 siblings, 0 replies; 18+ messages in thread
From: Christoffer Dall @ 2014-02-03 4:54 UTC (permalink / raw)
To: Ian Campbell
Cc: linux-kernel, Mark Rutland, devicetree, Pawel Moll,
Stefano Stabellini, Marc Zyngier, Will Deacon, Rob Herring,
Arnd Bergmann, Kumar Gala, Olof Johansson, linux-arm-kernel
On Thu, Jan 30, 2014 at 04:11:02PM +0000, Ian Campbell wrote:
> mach-virt has existed for a while but it is not written down what it actually
> consists of. Although it seems a bit unusual to document a binding for an
> entire platform since mach-virt is entirely virtual it is helpful to have
> something to refer to in the absence of a single concrete implementation.
>
> I've done my best to capture the requirements based on the git log and my
> memory/understanding.
[...]
>
> +
> +The platform may also provide hypervisor specific functionality
> +(e.g. PV I/O), if it does so then this functionality must be
> +discoverable (directly or indirectly) via device tree.
While this is obviously true, I'm not sure I see the value of this text.
Isn't it more essential to just say that *any* functionality provided to
the platform must be discoverable via device tree?
-Christoffer
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2014-02-03 17:41 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-30 16:11 [PATCH] arm: document "mach-virt" platform Ian Campbell
2014-01-30 17:13 ` Marc Zyngier
[not found] ` <52EA8853.8080709-5wv7dgnIgG8@public.gmane.org>
2014-01-30 17:21 ` Ian Campbell
[not found] ` <1391102475.9495.44.camel-ommiHX4a84BXesXXhkcM7miJhflN2719@public.gmane.org>
2014-01-30 17:24 ` Marc Zyngier
2014-01-30 17:29 ` Ian Campbell
[not found] ` <1391098262-15944-1-git-send-email-ian.campbell-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
2014-01-30 16:54 ` Christopher Covington
2014-01-30 17:15 ` Ian Campbell
[not found] ` <1391102149.9495.39.camel-ommiHX4a84BXesXXhkcM7miJhflN2719@public.gmane.org>
2014-01-30 17:43 ` Christopher Covington
[not found] ` <52EA83D6.9050506-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2014-01-30 17:12 ` Stefano Stabellini
2014-02-03 4:56 ` Christoffer Dall
2014-02-03 11:14 ` Ian Campbell
2014-02-03 13:46 ` Christopher Covington
[not found] ` <52EF9D9F.5020600-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2014-02-03 17:41 ` Christoffer Dall
2014-01-30 17:28 ` Arnd Bergmann
[not found] ` <201401301828.59294.arnd-r2nGTMty4D4@public.gmane.org>
2014-01-30 17:33 ` Marc Zyngier
[not found] ` <52EA8CFE.7020404-5wv7dgnIgG8@public.gmane.org>
2014-01-31 17:48 ` Rob Herring
2014-01-30 17:33 ` Ian Campbell
2014-02-03 4:54 ` Christoffer Dall
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).