u-boot/arch/arm
Marc Zyngier 46dc542870 arm: cpu: Add optional CMOs by VA
Exposing set/way cache maintenance to a virtual machine is unsafe, not
least because the instructions are not permission-checked but also
because they are not broadcast between CPUs. Consequently, KVM traps and
emulates such maintenance in the host kernel using by-VA operations and
looping over the stage-2 page-tables. However, when running under
protected KVM, these instructions are not able to be emulated and will
instead result in an exception being delivered to the guest.

Introduce CONFIG_CMO_BY_VA_ONLY so that virtual platforms can select
this option and perform by-VA cache maintenance instead of using the
set/way instructions.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Will Deacon <willdeacon@google.com>
Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
[ Paul: pick from the Android tree. Fixup Pierre's commit. And fix some
  checkpatch warnings. Rebased to upstream. ]
Signed-off-by: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org>
Cc: Tom Rini <trini@konsulko.com>
Link: db5507f47f
Link: 2baf54e743
2023-03-06 17:03:55 -05:00
..
cpu arm: cpu: Add optional CMOs by VA 2023-03-06 17:03:55 -05:00
dts Prepare v2023.04-rc3 2023-02-27 17:28:21 -05:00
include ARM: tegra: crypto: extend crypto functional 2023-02-23 12:55:37 -07:00
lib Correct SPL uses of SAVE_PREV_BL_INITRAMFS_START_ADDR 2023-02-10 07:41:40 -05:00
mach-apple
mach-aspeed
mach-at91 global: Remove unused CONFIG defines 2023-01-20 12:27:06 -05:00
mach-bcm283x
mach-bcmbca
mach-bcmstb
mach-cortina
mach-davinci global: Migrate CONFIG_MAX_RAM_BANK_SIZE to CFG 2022-12-23 10:14:51 -05:00
mach-exynos Correct SPL use of EXYNOS7420 2023-02-09 16:32:26 -05:00
mach-highbank
mach-hpe
mach-imx imx9: Remove ARCH_MISC_INIT 2023-03-02 15:32:25 -05:00
mach-integrator
mach-ipq40xx
mach-k3 arch: mach-k3: Update board specific API name to K3 generic API name 2023-01-27 12:51:27 -05:00
mach-keystone
mach-kirkwood arm: kirkwood: Use CONFIG_SYS_NS16550 with DM_SERIAL for Kirkwood boards 2023-02-13 10:14:50 +01:00
mach-lpc32xx
mach-mediatek
mach-meson ARM: meson: switch AXG & GX dwc2 otg to DM 2023-01-20 16:21:31 +01:00
mach-mvebu mvebu: Drop empty arch_misc_init 2023-03-02 15:32:25 -05:00
mach-nexell arm: s5p4418: dm_serial: remove old code / add DEBUG_UART 2023-01-02 16:06:08 -05:00
mach-npcm
mach-octeontx
mach-octeontx2
mach-omap2 global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
mach-orion5x global: Migrate CONFIG_MAX_RAM_BANK_SIZE to CFG 2022-12-23 10:14:51 -05:00
mach-owl
mach-qemu
mach-rmobile rmobile: Drop unused ehci-rmobile driver 2023-02-07 14:33:50 -05:00
mach-rockchip arm: rk3368: Select ARCH_EARLY_INIT_R when used 2023-03-02 15:32:25 -05:00
mach-s5pc1xx exynos: Rework legacy PWM usage 2022-12-23 10:07:03 -05:00
mach-snapdragon clocks: qcs404: Add support for I2C clocks 2023-02-13 10:01:52 -05:00
mach-socfpga Use grep -E or plain grep instead of egrep 2023-01-11 15:02:24 -05:00
mach-sti
mach-stm32
mach-stm32mp Correct SPL use of STM32MP15X_STM32IMAGE 2023-02-10 07:41:40 -05:00
mach-sunxi sunxi: eMMC: support TOC0 on boot partitions 2023-01-23 01:18:23 +00:00
mach-tegra ARM: tegra20: implement BCT patching 2023-02-23 12:55:37 -07:00
mach-u8500
mach-uniphier arm: uniphier: use DM_TIMER of arm a9 global timer 2023-01-02 16:01:39 -05:00
mach-versal
mach-versal-net xilinx: versal-net: Add support for timer and start it 2023-01-16 15:34:37 +01:00
mach-versatile
mach-zynq
mach-zynqmp
mach-zynqmp-r5
thumb1/include/asm/proc-armv
config.mk Convert CONFIG_STANDALONE_LOAD_ADDR to Kconfig 2022-12-22 10:31:48 -05:00
Kconfig arm: zynq: Move to select'ing ARCH_EARLY_INIT_R if we have FPGA 2023-03-02 15:32:25 -05:00
Kconfig.debug
Makefile