[PATCH v2 00/10] Get rid of READ/WRITE_SYSREG32

Michal Orzel posted 10 patches 3 weeks ago
Test gitlab-ci failed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20210427093546.30703-1-michal.orzel@arm.com
xen/arch/arm/arm64/entry.S            |  4 +-
xen/arch/arm/arm64/traps.c            |  2 +-
xen/arch/arm/arm64/vfp.c              | 12 ++--
xen/arch/arm/arm64/vsysreg.c          |  3 +-
xen/arch/arm/domain.c                 | 22 +++---
xen/arch/arm/gic-v3-lpi.c             |  2 +-
xen/arch/arm/gic-v3.c                 | 98 ++++++++++++++-------------
xen/arch/arm/mm.c                     |  2 +-
xen/arch/arm/p2m.c                    |  8 +--
xen/arch/arm/time.c                   | 28 ++++----
xen/arch/arm/traps.c                  | 34 ++++++----
xen/arch/arm/vcpreg.c                 | 13 ++--
xen/arch/arm/vtimer.c                 | 10 +--
xen/include/asm-arm/arm64/processor.h | 11 +--
xen/include/asm-arm/arm64/vfp.h       |  6 +-
xen/include/asm-arm/domain.h          |  6 +-
xen/include/asm-arm/gic.h             |  6 +-
xen/include/asm-arm/gic_v3_defs.h     |  2 +
xen/include/asm-arm/hsr.h             | 14 +++-
xen/include/asm-arm/page.h            |  4 +-
xen/include/asm-arm/processor.h       |  9 ++-
xen/include/public/arch-arm.h         |  4 +-
xen/include/public/vm_event.h         |  4 ++
23 files changed, 169 insertions(+), 135 deletions(-)

[PATCH v2 00/10] Get rid of READ/WRITE_SYSREG32

Posted by Michal Orzel 3 weeks ago
The purpose of this patch series is to remove usage of 32bit helper
macros READ/WRITE_SYSREG32 on arm64 as the idea of them is
not following the latest ARMv8 specification and mrs/msr instructions
are expecting 64bit values.
According to ARM DDI 0487G.a all the AArch64 system registers
are 64bit wide even though many of them have upper 32bit reserved.
This does not mean that in the newer versions of ARMv8 or in the next
architecture, some of the sysregs will get widen.
Also when dealing with system registers we should use register_t
type.

This patch series removes the use of READ/WRITE_SYSREG32
and replaces these calls with READ/WRITE_SYSREG. The change was
splited into several small patches to make the review proces easier.

This patch series focuses on removing READ/WRITE_SYSREG32.
The next thing to do is to also get rid of vreg_emulate_sysreg32
and other parts related to it like TVM_REG macro.
The final part will be to completely remove macros READ/WRITE_SYSREG32.

Michal Orzel (10):
  arm64/vfp: Get rid of READ/WRITE_SYSREG32
  arm/domain: Get rid of READ/WRITE_SYSREG32
  arm: Modify type of actlr to register_t
  arm/gic: Remove member hcr of structure gic_v3
  arm/gic: Get rid of READ/WRITE_SYSREG32
  arm/p2m: Get rid of READ/WRITE_SYSREG32
  arm/mm: Get rid of READ/WRITE_SYSREG32
  arm/page: Get rid of READ/WRITE_SYSREG32
  arm/time,vtimer: Get rid of READ/WRITE_SYSREG32
  arm64: Change type of hsr, cpsr, spsr_el1 to uint64_t

 xen/arch/arm/arm64/entry.S            |  4 +-
 xen/arch/arm/arm64/traps.c            |  2 +-
 xen/arch/arm/arm64/vfp.c              | 12 ++--
 xen/arch/arm/arm64/vsysreg.c          |  3 +-
 xen/arch/arm/domain.c                 | 22 +++---
 xen/arch/arm/gic-v3-lpi.c             |  2 +-
 xen/arch/arm/gic-v3.c                 | 98 ++++++++++++++-------------
 xen/arch/arm/mm.c                     |  2 +-
 xen/arch/arm/p2m.c                    |  8 +--
 xen/arch/arm/time.c                   | 28 ++++----
 xen/arch/arm/traps.c                  | 34 ++++++----
 xen/arch/arm/vcpreg.c                 | 13 ++--
 xen/arch/arm/vtimer.c                 | 10 +--
 xen/include/asm-arm/arm64/processor.h | 11 +--
 xen/include/asm-arm/arm64/vfp.h       |  6 +-
 xen/include/asm-arm/domain.h          |  6 +-
 xen/include/asm-arm/gic.h             |  6 +-
 xen/include/asm-arm/gic_v3_defs.h     |  2 +
 xen/include/asm-arm/hsr.h             | 14 +++-
 xen/include/asm-arm/page.h            |  4 +-
 xen/include/asm-arm/processor.h       |  9 ++-
 xen/include/public/arch-arm.h         |  4 +-
 xen/include/public/vm_event.h         |  4 ++
 23 files changed, 169 insertions(+), 135 deletions(-)

-- 
2.29.0