The last stable kernel to support 32-bit KVM/arm is 5.4, which is on track for EOL at the end of this year. Considering this, and the fact that 32-bit KVM never saw much usage in the first place, it is probably time to toss out the coprolite. Of course, this has no effect on the support for 32-bit guests on 64-bit KVM. RFC: https://lore.kernel.org/kvmarm/20250314222516.1302429-1-oliver.upton@xxxxxxxxx/ RFC -> v1: - Collected Marc's Acks - Cleaned up some forgotten references to CONFIG_ARM (Alex) - Minor nits on includes, defines (Alex) Oliver Upton (9): Drop support for 32-bit arm arm64: Move arm64-only features into main directory arm64: Combine kvm.c arm64: Merge kvm-cpu.c arm64: Combine kvm-config-arch.h arm64: Move remaining kvm/* headers arm64: Move asm headers arm64: Rename top-level directory arm64: Get rid of the 'arm-common' include directory INSTALL | 9 +- Makefile | 40 +-- arm/aarch32/arm-cpu.c | 50 --- arm/aarch32/include/asm/kernel.h | 8 - arm/aarch32/include/asm/kvm.h | 311 ------------------ arm/aarch32/include/kvm/barrier.h | 10 - arm/aarch32/include/kvm/fdt-arch.h | 6 - arm/aarch32/include/kvm/kvm-arch.h | 18 - arm/aarch32/include/kvm/kvm-config-arch.h | 8 - arm/aarch32/include/kvm/kvm-cpu-arch.h | 24 -- arm/aarch32/kvm-cpu.c | 132 -------- arm/aarch32/kvm.c | 14 - arm/aarch64/include/kvm/fdt-arch.h | 6 - arm/aarch64/include/kvm/kvm-arch.h | 22 -- arm/aarch64/include/kvm/kvm-config-arch.h | 29 -- arm/aarch64/include/kvm/kvm-cpu-arch.h | 19 -- arm/aarch64/kvm.c | 212 ------------ arm/kvm-cpu.c | 153 --------- {arm/aarch64 => arm64}/arm-cpu.c | 4 +- {arm => arm64}/fdt.c | 4 +- {arm => arm64}/gic.c | 2 +- {arm => arm64}/gicv2m.c | 2 +- {arm/aarch64 => arm64}/include/asm/image.h | 0 {arm/aarch64 => arm64}/include/asm/kernel.h | 0 {arm/aarch64 => arm64}/include/asm/kvm.h | 0 {arm/aarch64 => arm64}/include/asm/pmu.h | 0 .../include/asm/sve_context.h | 0 .../arm-common => arm64/include}/gic.h | 0 {arm/aarch64 => arm64}/include/kvm/barrier.h | 0 .../include/kvm}/fdt-arch.h | 0 .../include/kvm}/kvm-arch.h | 8 +- .../include/kvm}/kvm-config-arch.h | 24 +- .../include/kvm}/kvm-cpu-arch.h | 10 +- .../arm-common => arm64/include}/pci.h | 0 .../arm-common => arm64/include}/timer.h | 0 {arm => arm64}/ioport.c | 0 {arm/aarch64 => arm64}/kvm-cpu.c | 289 ++++++++++++---- {arm => arm64}/kvm.c | 209 +++++++++++- {arm => arm64}/pci.c | 4 +- {arm/aarch64 => arm64}/pmu.c | 2 +- {arm/aarch64 => arm64}/pvtime.c | 0 {arm => arm64}/timer.c | 4 +- builtin-run.c | 2 +- hw/cfi_flash.c | 2 +- hw/rtc.c | 2 +- hw/serial.c | 2 +- virtio/core.c | 2 +- 47 files changed, 498 insertions(+), 1145 deletions(-) delete mode 100644 arm/aarch32/arm-cpu.c delete mode 100644 arm/aarch32/include/asm/kernel.h delete mode 100644 arm/aarch32/include/asm/kvm.h delete mode 100644 arm/aarch32/include/kvm/barrier.h delete mode 100644 arm/aarch32/include/kvm/fdt-arch.h delete mode 100644 arm/aarch32/include/kvm/kvm-arch.h delete mode 100644 arm/aarch32/include/kvm/kvm-config-arch.h delete mode 100644 arm/aarch32/include/kvm/kvm-cpu-arch.h delete mode 100644 arm/aarch32/kvm-cpu.c delete mode 100644 arm/aarch32/kvm.c delete mode 100644 arm/aarch64/include/kvm/fdt-arch.h delete mode 100644 arm/aarch64/include/kvm/kvm-arch.h delete mode 100644 arm/aarch64/include/kvm/kvm-config-arch.h delete mode 100644 arm/aarch64/include/kvm/kvm-cpu-arch.h delete mode 100644 arm/aarch64/kvm.c delete mode 100644 arm/kvm-cpu.c rename {arm/aarch64 => arm64}/arm-cpu.c (96%) rename {arm => arm64}/fdt.c (99%) rename {arm => arm64}/gic.c (99%) rename {arm => arm64}/gicv2m.c (99%) rename {arm/aarch64 => arm64}/include/asm/image.h (100%) rename {arm/aarch64 => arm64}/include/asm/kernel.h (100%) rename {arm/aarch64 => arm64}/include/asm/kvm.h (100%) rename {arm/aarch64 => arm64}/include/asm/pmu.h (100%) rename {arm/aarch64 => arm64}/include/asm/sve_context.h (100%) rename {arm/include/arm-common => arm64/include}/gic.h (100%) rename {arm/aarch64 => arm64}/include/kvm/barrier.h (100%) rename {arm/include/arm-common => arm64/include/kvm}/fdt-arch.h (100%) rename {arm/include/arm-common => arm64/include/kvm}/kvm-arch.h (96%) rename {arm/include/arm-common => arm64/include/kvm}/kvm-config-arch.h (54%) rename {arm/include/arm-common => arm64/include/kvm}/kvm-cpu-arch.h (82%) rename {arm/include/arm-common => arm64/include}/pci.h (100%) rename {arm/include/arm-common => arm64/include}/timer.h (100%) rename {arm => arm64}/ioport.c (100%) rename {arm/aarch64 => arm64}/kvm-cpu.c (70%) rename {arm => arm64}/kvm.c (59%) rename {arm => arm64}/pci.c (98%) rename {arm/aarch64 => arm64}/pmu.c (99%) rename {arm/aarch64 => arm64}/pvtime.c (100%) rename {arm => arm64}/timer.c (95%) base-commit: e48563f5c4a48fe6a6bc2a98a9a7c84a10f043be -- 2.39.5