There are some unsolving issues on current 4.17 static shared memory
feature[1], including:
- In order to avoid keeping growing 'membank', having the shared memory
regions in a separate array is preferred. And shared memory region should
have its own structure which would contain a pointer/index to the 'membank'.
- Missing implementation on having the host address optional in
"xen,shared-mem" property
- Missing "xen,offset" feature, which is introduced in Linux DOC[2]
After fixing all above issues, we'd like to make 'UNSUPPORTED' static
shared memory feature 'SUPPORTED'.
[1] https://lore.kernel.org/all/20220908135513.1800511-1-Penny.Zheng@arm.com/
[2] https://www.kernel.org/doc/Documentation/devicetree/bindings/reserved-memory/xen%2Cshared-memory.txt
Penny Zheng (13):
xen/arm: re-arrange the static shared memory region
xen/arm: switch to use shm_membank as function parameter
xen/arm: introduce allocate_domheap_memory and guest_physmap_memory
xen/arm: expand shm_membank for unprovided host address
xen/arm: allocate shared memory from heap when host address not
provided
xen/arm: assign shared memory to owner when host address not provided
xen/arm: map shared memory to borrower when host address not provided
xen/arm: use paddr_assigned to indicate whether host address is
provided
xen/arm: refine docs about static shared memory
xen/arm: introduce "xen,offset" feature
xen/arm: implement "xen,offset" feature when host address provided
xen/arm: implement "xen,offset" feature when host address not provided
xen: make static shared memory supported in SUPPORT.md
SUPPORT.md | 2 +-
docs/misc/arm/device-tree/booting.txt | 67 ++-
xen/arch/arm/Kconfig | 2 +-
xen/arch/arm/bootfdt.c | 137 ++++--
xen/arch/arm/domain_build.c | 614 +++++++++++++++++++++-----
xen/arch/arm/include/asm/kernel.h | 2 +-
xen/arch/arm/include/asm/setup.h | 31 +-
7 files changed, 685 insertions(+), 170 deletions(-)
--
2.25.1