forked from Mirrors/opensbi

The TLB entries remain functional all the time once added in T-HEAD th1520 and Sophgo sg2042 (even if the MMU is then disabled afterwards). If there are some stale TLB entries that contains the address of SBI, it will cause unexpected memory access and issue a illegal instruction error. To avoid this, a TLB flush is needed to drop these TLB entries before any memory access in the trap handler. To handle this workaroud, add a custom trap handler with executing TLB flush first in the T-HEAD platform to fix affected socs. Signed-off-by: Inochi Amaoto <inochiama@outlook.com> Reviewed-by: Anup Patel <anup@brainfault.org>
62 lines
1.1 KiB
Plaintext
62 lines
1.1 KiB
Plaintext
# SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
config PLATFORM_GENERIC
|
|
bool
|
|
select FDT
|
|
select FDT_DOMAIN
|
|
select FDT_PMU
|
|
default y
|
|
|
|
if PLATFORM_GENERIC
|
|
|
|
config PLATFORM_GENERIC_NAME
|
|
string "Platform default name"
|
|
default "Generic"
|
|
|
|
config PLATFORM_GENERIC_MAJOR_VER
|
|
int "Platform major version"
|
|
range 0 65535
|
|
default 0
|
|
|
|
config PLATFORM_GENERIC_MINOR_VER
|
|
int "Platform minor version"
|
|
range 0 65535
|
|
default 1
|
|
|
|
config PLATFORM_ALLWINNER_D1
|
|
bool "Allwinner D1 support"
|
|
depends on FDT_IRQCHIP_PLIC
|
|
default n
|
|
|
|
config PLATFORM_ANDES_AE350
|
|
bool "Andes AE350 support"
|
|
select SYS_ATCSMU
|
|
default n
|
|
|
|
config PLATFORM_RENESAS_RZFIVE
|
|
bool "Renesas RZ/Five support"
|
|
select ANDES45_PMA
|
|
select ANDES_SBI
|
|
default n
|
|
|
|
config PLATFORM_SIFIVE_FU540
|
|
bool "SiFive FU540 support"
|
|
default n
|
|
|
|
config PLATFORM_SIFIVE_FU740
|
|
bool "SiFive FU740 support"
|
|
depends on FDT_RESET && FDT_I2C
|
|
default n
|
|
|
|
config PLATFORM_STARFIVE_JH7110
|
|
bool "StarFive JH7110 support"
|
|
default n
|
|
|
|
config PLATFORM_THEAD
|
|
bool "THEAD C9xx support"
|
|
default n
|
|
|
|
source "$(OPENSBI_SRC_DIR)/platform/generic/andes/Kconfig"
|
|
|
|
endif
|