[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3] devicetree, xen: add xen, shared-memory binding


On 10/24/18 2:18 AM, Stefano Stabellini wrote:
From: Stefano Stabellini <stefanos@xxxxxxxxxx>

Introduce a device tree binding for Xen reserved-memory regions. They
are used to share memory across VMs from the VM config files. (See
static_shm config option.)

Signed-off-by: Stefano Stabellini <stefanos@xxxxxxxxxx>
Cc: julien.grall@xxxxxxx
Changes in v3:
- remove fallback version

Changes in v2:
- fix Author line
- add versioning
- xen,id instead of id
  .../bindings/reserved-memory/xen,shared-memory.txt   | 20 ++++++++++++++++++++
  1 file changed, 20 insertions(+)
  create mode 100644 

diff --git 
new file mode 100644
index 0000000..7c81683
--- /dev/null
+++ b/Documentation/devicetree/bindings/reserved-memory/xen,shared-memory.txt
@@ -0,0 +1,20 @@
+* Xen hypervisor reserved-memory binding
+Expose one or more memory regions as reserved-memory to the guest
+virtual machine. Typically, a region is configured at VM creation time
+to be a shared memory area across multiple virtual machines for
+communication among them.

I may have notice some issue with this binding. Looking at the design document [1], the "master" domain may provide a big backing region that would be split and share with multiple "slave".

For the "master" domain, this binding would specify the full backing region. The "master" OS would not be able to know how the region would be used here.

For the "slave" domain, it looks like it might be possible to map the same region (so same ID) twice. So we would end up to create the same bindings twice.

Any opionion on how we should proceed with these two use cases?

+For each of these pre-shared memory regions, a range is exposed under
+the /reserved-memory node as a child node. Each range sub-node is named
+xen-shmem@<address> and has the following properties:
+- compatible:
+       compatible = "xen,shared-memory-v1"
+- reg:
+       the base guest physical address and size of the shared memory region
+- xen,id:
+       a string that identifies the shared memory region as specified in
+       the VM config file


[1] https://lists.xen.org/archives/html/xen-devel/2018-10/msg00730.html

Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.