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

[PATCH 00/10] Domain on Static Allocation


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>, <sstabellini@xxxxxxxxxx>, <julien@xxxxxxx>
  • From: Penny Zheng <penny.zheng@xxxxxxx>
  • Date: Tue, 18 May 2021 05:21:03 +0000
  • 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-SenderADCheck; bh=04Kt5IDhcODuyzlAcnmdKfPcs/5dhHEBgwMoFTW8ze0=; b=dAYEAuT9SeZOVqs0lh2UUP3MG5dlL8+cxQ2s/PJyZ7q2srEMabsn91JY8YpOFxpsmU01AzcPwcvaRX17zvh7go/Pd38THz9M1aRHkAl78Y2EOBcGY5cvtrAi5tUXys9IIDTLlVlHC4h4jh1EUF6SF3OvqLBy2FvnQ3KU7e5H7giVoRxRWn5A2OqkKcxk5mm9hcUKQs+NhFDN9qVPOnkn3rCJ4srWerSRm3M5lSistpCNy/6lqAQviFdi1oHYRs6aPm/fTvXJWjQR7M6xyIW0FW3A+S/uLzJ+Q/ys/pH+KS+Fz2M/tT5deZpQYvtDyQV+m3vD2bV/TVp3DuYYby9x7A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jy5VgMKCfjKFIBwgc53M7xtCEIqrqYt4MEfH6a4sWVwj5LfcFlFQ2guWLIs6AuDDFe55ko4bBO1lUUtOo5ax3lKicEswz/nsKmxZLLmYkzWJtxNjzKxjS3i8xHyjr8hoVO9DIvtSXYDDAyVUiD9zhcZZsEQcbHu4ynPIAeDNt7r5OZP/HCEBor85u7OHL92uT1HNGZIqAMwcitopUnHWy3gErrpaMtlBOdkZmq6pGePVAoaEgpmlrSfE/xVTvTNSRjCcPr5jTnaoGRf9Pa8G/aq5tCax1H7UTP1Y1tWvR+sO3drYGn8Dpap4TEKZmPabc2vS2ZYVarHTMbvZoBO1Mw==
  • Cc: <Bertrand.Marquis@xxxxxxx>, <Penny.Zheng@xxxxxxx>, <Wei.Chen@xxxxxxx>, <nd@xxxxxxx>
  • Delivery-date: Tue, 18 May 2021 05:22:02 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true

Static allocation refers to system or sub-system(domains) for which memory
areas are pre-defined by configuration using physical address ranges.
Those pre-defined memory, -- Static Momery, as parts of RAM reserved in the
beginning, shall never go to heap allocator or boot allocator for any use.

This Patch Serie only talks about Domain on Static Allocation.

Domain on Static Allocation is supported through device tree property
`xen,static-mem` specifying reserved RAM banks as this domain's guest RAM.
By default, they shall be mapped to the fixed guest RAM address
`GUEST_RAM0_BASE`, `GUEST_RAM1_BASE`.

Looking into related [design link](
https://lists.xenproject.org/archives/html/xen-devel/2021-05/msg00882.html)
for more details.

The whole design is about Static Allocation and 1:1 direct-map, and this
Patch Serie only covers parts of it, which are Domain on Static Allocation.
Other features will be delievered through different patch series.

Penny Zheng (10):
  xen/arm: introduce domain on Static Allocation
  xen/arm: handle static memory in dt_unreserved_regions
  xen/arm: introduce PGC_reserved
  xen/arm: static memory initialization
  xen/arm: introduce alloc_staticmem_pages
  xen: replace order with nr_pfns in assign_pages for better
    compatibility
  xen/arm: intruduce alloc_domstatic_pages
  xen/arm: introduce reserved_page_list
  xen/arm: parse `xen,static-mem` info during domain construction
  xen/arm: introduce allocate_static_memory

 docs/misc/arm/device-tree/booting.txt |  33 ++++
 xen/arch/arm/bootfdt.c                |  52 +++++++
 xen/arch/arm/domain_build.c           | 211 +++++++++++++++++++++++++-
 xen/arch/arm/setup.c                  |  41 ++++-
 xen/arch/x86/pv/dom0_build.c          |   2 +-
 xen/common/domain.c                   |   1 +
 xen/common/grant_table.c              |   2 +-
 xen/common/memory.c                   |   4 +-
 xen/common/page_alloc.c               | 210 +++++++++++++++++++++++--
 xen/include/asm-arm/domain.h          |   3 +
 xen/include/asm-arm/mm.h              |  16 +-
 xen/include/asm-arm/setup.h           |   2 +
 xen/include/xen/mm.h                  |   9 +-
 xen/include/xen/sched.h               |   5 +
 14 files changed, 564 insertions(+), 27 deletions(-)

-- 
2.25.1




 


Rackspace

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