linux/arch/arm64
Marc Zyngier 1700f89cb9 KVM: arm64: Fix hVHE init on CPUs where HCR_EL2.E2H is not RES1
On CPUs where E2H is RES1, we very quickly set the scene for
running EL2 with a VHE configuration, as we do not have any other
choice.

However, CPUs that conform to the current writing of the architecture
start with E2H=0, and only later upgrade with E2H=1. This is all
good, but nothing there is actually reconfiguring EL2 to be able
to correctly run the kernel at EL1. Huhuh...

The "obvious" solution is not to just reinitialise the timer
controls like we do, but to really intitialise *everything*
unconditionally.

This requires a bit of surgery, and is a good opportunity to
remove the macro that messes with SPSR_EL2 in init_el2_state.

With that, hVHE now works correctly on my trusted A55 machine!

Reported-by: Oliver Upton <oliver.upton@linux.dev>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230614155129.2697388-1-maz@kernel.org
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2023-06-15 09:27:51 +00:00
..
boot hte: Changes for v6.4-rc1 2023-05-03 11:00:27 -07:00
configs arm64: defconfig: enable building the nvmem-reboot-mode module 2023-04-17 16:38:41 +02:00
crypto crypto: arm64/aes-neonbs - fix crash with CFI enabled 2023-03-14 17:06:44 +08:00
hyperv
include KVM: arm64: Fix hVHE init on CPUs where HCR_EL2.E2H is not RES1 2023-06-15 09:27:51 +00:00
kernel KVM: arm64: Fix hVHE init on CPUs where HCR_EL2.E2H is not RES1 2023-06-15 09:27:51 +00:00
kvm KVM: arm64: Fix hVHE init on CPUs where HCR_EL2.E2H is not RES1 2023-06-15 09:27:51 +00:00
lib arm: uaccess: Remove memcpy_page_flushcache() 2023-03-27 16:26:19 +01:00
mm arm64: Also reset KASAN tag if page is not PG_mte_tagged 2023-05-16 14:58:54 +01:00
net bpf, arm64: Fixed a BTI error on returning to patched function 2023-04-03 17:44:03 +02:00
tools arm64: Add KVM_HVHE capability and has_hvhe() predicate 2023-06-12 23:17:23 +00:00
xen
Kbuild
Kconfig - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
Kconfig.debug
Kconfig.platforms arm64 updates for 6.3: 2023-02-21 15:27:48 -08:00
Makefile arm64 updates for 6.3: 2023-02-21 15:27:48 -08:00