mbox series

[v9,0/8] xen/arm: Split MMU code as the prepration of MPU work

Message ID 20231116145032.1651305-1-Henry.Wang@arm.com (mailing list archive)
Headers show
Series xen/arm: Split MMU code as the prepration of MPU work | expand

Message

Henry Wang Nov. 16, 2023, 2:50 p.m. UTC
Based on the discussion in the Xen Summit [1], sending this series out after
addressing the comments in v8 [2] as the preparation work to add MPU support.

Mostly code movement and function folding, with some of Kconfig and build
system (mainly Makefiles) adjustment.

This series is based on:
6cd046c501 xen/arm: Enlarge identity map space to 10TB

[1] https://lore.kernel.org/xen-devel/AS8PR08MB799122F8B0CB841DED64F4819226A@AS8PR08MB7991.eurprd08.prod.outlook.com/
[2] https://lore.kernel.org/xen-devel/20231023021345.1731436-1-Henry.Wang@arm.com/

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      |   19 +-
 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, 3656 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 (61%)
 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

Comments

Julien Grall Nov. 20, 2023, 7:09 p.m. UTC | #1
Hi Henry,

On 16/11/2023 14:50, Henry Wang wrote:
> Based on the discussion in the Xen Summit [1], sending this series out after
> addressing the comments in v8 [2] as the preparation work to add MPU support.
> 
> Mostly code movement and function folding, with some of Kconfig and build
> system (mainly Makefiles) adjustment.
> 
> This series is based on:
> 6cd046c501 xen/arm: Enlarge identity map space to 10TB
> 
> [1] https://lore.kernel.org/xen-devel/AS8PR08MB799122F8B0CB841DED64F4819226A@AS8PR08MB7991.eurprd08.prod.outlook.com/
> [2] https://lore.kernel.org/xen-devel/20231023021345.1731436-1-Henry.Wang@arm.com/
> 
> 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}

I have committed the series. Thanks for the series. Looking forward to 
review the rest of the MPU support!

Cheers,
Henry Wang Nov. 21, 2023, 5:37 a.m. UTC | #2
Hi Julien,

> On Nov 21, 2023, at 03:09, Julien Grall <julien@xen.org> wrote:
> 
> Hi Henry,
> 
> On 16/11/2023 14:50, Henry Wang wrote:
>> Based on the discussion in the Xen Summit [1], sending this series out after
>> addressing the comments in v8 [2] as the preparation work to add MPU support.
>> Mostly code movement and function folding, with some of Kconfig and build
>> system (mainly Makefiles) adjustment.
>> This series is based on:
>> 6cd046c501 xen/arm: Enlarge identity map space to 10TB
>> [1] https://lore.kernel.org/xen-devel/AS8PR08MB799122F8B0CB841DED64F4819226A@AS8PR08MB7991.eurprd08.prod.outlook.com/
>> [2] https://lore.kernel.org/xen-devel/20231023021345.1731436-1-Henry.Wang@arm.com/
>> 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}
> 
> I have committed the series. Thanks for the series. Looking forward to review the rest of the MPU support!

Thanks for committing the series. We will rebase the MPU series on top of latest staging, address the
remaining comments from you and send the updated series soon.

Kind regards,
Henry

> 
> Cheers,
> 
> -- 
> Julien Grall