There are some clean-up/improvement work that can be done in the
Arm P2M code triggered by [1] and [2]. These were found at the 4.17
code freeze period so the issues were not fixed at that time.
Therefore do the follow-ups here.

Patch#1 addresses one comment in [1]. It was sent earlier and reviewed
once. Pick the updated version, i.e. "[PATCH v2] xen/arm: Reduce
redundant clear root pages when teardown p2m", to this series.

Patch#2 is a new patch based on v1 comments, this is a pre-requisite
patch for patch#3 where the deferring of GICv2 CPU interface mapping
should also be applied for new vGIC.

Patch#3 and #4 addresses the comment in [2] following the discussion
between two possible options.

[1] 
https://lore.kernel.org/xen-devel/[email protected]/
[2] 
https://lore.kernel.org/xen-devel/[email protected]/

v2 -> v3:
1. Add Julien's acked-by tag for patch #2.
2. Reword the reason why hwdom extra mappings are not touched by this
   patch in the commit message of patch #3.
3. Rework the address check in stage-2 data abort trap so that larger
   CPU interface size can work fine.
4. Correct a typo in original in-code comment, slightly modify
   the wording to avoid the presence of preemptive/non-preemptive
   p2m_teardown() call assumption.
5. Drop the (now) unnecessary second parameter of p2m_teardown().

v1 -> v2:
1. Move in-code comment for p2m_force_tlb_flush_sync() on top of
   p2m_clear_root_pages().
2. Add a new patch as patch #2.
3. Correct style in in-code comment in patch #3.
4. Avoid open-coding gfn_eq() and gaddr_to_gfn(d->arch.vgic.cbase).
5. Apply same changes for the new vGICv2 implementation, update the
   commit message accordingly.
6. Add in-code comment in old GICv2's vgic_v2_domain_init() and
   new GICv2's vgic_v2_map_resources() to mention the mapping of the
   virtual CPU interface is deferred until first access.
7. Add reviewed-by and acked-by tags accordingly.

Henry Wang (4):
  xen/arm: Reduce redundant clear root pages when teardown p2m
  xen/arm: Rename vgic_cpu_base and vgic_dist_base for new vGIC
  xen/arm: Defer GICv2 CPU interface mapping until the first access
  xen/arm: Clean-up in p2m_init() and p2m_final_teardown()

 xen/arch/arm/domain.c               | 10 ++++-
 xen/arch/arm/include/asm/new_vgic.h | 10 +++--
 xen/arch/arm/include/asm/p2m.h      | 15 +++----
 xen/arch/arm/include/asm/vgic.h     |  2 +
 xen/arch/arm/p2m.c                  | 64 +++++++++++------------------
 xen/arch/arm/traps.c                | 19 +++++++--
 xen/arch/arm/vgic-v2.c              | 25 ++++-------
 xen/arch/arm/vgic/vgic-init.c       |  4 +-
 xen/arch/arm/vgic/vgic-v2.c         | 41 +++++++-----------
 9 files changed, 85 insertions(+), 105 deletions(-)

-- 
2.25.1


Reply via email to