[Xen-devel,00/27] xen/arm: Memory subsystem clean-up

Message ID 20170814142418.13267-1-julien.grall@arm.com
Headers show
Series
  • xen/arm: Memory subsystem clean-up
Related show

Message

Julien Grall Aug. 14, 2017, 2:23 p.m.
Hi all,

This patch series contains clean-up for the ARM Memory subsystem in
preparation of reworking the page tables handling.

A branch with the patches can be found on xenbits:

https://xenbits.xen.org/git-http/people/julieng/xen-unstable.git
branch mm-cleanup-v1

Cheers,

Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Tim Deegan <tim@xen.org>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>


Julien Grall (27):
  xen/x86: numa: Don't check alloc_boot_pages return
  xen/x86: srat: Don't check alloc_boot_pages return
  xen/x86: mm: Don't check alloc_boot_pages return
  xen/mm: Move {G,M]FN <-> {G,M}ADDR helpers to common code
  xen/mm: Use typesafe MFN for alloc_boot_pages return
  xen/mm: Use __virt_to_mfn in map_domain_page instead of virt_to_mfn
  xen/arm: mm: Redefine mfn_to_virt to use typesafe
  xen/arm: hsr_iabt: Document RES0 field
  xen/arm: traps: Don't define FAR_EL2 for ARM32
  xen/arm: arm32: Don't define FAR_EL1
  xen/arm: Add FnV field in hsr_*abt
  xen/arm: Introduce hsr_xabt to gather common bits between hsr_dabt and
  xen/arm: traps: Introduce a helper to read the hypersivor fault
    register
  xen/arm: traps: Improve logging for data/prefetch abort fault
  xen/arm: Replace ioremap_attr(PAGE_HYPERVISOR_NOCACHE) call by
    ioremap_nocache
  xen/arm: page: Remove unused attributes DEV_NONSHARED and DEV_CACHED
  xen/arm: page: Use directly BUFFERABLE and drop DEV_WC
  xen/arm: page: Prefix memory types with MT_
  xen/arm: page: Clean-up the definition of MAIRVAL
  xen/arm: page: Use ARMv8 naming to improve readability
  xen/arm: mm: Rename and clarify AP[1] in the stage-1 page table
  xen/arm: Switch to SYS_STATE_boot just after end_boot_allocator()
  xen/arm: mm: Rename 'ai' into 'flags' in create_xen_entries
  xen/arm: page: Describe the layout of flags used to update page tables
  xen/arm: mm: Embed permission in the flags
  xen/arm: mm: Handling permission flags when adding a new mapping
  xen/arm: mm: Use memory flags for modify_xen_mappings rather than
    custom one

 xen/arch/arm/kernel.c             |   2 +-
 xen/arch/arm/livepatch.c          |   6 +--
 xen/arch/arm/mm.c                 |  79 +++++++++++++++++-------------
 xen/arch/arm/platforms/exynos5.c  |   2 +-
 xen/arch/arm/platforms/omap5.c    |   6 +--
 xen/arch/arm/platforms/vexpress.c |   2 +-
 xen/arch/arm/setup.c              |  12 +++--
 xen/arch/arm/traps.c              |  52 +++++++++++++++++---
 xen/arch/x86/mm.c                 |   8 +--
 xen/arch/x86/numa.c               |  10 +---
 xen/arch/x86/srat.c               |   7 +--
 xen/common/page_alloc.c           |   7 ++-
 xen/drivers/acpi/osl.c            |   2 +-
 xen/drivers/video/arm_hdlcd.c     |   2 +-
 xen/include/asm-arm/cpregs.h      |   2 -
 xen/include/asm-arm/lpae.h        |   2 +-
 xen/include/asm-arm/mm.h          |   7 +--
 xen/include/asm-arm/page.h        | 100 ++++++++++++++++++++++----------------
 xen/include/asm-arm/processor.h   |  25 ++++++++--
 xen/include/xen/domain_page.h     |   2 +-
 xen/include/xen/mm.h              |   9 +++-
 21 files changed, 204 insertions(+), 140 deletions(-)

Comments

Andre Przywara Aug. 23, 2017, 2:46 p.m. | #1
Hi Julien,

On 14/08/17 15:23, Julien Grall wrote:
> Hi all,
> 
> This patch series contains clean-up for the ARM Memory subsystem in
> preparation of reworking the page tables handling.

