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

[PATCH v1 00/13] Static shared memory on dom0less system


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Penny Zheng <Penny.Zheng@xxxxxxx>
  • Date: Fri, 11 Mar 2022 14:11:10 +0800
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wYrJwC7mNWpHkKnyQLyh0ZZfxbUzI1fqragYXrD7bOc=; b=VFCoGx/RYMAGLxkIfkc4euT28HZppzOkw8G+3hjc8DERMYZsfpS7buRKT1F3oTdR2z0CdYxKa8Qyn6DvLa+9oAkKhPJuWSp+FnwGH+J1XTvzGPkF1dgC4iuOG0oWNcgbiLwQ1zd8Vw6uGo/CcYvlKkePZe2wfpo+UBSNtOdKUW0OXGVENJQ70f3e26lPGggNAfxoGnVw4tYF5fonqFHmC1DkfxSo6LvYVYxncPJzTTpi6WpMofs/RZJhZK9vNEoPm7kLNJhUBc2/j68WbIbOp4b3kzeJcpVtpj0Pii/ZBvLEXEBvtmIdIeqWeAIHmaQYkbDA0w7S0OuryGqnONY5pA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=davKaJ5dn+BBwP/ZUMmxRAgGt6p01FLVTo/byok1d9ep4bHkJ/YFZuDYgEgz+Q+B3LpniU8ZpltaCIYBsn1AN7ymwOcw5yDTYW+3eZuxvgPKqnqK/q/MG/QjSJcT4ZznB3bUJwvQ+fAioDf3348P/ZaEOAxXssLOl2A6gRe6W7YyKXR7Cci0lVIGOmiPd+7lUnK9l1fa3Hvoi8EU6I82IbXHb3nqTU4GouJT4uhIxfSo4uJQiP5cD+Pl+pKeRkceu/VKQguvMeeofLC3Ad5+5H/klxr0YqjLPT5sKndsAYnJWQGG3s5PgYVW7Eeh3rVuBsuP4HKn6aqZX0W4dSlOWA==
  • Cc: <nd@xxxxxxx>, Penny Zheng <Penny.Zheng@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Fri, 11 Mar 2022 06:12:54 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true

The static shared memory device tree nodes allow users to statically set up
shared memory on dom0less system, enabling domains to do shm-based
communication.

The new feature is driven by the need of finding a way to build up
communication channels on dom0less system, since the legacy ways including
grant table, etc are all absent there.

It was inspired by the patch serie of ["xl/libxl-based shared mem](
https://marc.info/?l=xen-devel&m=154404821731186ory";).

Looking into related [design link](
https://lore.kernel.org/all/a50d9fde-1d06-7cda-2779-9eea9e1c0134@xxxxxxx/T/)
for more details.

Penny Zheng (13):
  xen/arm: introduce static shared memory
  xen/arm: introduce a special domain DOMID_SHARED
  xen/arm: allocate static shared memory to dom_shared
  xen/arm: add P2M type parameter in guest_physmap_add_pages
  xen/arm: introduce get_pages_from_gfn
  xen/arm: set up shared memory foreign mapping for borrower domain
  xen/arm: create shared memory nodes in guest device tree
  xen/arm: destroy static shared memory when de-construct domain
  xen/arm: enable statically shared memory on Dom0
  xen/arm: allocate static shared memory to a specific owner domain
  xen/arm: store shm-info for deferred foreign memory map
  xen/arm: defer foreign memory map in shm_init_late
  xen/arm: unmap foreign memory mapping when destroyed domain is owner
    domain

 docs/misc/arm/device-tree/booting.txt | 118 +++++++
 xen/arch/arm/Kconfig                  |   7 +
 xen/arch/arm/bootfdt.c                |  52 +++
 xen/arch/arm/domain.c                 | 117 ++++++-
 xen/arch/arm/domain_build.c           | 445 +++++++++++++++++++++++++-
 xen/arch/arm/include/asm/domain.h     |  33 ++
 xen/arch/arm/include/asm/p2m.h        |  42 ++-
 xen/arch/arm/include/asm/setup.h      |   3 +
 xen/arch/arm/setup.c                  |  28 ++
 xen/common/domain.c                   |  11 +-
 xen/common/page_alloc.c               |   5 +
 xen/common/vsprintf.c                 |   9 +-
 xen/include/public/xen.h              |   6 +
 xen/include/xen/sched.h               |   2 +
 14 files changed, 864 insertions(+), 14 deletions(-)

-- 
2.25.1




 


Rackspace

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