WSL2-Linux-Kernel/arch/arm/boot/compressed
Ard Biesheuvel fbc81ec5b8 efi/arm: set HSCTLR Thumb2 bit correctly for HVC calls from HYP
Commit

  db227c19e6 ("ARM: 8985/1: efi/decompressor: deal with HYP mode boot gracefully")

updated the EFI entry code to permit firmware to invoke the EFI stub
loader in HYP mode, with the MMU either enabled or disabled, neither
of which is permitted by the EFI spec, but which does happen in the
field.

In the MMU on case, we remain in HYP mode as configured by the firmware,
and rely on the fact that any HVC instruction issued in this mode will
be dispatched via the SVC slot in the HYP vector table. However, this
slot will point to a Thumb2 symbol if the kernel is built in Thumb2
mode, and so we have to configure HSCTLR to ensure that the exception
handlers are invoked in Thumb2 mode as well.

Fixes: db227c19e6 ("ARM: 8985/1: efi/decompressor: deal with HYP mode boot gracefully")
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-26 08:02:11 +01:00
..
.gitignore ARM: 8969/1: decompressor: simplify libfdt builds 2020-04-29 13:28:59 +01:00
Makefile ARM development for 5.10-rc1: 2020-10-20 09:18:31 -07:00
atags_to_fdt.c ARM: 8969/1: decompressor: simplify libfdt builds 2020-04-29 13:28:59 +01:00
big-endian.S ARM: 8933/1: replace Sun/Solaris style flag on section directive 2019-11-15 22:21:19 +00:00
debug.S ARM: 9005/1: debug: Select flow control for all debug UARTs 2020-09-15 14:35:28 +01:00
decompress.c arch/arm/boot/compressed/decompress.c: fix build error due to lz4 changes 2019-06-01 15:51:31 -07:00
efi-header.S efi/libstub: Add missing prototype for PE/COFF entry point 2020-05-23 11:01:57 +02:00
fdt.c ARM: 8969/1: decompressor: simplify libfdt builds 2020-04-29 13:28:59 +01:00
fdt_ro.c ARM: 8969/1: decompressor: simplify libfdt builds 2020-04-29 13:28:59 +01:00
fdt_rw.c ARM: 8969/1: decompressor: simplify libfdt builds 2020-04-29 13:28:59 +01:00
fdt_wip.c ARM: 8969/1: decompressor: simplify libfdt builds 2020-04-29 13:28:59 +01:00
head-sa1100.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
head-sharpsl.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
head-xscale.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
head.S efi/arm: set HSCTLR Thumb2 bit correctly for HVC calls from HYP 2020-10-26 08:02:11 +01:00
ll_char_wr.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
misc.c Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2018-04-09 09:19:30 -07:00
misc.h ARM: decompressor: fix warning introduced in fortify patch 2018-04-05 23:56:40 +01:00
piggy.S ARM: 8933/1: replace Sun/Solaris style flag on section directive 2019-11-15 22:21:19 +00:00
string.c ARM: boot: add strrchr function 2018-03-01 12:02:48 -06:00
vmlinux.lds.S ARM development for 5.10-rc1: 2020-10-20 09:18:31 -07:00