qemu/hw/arm
Fabian Vogt d0cd94e2b6 hw/arm/boot: Set SCR_EL3.FGTEn when booting kernel
Just like d7ef5e16a1 sets SCR_EL3.HXEn for FEAT_HCX, this commit
handles SCR_EL3.FGTEn for FEAT_FGT:

When we direct boot a kernel on a CPU which emulates EL3, we need to
set up the EL3 system registers as the Linux kernel documentation
specifies:
    https://www.kernel.org/doc/Documentation/arm64/booting.rst

> For CPUs with the Fine Grained Traps (FEAT_FGT) extension present:
> - If EL3 is present and the kernel is entered at EL2:
>   - SCR_EL3.FGTEn (bit 27) must be initialised to 0b1.

Cc: qemu-stable@nongnu.org
Signed-off-by: Fabian Vogt <fvogt@suse.de>
Message-id: 4831384.GXAFRqVoOG@linux-e202.suse.de
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit 32b214384e1e1472ddfa875196c57f6620172301)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-10-03 02:00:54 +03:00
..
allwinner-a10.c hw/arm: Add WDT to Allwinner-A10 and Cubieboard 2023-04-20 10:21:13 +01:00
allwinner-h3.c hw/arm: Add WDT to Allwinner-H3 and Orangepi-PC 2023-04-20 10:21:14 +01:00
allwinner-r40.c hw: arm: allwinner-sramc: Add SRAM Controller support for R40 2023-06-06 10:19:33 +01:00
armsse.c
armv7m.c
aspeed.c arm: spelling fixes 2023-07-25 17:13:53 +03:00
aspeed_ast10x0.c
aspeed_ast2600.c target/arm: Allow users to set the number of VFP registers 2023-06-15 18:35:58 +02:00
aspeed_eeprom.c hw/arm/aspeed: Add VPD data for Rainier machine 2023-06-15 18:35:57 +02:00
aspeed_eeprom.h hw/arm/aspeed: Add VPD data for Rainier machine 2023-06-15 18:35:57 +02:00
aspeed_soc.c
bananapi_m2u.c hw: arm: allwinner-r40: Add emac and gmac support 2023-06-06 10:19:33 +01:00
bcm2835_peripherals.c hw/arm/bcm2835_property: Implement "get command line" message 2023-05-02 15:47:40 +01:00
bcm2836.c hw/arm/bcm2835_property: Implement "get command line" message 2023-05-02 15:47:40 +01:00
boot.c hw/arm/boot: Set SCR_EL3.FGTEn when booting kernel 2023-10-03 02:00:54 +03:00
collie.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
cubieboard.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
digic.c
digic_boards.c
exynos4_boards.c
exynos4210.c hw/arm: Fix some typos in comments (most found by codespell) 2023-04-20 10:21:13 +01:00
fby35.c aspeed: Use the boot_rom region of the fby35 machine 2023-06-15 18:35:58 +02:00
fsl-imx6.c fsl-imx6: Add SNVS support for i.MX6 boards 2023-05-30 13:02:53 +01:00
fsl-imx6ul.c fsl-imx6ul: Add fec[12]-phy-connected properties 2023-04-20 10:46:19 +01:00
fsl-imx7.c fsl-imx7: Add fec[12]-phy-connected properties 2023-04-20 10:46:35 +01:00
fsl-imx25.c
fsl-imx31.c
gumstix.c
highbank.c
imx25_pdk.c
integratorcp.c
Kconfig hw/arm/sbsa-ref: use XHCI to replace EHCI 2023-07-04 14:08:47 +01:00
kzm.c
mainstone.c
mcimx6ul-evk.c arm/mcimx6ul-evk: Set fec1-phy-connected property to false 2023-04-20 10:46:29 +01:00
mcimx7d-sabre.c arm/mcimx7d-sabre: Set fec2-phy-connected property to false 2023-04-20 10:46:43 +01:00
meson.build meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
microbit.c
mps2-tz.c arm: spelling fixes 2023-07-25 17:13:53 +03:00
mps2.c
msf2-soc.c
msf2-som.c
musca.c
musicpal.c bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
netduino2.c
netduinoplus2.c
npcm7xx.c
npcm7xx_boards.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
nrf51_soc.c
nseries.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
olimex-stm32-h405.c
omap1.c hw/arm: Fix some typos in comments (most found by codespell) 2023-04-20 10:21:13 +01:00
omap2.c hw/arm: Fix some typos in comments (most found by codespell) 2023-04-20 10:21:13 +01:00
omap_sx1.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
orangepi.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
palm.c *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
pxa2xx.c
pxa2xx_gpio.c
pxa2xx_pic.c
raspi.c hw/arm/raspi: Use arm_write_bootloader() to write boot code 2023-05-02 15:47:41 +01:00
realview.c
sabrelite.c
sbsa-ref.c hw/arm/sbsa-ref: set 'slots' property of xhci 2023-07-17 11:05:07 +01:00
smmu-common.c hw/arm/smmu: Handle big-endian hosts correctly 2023-07-25 10:56:51 +01:00
smmu-internal.h hw/arm/smmuv3: Add VMID to TLB tagging 2023-05-30 15:50:16 +01:00
smmuv3-internal.h hw/arm/smmuv3: Parse STE config for stage-2 2023-05-30 13:02:53 +01:00
smmuv3.c hw/arm/smmu: Handle big-endian hosts correctly 2023-07-25 10:56:51 +01:00
spitz.c
stellaris.c
stm32f100_soc.c
stm32f205_soc.c
stm32f405_soc.c
stm32vldiscovery.c
strongarm.c
strongarm.h
tosa.c
trace-events hw/arm/smmuv3: Add stage-2 support in iova notifier 2023-05-30 15:50:16 +01:00
trace.h
versatilepb.c
vexpress.c hw/arm/vexpress: Avoid trivial memory leak of 'flashalias' 2023-05-18 11:39:33 +01:00
virt-acpi-build.c hw/arm/virt-acpi-build.c: Add missing header 2023-07-08 07:24:38 +03:00
virt.c arm/virt: Use virtio-md-pci (un)plug functions 2023-07-12 09:27:28 +02:00
xen_arm.c xen: Don't pass MemoryListener around by value 2023-08-01 10:22:33 +01:00
xilinx_zynq.c
xlnx-versal-virt.c xlnx-versal: Connect Xilinx VERSAL CANFD controllers 2023-06-06 10:19:30 +01:00
xlnx-versal.c target-arm queue: 2023-06-06 12:11:34 -07:00
xlnx-zcu102.c
xlnx-zynqmp.c hw/arm/xlnx-zynqmp: fix unsigned error when checking the RPUs number 2023-05-30 15:50:16 +01:00
z2.c