diff options
| author | Samuel Holland <[email protected]> | 2024-03-27 04:49:49 +0000 |
|---|---|---|
| committer | Palmer Dabbelt <[email protected]> | 2024-04-29 17:49:31 +0000 |
| commit | d6dcdabafcd7c612b164079d00da6d9775863a0b (patch) | |
| tree | 891257d2841136d48575cc49123a13f10974beb3 /scripts/generate_rust_target.rs | |
| parent | riscv: Apply SiFive CIP-1200 workaround to single-ASID sfence.vma (diff) | |
| download | kernel-d6dcdabafcd7c612b164079d00da6d9775863a0b.tar.gz kernel-d6dcdabafcd7c612b164079d00da6d9775863a0b.zip | |
riscv: Avoid TLB flush loops when affected by SiFive CIP-1200
Implementations affected by SiFive errata CIP-1200 have a bug which
forces the kernel to always use the global variant of the sfence.vma
instruction. When affected by this errata, do not attempt to flush a
range of addresses; each iteration of the loop would actually flush the
whole TLB instead. Instead, minimize the overall number of sfence.vma
instructions.
Signed-off-by: Samuel Holland <[email protected]>
Reviewed-by: Yunhui Cui <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Palmer Dabbelt <[email protected]>
Diffstat (limited to 'scripts/generate_rust_target.rs')
0 files changed, 0 insertions, 0 deletions
