mirror of
https://github.com/torvalds/linux.git
synced 2024-11-30 08:01:59 +00:00
a35707c3d8
Some current cpus based on T-Head cores implement memory-types way different than described in the svpbmt spec even going so far as using PTE bits marked as reserved. Add the T-Head vendor-id and necessary errata code to replace the affected instructions. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Tested-by: Samuel Holland <samuel@sholland.org> Link: https://lore.kernel.org/r/20220511192921.2223629-13-heiko@sntech.de Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
58 lines
1.6 KiB
Plaintext
58 lines
1.6 KiB
Plaintext
menu "CPU errata selection"
|
|
|
|
config ERRATA_SIFIVE
|
|
bool "SiFive errata"
|
|
depends on !XIP_KERNEL
|
|
select RISCV_ALTERNATIVE
|
|
help
|
|
All SiFive errata Kconfig depend on this Kconfig. Disabling
|
|
this Kconfig will disable all SiFive errata. Please say "Y"
|
|
here if your platform uses SiFive CPU cores.
|
|
|
|
Otherwise, please say "N" here to avoid unnecessary overhead.
|
|
|
|
config ERRATA_SIFIVE_CIP_453
|
|
bool "Apply SiFive errata CIP-453"
|
|
depends on ERRATA_SIFIVE && 64BIT
|
|
default y
|
|
help
|
|
This will apply the SiFive CIP-453 errata to add sign extension
|
|
to the $badaddr when exception type is instruction page fault
|
|
and instruction access fault.
|
|
|
|
If you don't know what to do here, say "Y".
|
|
|
|
config ERRATA_SIFIVE_CIP_1200
|
|
bool "Apply SiFive errata CIP-1200"
|
|
depends on ERRATA_SIFIVE && 64BIT
|
|
default y
|
|
help
|
|
This will apply the SiFive CIP-1200 errata to repalce all
|
|
"sfence.vma addr" with "sfence.vma" to ensure that the addr
|
|
has been flushed from TLB.
|
|
|
|
If you don't know what to do here, say "Y".
|
|
|
|
config ERRATA_THEAD
|
|
bool "T-HEAD errata"
|
|
select RISCV_ALTERNATIVE
|
|
help
|
|
All T-HEAD errata Kconfig depend on this Kconfig. Disabling
|
|
this Kconfig will disable all T-HEAD errata. Please say "Y"
|
|
here if your platform uses T-HEAD CPU cores.
|
|
|
|
Otherwise, please say "N" here to avoid unnecessary overhead.
|
|
|
|
config ERRATA_THEAD_PBMT
|
|
bool "Apply T-Head memory type errata"
|
|
depends on ERRATA_THEAD && 64BIT
|
|
select RISCV_ALTERNATIVE_EARLY
|
|
default y
|
|
help
|
|
This will apply the memory type errata to handle the non-standard
|
|
memory type bits in page-table-entries on T-Head SoCs.
|
|
|
|
If you don't know what to do here, say "Y".
|
|
|
|
endmenu
|