From: Grygorii Strashko <grygorii_stras...@epam.com>

Hi,

Now Arm64 AArch32 guest support is always enabled and built-in while not
all Arm64 platforms supports AArch32 or this support might not be needed.

Hence, this series introduces basic support for disabling Arm64 AArch32
guest support by introducing Kconfig option CONFIG_ARM64_AARCH32 to allow 
enable/disable
Arm64 AArch32 guest support (default y). 

Patches 1-4 Prerequisite patches
Patch 5 - Introduces Kconfig option CONFIG_ARM64_AARCH32 and prevents creating 
domains
          running Arm64 AArch32 guests if CONFIG_ARM64_AARCH32=n
Patches 6-8 - enables build-time optimization of AArch32 specific code by 
redefining some
              macro (like is_32/64bit_domain()) as constants

Grygorii Strashko (8):
  xen/arm: split set_domain_type() between arm64/arm32
  xen/arm: move vcpu_switch_to_aarch64_mode() in arch_vcpu_create()
  xen/arm: move vcpu_switch_to_aarch64_mode() in arm64
  xen/arm: split is_32bit/64bit_domain() between arm64/arm32
  xen/arm64: make aarch32 support optional
  xen/arm64: constify is_32/64bit_domain() macro for CONFIG_ARM64_AARCH32=n
  xen/arm: regs.h split subarch definitions between arm64/arm32
  xen/arm64: constify regs_mode_is_32bit macro for CONFIG_ARM64_AARCH32=n

 xen/arch/arm/Kconfig                       |  7 +++
 xen/arch/arm/arm32/Makefile                |  1 +
 xen/arch/arm/arm32/domain-build.c          | 22 +++++++
 xen/arch/arm/arm64/Makefile                |  1 +
 xen/arch/arm/arm64/domain-build.c          | 65 ++++++++++++++++++++
 xen/arch/arm/arm64/domain.c                |  5 ++
 xen/arch/arm/arm64/domctl.c                |  6 ++
 xen/arch/arm/dom0less-build.c              | 14 -----
 xen/arch/arm/domain.c                      |  9 ++-
 xen/arch/arm/domain_build.c                | 33 +++-------
 xen/arch/arm/include/asm/arm32/domain.h    | 28 +++++++++
 xen/arch/arm/include/asm/arm32/processor.h |  5 ++
 xen/arch/arm/include/asm/arm64/domain.h    | 71 ++++++++++++++++++++++
 xen/arch/arm/include/asm/arm64/processor.h | 19 ++++++
 xen/arch/arm/include/asm/domain.h          |  9 ++-
 xen/arch/arm/include/asm/regs.h            | 24 --------
 xen/arch/arm/setup.c                       |  2 +-
 xen/common/device-tree/dom0less-build.c    |  6 +-
 xen/include/asm-generic/dom0less-build.h   |  9 +++
 19 files changed, 258 insertions(+), 78 deletions(-)
 create mode 100644 xen/arch/arm/arm32/domain-build.c
 create mode 100644 xen/arch/arm/arm64/domain-build.c
 create mode 100644 xen/arch/arm/include/asm/arm32/domain.h
 create mode 100644 xen/arch/arm/include/asm/arm64/domain.h

-- 
2.34.1

Reply via email to