thanks for the work!
I am done with the review, the series looks fine in general to me.
Whenever there were verify-able bits changed, I tried to check against
the spec and couldn't spot any issues.
The smaller comments I had were more about clarity or documentation and
should be easy to fix.

> A branch with the patches can be found on xenbits:
> 
> https://xenbits.xen.org/git-http/people/julieng/xen-unstable.git
> branch mm-cleanup-v1

I also compile-tested every patch for ARM and arm64, no warnings.

Thanks,
Andre.

> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> Cc: George Dunlap <George.Dunlap@eu.citrix.com>
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> Cc: Stefano Stabellini <sstabellini@kernel.org>
> Cc: Tim Deegan <tim@xen.org>
> Cc: Wei Liu <wei.liu2@citrix.com>
> Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
> 
> 
> Julien Grall (27):
>   xen/x86: numa: Don't check alloc_boot_pages return
>   xen/x86: srat: Don't check alloc_boot_pages return
>   xen/x86: mm: Don't check alloc_boot_pages return
>   xen/mm: Move {G,M]FN <-> {G,M}ADDR helpers to common code
>   xen/mm: Use typesafe MFN for alloc_boot_pages return
>   xen/mm: Use __virt_to_mfn in map_domain_page instead of virt_to_mfn
>   xen/arm: mm: Redefine mfn_to_virt to use typesafe
>   xen/arm: hsr_iabt: Document RES0 field
>   xen/arm: traps: Don't define FAR_EL2 for ARM32
>   xen/arm: arm32: Don't define FAR_EL1
>   xen/arm: Add FnV field in hsr_*abt
>   xen/arm: Introduce hsr_xabt to gather common bits between hsr_dabt and
>   xen/arm: traps: Introduce a helper to read the hypersivor fault
>     register
>   xen/arm: traps: Improve logging for data/prefetch abort fault
>   xen/arm: Replace ioremap_attr(PAGE_HYPERVISOR_NOCACHE) call by
>     ioremap_nocache
>   xen/arm: page: Remove unused attributes DEV_NONSHARED and DEV_CACHED
>   xen/arm: page: Use directly BUFFERABLE and drop DEV_WC
>   xen/arm: page: Prefix memory types with MT_
>   xen/arm: page: Clean-up the definition of MAIRVAL
>   xen/arm: page: Use ARMv8 naming to improve readability
>   xen/arm: mm: Rename and clarify AP[1] in the stage-1 page table
>   xen/arm: Switch to SYS_STATE_boot just after end_boot_allocator()
>   xen/arm: mm: Rename 'ai' into 'flags' in create_xen_entries
>   xen/arm: page: Describe the layout of flags used to update page tables
>   xen/arm: mm: Embed permission in the flags
>   xen/arm: mm: Handling permission flags when adding a new mapping
>   xen/arm: mm: Use memory flags for modify_xen_mappings rather than
>     custom one
> 
>  xen/arch/arm/kernel.c             |   2 +-
>  xen/arch/arm/livepatch.c          |   6 +--
>  xen/arch/arm/mm.c                 |  79 +++++++++++++++++-------------
>  xen/arch/arm/platforms/exynos5.c  |   2 +-
>  xen/arch/arm/platforms/omap5.c    |   6 +--
>  xen/arch/arm/platforms/vexpress.c |   2 +-
>  xen/arch/arm/setup.c              |  12 +++--
>  xen/arch/arm/traps.c              |  52 +++++++++++++++++---
>  xen/arch/x86/mm.c                 |   8 +--
>  xen/arch/x86/numa.c               |  10 +---
>  xen/arch/x86/srat.c               |   7 +--
>  xen/common/page_alloc.c           |   7 ++-
>  xen/drivers/acpi/osl.c            |   2 +-
>  xen/drivers/video/arm_hdlcd.c     |   2 +-
>  xen/include/asm-arm/cpregs.h      |   2 -
>  xen/include/asm-arm/lpae.h        |   2 +-
>  xen/include/asm-arm/mm.h          |   7 +--
>  xen/include/asm-arm/page.h        | 100 ++++++++++++++++++++++----------------
>  xen/include/asm-arm/processor.h   |  25 ++++++++--
>  xen/include/xen/domain_page.h     |   2 +-
>  xen/include/xen/mm.h              |   9 +++-
>  21 files changed, 204 insertions(+), 140 deletions(-)
>