[PATCH v6 00/28] arm64/sysreg: More system register generation

Mark Brown broonie at kernel.org
Mon Sep 5 15:53:57 PDT 2022


This series continues on with the conversion of the system registers to
automatic generation, together with a few cleanups and improvements that
were identified as part of looking through all the register definitions
and bringing them into line with the conventions we've been using.

v6:
 - s/SMEver.SME/SMEver.IMP/
 - Update some more uses of ID_AA64MMFR2_EL1_LVA_SHIFT.
 - Correct ASIDBITS value for 16 bits.
 - Update ID_AA64PFR0_EL1 conversion to DDI0487I.a which has been
   released in the time this series was pending.
v5:
 - Rebase onto v6.0-rc3.
v4:
 - Rebase onto v6.0-rc1.
v3:
 - Fix some missed ID_AA64MMFR0_EL1 _EL1 additions.
 - Fix an EL1_EL0->EL1_EL1 misupdate.
v2:
 - Rebase onto v6.0-rc1.
 - Include Kristina Martsenko's conversion of ID_AA64MMFR1_EL1.
 - Add conversions of ID_AA64MMFR0_EL1, ID_AA64MMFR2_EL1,
   ID_AA64PFR0_EL1, TPIDR_EL1 and SCXTNUM_EL1.
 - Add definition of ALLINT.
 - Add a fix switching ID_AA64SMFR0_EL1.SMEVer to be an enumeration.

Kristina Martsenko (3):
  arm64: cache: Remove unused CTR_CACHE_MINLINE_MASK
  arm64/sysreg: Standardise naming for ID_AA64MMFR1_EL1 fields
  arm64/sysreg: Convert ID_AA64MMFR1_EL1 to automatic generation

Mark Brown (25):
  arm64/sysreg: Remove stray SMIDR_EL1 defines
  arm64/sysreg: Describe ID_AA64SMFR0_EL1.SMEVer as an enumeration
  arm64/sysreg: Add _EL1 into ID_AA64MMFR0_EL1 definition names
  arm64/sysreg: Add _EL1 into ID_AA64MMFR2_EL1 definition names
  arm64/sysreg: Add _EL1 into ID_AA64PFR0_EL1 definition names
  arm64/sysreg: Add _EL1 into ID_AA64PFR1_EL1 constant names
  arm64/sysreg: Standardise naming of ID_AA64MMFR0_EL1.BigEnd
  arm64/sysreg: Standardise naming of ID_AA64MMFR0_EL1.ASIDBits
  arm64/sysreg: Standardise naming for ID_AA64MMFR2_EL1.VARange
  arm64/sysreg: Standardise naming for ID_AA64MMFR2_EL1.CnP
  arm64/sysreg: Standardise naming for ID_AA64PFR0_EL1 constants
  arm64/sysreg: Standardise naming for ID_AA64PFR0_EL1.AdvSIMD constants
  arm64/sysreg: Standardise naming for SSBS feature enumeration
  arm64/sysreg: Standardise naming for MTE feature enumeration
  arm64/sysreg: Standardise naming of ID_AA64PFR1_EL1 fractional version
    fields
  arm64/sysreg: Standardise naming of ID_AA64PFR1_EL1 BTI enumeration
  arm64/sysreg: Standardise naming of ID_AA64PFR1_EL1 SME enumeration
  arm64/sysreg: Convert HCRX_EL2 to automatic generation
  arm64/sysreg: Convert ID_AA64MMFR0_EL1 to automatic generation
  arm64/sysreg: Convert ID_AA64MMFR2_EL1 to automatic generation
  arm64/sysreg: Convert ID_AA64PFR0_EL1 to automatic generation
  arm64/sysreg: Convert ID_AA64PFR1_EL1 to automatic generation
  arm64/sysreg: Convert TIPDR_EL1 to automatic generation
  arm64/sysreg: Convert SCXTNUM_EL1 to automatic generation
  arm64/sysreg: Add defintion for ALLINT

 arch/arm64/include/asm/assembler.h            |   8 +-
 arch/arm64/include/asm/cache.h                |   4 -
 arch/arm64/include/asm/cpufeature.h           |  64 +--
 arch/arm64/include/asm/el2_setup.h            |  10 +-
 arch/arm64/include/asm/kvm_pgtable.h          |   6 +-
 arch/arm64/include/asm/sysreg.h               | 182 ++-------
 arch/arm64/kernel/cpufeature.c                | 224 +++++------
 arch/arm64/kernel/head.S                      |  10 +-
 arch/arm64/kernel/hyp-stub.S                  |   8 +-
 arch/arm64/kernel/idreg-override.c            |  10 +-
 arch/arm64/kernel/proton-pack.c               |   4 +-
 .../arm64/kvm/hyp/include/nvhe/fixed_config.h |  60 +--
 arch/arm64/kvm/hyp/nvhe/pkvm.c                |  26 +-
 arch/arm64/kvm/hyp/nvhe/sys_regs.c            |  10 +-
 arch/arm64/kvm/hyp/pgtable.c                  |   2 +-
 arch/arm64/kvm/reset.c                        |  12 +-
 arch/arm64/kvm/sys_regs.c                     |  32 +-
 arch/arm64/mm/context.c                       |   6 +-
 arch/arm64/mm/init.c                          |   2 +-
 arch/arm64/mm/mmu.c                           |   2 +-
 arch/arm64/mm/proc.S                          |   4 +-
 arch/arm64/tools/sysreg                       | 366 +++++++++++++++++-
 drivers/firmware/efi/libstub/arm64-stub.c     |   4 +-
 .../iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c   |   6 +-
 drivers/irqchip/irq-gic-v4.c                  |   2 +-
 25 files changed, 647 insertions(+), 417 deletions(-)


base-commit: b90cb1053190353cc30f0fef0ef1f378ccc063c5
-- 
2.30.2




More information about the linux-arm-kernel mailing list