From: Marc Zyngier <maz@kernel.org>
To: linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org
Cc: Takashi Yoshi <takashi@yoshi.email>,
Vladimir Murzin <vladimir.murzin@arm.com>,
Russell King <linux@arm.linux.org.uk>,
Arnd Bergmann <arnd@arndb.de>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Linus Walleij <linus.walleij@linaro.org>,
Quentin Perret <qperret@google.com>,
Christoffer Dall <christoffer.dall@arm.com>,
Stefan Agner <stefan@agner.ch>,
Daniel Golle <daniel@makrotopia.org>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
James Morse <james.morse@arm.com>,
Krzysztof Kozlowski <krzk@kernel.org>,
Jan Kiszka <jan.kiszka@siemens.com>,
Olof Johansson <olof@lixom.net>,
Paolo Bonzini <pbonzini@redhat.com>,
Will Deacon <will@kernel.org>,
Julien Thierry <julien.thierry.kdev@gmail.com>,
Marek Szyprowski <m.szyprowski@samsung.com>
Subject: [PATCH v2 0/7] Removing support for 32bit KVM/arm host
Date: Tue, 24 Mar 2020 10:33:43 +0000 [thread overview]
Message-ID: <20200324103350.138077-1-maz@kernel.org> (raw)
KVM/arm was merged just over 7 years ago, and has lived a very quiet
life so far. It mostly works if you're prepared to deal with its
limitations, it has been a good prototype for the arm64 version,
but it suffers a few problems:
- It is incomplete (no debug support, no PMU)
- It hasn't followed any of the architectural evolutions
- It has zero^W very few users (I don't count myself here)
- It is more and more getting in the way of new arm64 developments
There has been quite a bit of discussion (see [1]) on whether we were
depriving users of something they were depending on. Most people
didn't object, and actually supported the removal. A few people *did*
object to the removal:
- Takashi uses it on a regular basis for developments
- Daniel uses it as well, although he doesn't depend on it
- Marek and Bartlomiej said that Samsung use it internally, without
any description of their usage model
Alghouth I can really sympathetize with people above, I still don't
think we should keep the 32bit port artificially alive for the sake of
it, specially considering that the whole of the 32bit architecture is
in best effort, maintenance mode. I'd rather drop KVM support now,
while it is still in a decent shape, rather than seeing it bit-rot
like it happened for ia64. I also plan to keep maintaining it in the
various stable kernels, up to (and including) 5.6.
To reiterate: 32bit guest support for arm64 stays, of course. Only
32bit host goes. Once this is merged, I plan to move virt/kvm/arm to
arm64, and cleanup all the now unnecessary abstractions.
The patches have been generated with the -D option to avoid spamming
everyone with huge diffs, and there is a kvm-arm/goodbye branch in
my kernel.org repository.
* From v1:
- Rebased on top of kvmarm/next
- Simplified the HYP vector replacement code
- Updated the MAINTAINERS file
- Collected Acks
[1] https://lore.kernel.org/linux-arm-kernel/20200210141324.21090-1-maz@kernel.org/
Marc Zyngier (7):
arm: Unplug KVM from the build system
arm: Remove KVM from config files
arm: Remove 32bit KVM host support
arm: Remove HYP/Stage-2 page-table support
arm: Remove GICv3 vgic compatibility macros
arm: Remove the ability to set HYP vectors outside of the decompressor
MAINTAINERS: RIP KVM/arm
Documentation/virt/kvm/arm/hyp-abi.rst | 5 +
MAINTAINERS | 5 +-
arch/arm/Kconfig | 2 -
arch/arm/Makefile | 1 -
arch/arm/configs/axm55xx_defconfig | 2 -
arch/arm/include/asm/arch_gicv3.h | 114 --
arch/arm/include/asm/kvm_arm.h | 239 ----
arch/arm/include/asm/kvm_asm.h | 77 --
arch/arm/include/asm/kvm_coproc.h | 36 -
arch/arm/include/asm/kvm_emulate.h | 372 ------
arch/arm/include/asm/kvm_host.h | 457 --------
arch/arm/include/asm/kvm_hyp.h | 127 ---
arch/arm/include/asm/kvm_mmu.h | 435 -------
arch/arm/include/asm/kvm_ras.h | 14 -
arch/arm/include/asm/pgtable-3level.h | 20 -
arch/arm/include/asm/pgtable.h | 9 -
arch/arm/include/asm/sections.h | 6 +-
arch/arm/include/asm/stage2_pgtable.h | 75 --
arch/arm/include/asm/virt.h | 17 -
arch/arm/include/uapi/asm/kvm.h | 314 -----
arch/arm/kernel/asm-offsets.c | 11 -
arch/arm/kernel/hyp-stub.S | 39 +-
arch/arm/kernel/vmlinux-xip.lds.S | 8 -
arch/arm/kernel/vmlinux.lds.S | 8 -
arch/arm/kernel/vmlinux.lds.h | 10 -
arch/arm/kvm/Kconfig | 59 -
arch/arm/kvm/Makefile | 43 -
arch/arm/kvm/coproc.c | 1455 ------------------------
arch/arm/kvm/coproc.h | 130 ---
arch/arm/kvm/coproc_a15.c | 39 -
arch/arm/kvm/coproc_a7.c | 42 -
arch/arm/kvm/emulate.c | 166 ---
arch/arm/kvm/guest.c | 387 -------
arch/arm/kvm/handle_exit.c | 175 ---
arch/arm/kvm/hyp/Makefile | 34 -
arch/arm/kvm/hyp/banked-sr.c | 70 --
arch/arm/kvm/hyp/cp15-sr.c | 72 --
arch/arm/kvm/hyp/entry.S | 121 --
arch/arm/kvm/hyp/hyp-entry.S | 295 -----
arch/arm/kvm/hyp/s2-setup.c | 22 -
arch/arm/kvm/hyp/switch.c | 242 ----
arch/arm/kvm/hyp/tlb.c | 68 --
arch/arm/kvm/hyp/vfp.S | 57 -
arch/arm/kvm/init.S | 157 ---
arch/arm/kvm/interrupts.S | 36 -
arch/arm/kvm/irq.h | 16 -
arch/arm/kvm/reset.c | 86 --
arch/arm/kvm/trace.h | 86 --
arch/arm/kvm/vgic-v3-coproc.c | 27 -
arch/arm/mach-exynos/Kconfig | 2 +-
arch/arm/mm/mmu.c | 26 -
51 files changed, 16 insertions(+), 6300 deletions(-)
delete mode 100644 arch/arm/include/asm/kvm_arm.h
delete mode 100644 arch/arm/include/asm/kvm_asm.h
delete mode 100644 arch/arm/include/asm/kvm_coproc.h
delete mode 100644 arch/arm/include/asm/kvm_emulate.h
delete mode 100644 arch/arm/include/asm/kvm_host.h
delete mode 100644 arch/arm/include/asm/kvm_hyp.h
delete mode 100644 arch/arm/include/asm/kvm_mmu.h
delete mode 100644 arch/arm/include/asm/kvm_ras.h
delete mode 100644 arch/arm/include/asm/stage2_pgtable.h
delete mode 100644 arch/arm/include/uapi/asm/kvm.h
delete mode 100644 arch/arm/kvm/Kconfig
delete mode 100644 arch/arm/kvm/Makefile
delete mode 100644 arch/arm/kvm/coproc.c
delete mode 100644 arch/arm/kvm/coproc.h
delete mode 100644 arch/arm/kvm/coproc_a15.c
delete mode 100644 arch/arm/kvm/coproc_a7.c
delete mode 100644 arch/arm/kvm/emulate.c
delete mode 100644 arch/arm/kvm/guest.c
delete mode 100644 arch/arm/kvm/handle_exit.c
delete mode 100644 arch/arm/kvm/hyp/Makefile
delete mode 100644 arch/arm/kvm/hyp/banked-sr.c
delete mode 100644 arch/arm/kvm/hyp/cp15-sr.c
delete mode 100644 arch/arm/kvm/hyp/entry.S
delete mode 100644 arch/arm/kvm/hyp/hyp-entry.S
delete mode 100644 arch/arm/kvm/hyp/s2-setup.c
delete mode 100644 arch/arm/kvm/hyp/switch.c
delete mode 100644 arch/arm/kvm/hyp/tlb.c
delete mode 100644 arch/arm/kvm/hyp/vfp.S
delete mode 100644 arch/arm/kvm/init.S
delete mode 100644 arch/arm/kvm/interrupts.S
delete mode 100644 arch/arm/kvm/irq.h
delete mode 100644 arch/arm/kvm/reset.c
delete mode 100644 arch/arm/kvm/trace.h
delete mode 100644 arch/arm/kvm/vgic-v3-coproc.c
--
2.25.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2020-03-24 10:34 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-24 10:33 Marc Zyngier [this message]
2020-03-24 10:33 ` [PATCH v2 1/7] arm: Unplug KVM from the build system Marc Zyngier
2020-03-25 7:46 ` Krzysztof Kozlowski
2020-03-24 10:33 ` [PATCH v2 2/7] arm: Remove KVM from config files Marc Zyngier
2020-03-24 10:33 ` [PATCH v2 3/7] arm: Remove 32bit KVM host support Marc Zyngier
2020-03-24 10:33 ` [PATCH v2 4/7] arm: Remove HYP/Stage-2 page-table support Marc Zyngier
2020-03-24 10:33 ` [PATCH v2 5/7] arm: Remove GICv3 vgic compatibility macros Marc Zyngier
2020-03-24 10:33 ` [PATCH v2 6/7] arm: Remove the ability to set HYP vectors outside of the decompressor Marc Zyngier
2020-03-24 10:33 ` [PATCH v2 7/7] MAINTAINERS: RIP KVM/arm Marc Zyngier
2020-03-26 10:17 ` [PATCH v2 0/7] Removing support for 32bit KVM/arm host Quentin Perret
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200324103350.138077-1-maz@kernel.org \
--to=maz@kernel.org \
--cc=arnd@arndb.de \
--cc=b.zolnierkie@samsung.com \
--cc=catalin.marinas@arm.com \
--cc=christoffer.dall@arm.com \
--cc=daniel@makrotopia.org \
--cc=james.morse@arm.com \
--cc=jan.kiszka@siemens.com \
--cc=julien.thierry.kdev@gmail.com \
--cc=krzk@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux@arm.linux.org.uk \
--cc=m.szyprowski@samsung.com \
--cc=olof@lixom.net \
--cc=pbonzini@redhat.com \
--cc=qperret@google.com \
--cc=stefan@agner.ch \
--cc=suzuki.poulose@arm.com \
--cc=takashi@yoshi.email \
--cc=vladimir.murzin@arm.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).