Based on the discussion in the Xen Summit [1], sending this series out after
addressing the comments in v7 [2] as the preparation work to add MPU support.
The series passed the GitLab CI check in [3].
Mostly code movement and function folding, with some of Kconfig and build
system (mainly Makefiles) adjustment.
This series is based on:
bad1ac345b x86: support data operand independent timing mode
[1] https://lore.kernel.org/xen-devel/AS8PR08MB799122F8B0CB841DED64F4819226A@AS8PR08MB7991.eurprd08.prod.outlook.com/
[2] https://lore.kernel.org/xen-devel/20231009010313.3668423-1-Henry.Wang@arm.com/
[3] https://gitlab.com/xen-project/people/henryw/xen/-/pipelines/1045604579
Henry Wang (6):
xen/arm: Split page table related code to mmu/pt.c
xen/arm: Split MMU system SMP MM bringup code to mmu/smpboot.c
xen/arm: Fold mmu_init_secondary_cpu() to head.S
xen/arm: Extract MMU-specific MM code
xen/arm: Split MMU-specific setup_mm() and related code out
xen/arm: Fold pmap and fixmap into MMU system
Penny Zheng (2):
xen/arm: Rename init_secondary_pagetables() to prepare_secondary_mm()
xen/arm: mmu: move MMU specific P2M code to mmu/p2m.{c,h}
xen/arch/arm/Kconfig | 2 +-
xen/arch/arm/Makefile | 1 +
xen/arch/arm/arm32/Makefile | 1 +
xen/arch/arm/arm32/head.S | 22 +-
xen/arch/arm/arm32/mmu/Makefile | 1 +
xen/arch/arm/arm32/mmu/mm.c | 301 +++++
xen/arch/arm/arm64/Makefile | 1 -
xen/arch/arm/arm64/mmu/Makefile | 1 +
xen/arch/arm/arm64/mmu/head.S | 18 +-
xen/arch/arm/arm64/{ => mmu}/mm.c | 84 ++
xen/arch/arm/domain.c | 11 +-
xen/arch/arm/include/asm/mm.h | 32 +-
xen/arch/arm/include/asm/mmu/mm.h | 44 +
xen/arch/arm/include/asm/mmu/p2m.h | 26 +
xen/arch/arm/include/asm/p2m.h | 32 +-
xen/arch/arm/include/asm/page.h | 15 -
xen/arch/arm/include/asm/setup.h | 5 +
xen/arch/arm/kernel.c | 28 -
xen/arch/arm/mm.c | 1212 ------------------
xen/arch/arm/mmu/Makefile | 4 +
xen/arch/arm/mmu/p2m.c | 1834 ++++++++++++++++++++++++++
xen/arch/arm/mmu/pt.c | 736 +++++++++++
xen/arch/arm/mmu/setup.c | 376 ++++++
xen/arch/arm/mmu/smpboot.c | 124 ++
xen/arch/arm/p2m.c | 1909 +---------------------------
xen/arch/arm/setup.c | 324 +----
xen/arch/arm/smpboot.c | 4 +-
27 files changed, 3655 insertions(+), 3493 deletions(-)
create mode 100644 xen/arch/arm/arm32/mmu/Makefile
create mode 100644 xen/arch/arm/arm32/mmu/mm.c
rename xen/arch/arm/arm64/{ => mmu}/mm.c (60%)
create mode 100644 xen/arch/arm/include/asm/mmu/mm.h
create mode 100644 xen/arch/arm/include/asm/mmu/p2m.h
create mode 100644 xen/arch/arm/mmu/Makefile
create mode 100644 xen/arch/arm/mmu/p2m.c
create mode 100644 xen/arch/arm/mmu/pt.c
create mode 100644 xen/arch/arm/mmu/setup.c
create mode 100644 xen/arch/arm/mmu/smpboot.c
--
2.25.1