Hi All,
Please find the following patches to enable GICv3 for AArch32.
This is a pre-requisite to support Xen on Cortex-R52 (AArch32-v8R system)
Let me know your thoughts.
The following patches have been reviewed and acked and contain no changes
from v2 :-
1. [XEN v3 05/12] xen/Arm: GICv3: Fix GICR_{PENDBASER, PROPBASER} emulation on 32-bit host
2. [XEN v3 06/12] xen/Arm: vGICv3: Fix emulation of ICC_SGI1R on AArch32
Changes from -
v1 :-
1. Updated in the changelog for each of the patches.
v2 :-
1. Dropped "xen/Arm: GICv3: Move the macros to compute the affnity level to
arm64/arm32". The reason being aff3 does not exist on arm32. And aff0..2 is
the same between arm32, AArch32 and AArch64.
2. Introduce a new patch "xen/Arm: GICv3: Adapt access to VMPIDR register for
AArch32".
3. For the new registers introduced, we have defined the arm32 name and then
an alias.
4. Use 'AArch32' across all the patches.
5. Dropped the 'R-b' and 'Ack' in "[XEN v3 08/12] xen/Arm: GICv3: Define
ICH_AP0R<n> and ICH_AP1R<n> for AArch32".
Ayan Kumar Halder (12):
xen/Arm: vGICv3: Sysreg emulation is applicable for AArch64 only
xen/Arm: GICv3: Adapt access to VMPIDR register for AArch32
xen/Arm: vreg: Support vreg_reg64_* helpers on AArch32
xen/Arm: vGICv3: Adapt emulation of GICR_TYPER for AArch32
xen/Arm: GICv3: Fix GICR_{PENDBASER, PROPBASER} emulation on 32-bit
host
xen/Arm: vGICv3: Fix emulation of ICC_SGI1R on AArch32
xen/Arm: GICv3: Define ICH_LR<n>_EL2 on AArch32
xen/Arm: GICv3: Define ICH_AP0R<n> and ICH_AP1R<n> for AArch32
xen/Arm: GICv3: Define remaining GIC registers for AArch32
xen/Arm: GICv3: Use ULL instead of UL for 64bits
xen/Arm: GICv3: Define macros to read/write 64 bit
xen/Arm: GICv3: Enable GICv3 for AArch32
SUPPORT.md | 7 +
xen/arch/arm/Kconfig | 5 +-
xen/arch/arm/gic-v3.c | 159 +++++++++++++----------
xen/arch/arm/include/asm/arm32/io.h | 9 ++
xen/arch/arm/include/asm/arm32/sysregs.h | 19 +++
xen/arch/arm/include/asm/arm64/sysregs.h | 4 +
xen/arch/arm/include/asm/cpregs.h | 135 +++++++++++++++++++
xen/arch/arm/include/asm/cpufeature.h | 1 +
xen/arch/arm/include/asm/gic_v3_defs.h | 24 ++--
xen/arch/arm/include/asm/vreg.h | 86 +++---------
xen/arch/arm/vgic-v3.c | 18 ++-
11 files changed, 312 insertions(+), 155 deletions(-)
--
2.17.1