]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - jailhouse/ti-jailhouse.git/commit
arm64: Initialise SMCCC backend
authorRalf Ramsauer <ralf.ramsauer@oth-regensburg.de>
Thu, 3 Jan 2019 18:06:46 +0000 (19:06 +0100)
committerJan Kiszka <jan.kiszka@siemens.com>
Fri, 4 Jan 2019 07:33:36 +0000 (08:33 +0100)
commitea924a3fec98684863f6abbdd2860d1ae5c1ea53
treec3c48c971ce73be2922726dee97f3965e039f553
parent03d09b9c3b119ea704edafdd9f358ce57e2a829f
arm64: Initialise SMCCC backend

by discovering its features.

The first step is to check the PSCI version. Don't even try to do any
SMCCC calls without having checked the proper PSCI version (current QEMU
horribly crashes).

Probe if SMCCC_ARCH_FEATURES is available. If so, probe for
SMCCC_ARCH_WORKAROUND_1 and expose its availability by setting a flag
inside the percpu structure.

The availability is stored per-cpu, as we might have big.LITTLE systems,
where only a subset of cores need mitigations.

Signed-off-by: Ralf Ramsauer <ralf.ramsauer@oth-regensburg.de>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
hypervisor/arch/arm-common/include/asm/percpu.h
hypervisor/arch/arm-common/include/asm/smccc.h
hypervisor/arch/arm-common/setup.c
hypervisor/arch/arm-common/smccc.c
hypervisor/arch/arm/include/asm/percpu_fields.h
hypervisor/arch/arm64/include/asm/percpu_fields.h