summaryrefslogtreecommitdiffstats
path: root/tools/lib/python/__init__.py
diff options
context:
space:
mode:
authorVivian Wang <wangruikang@iscas.ac.cn>2026-04-01 09:53:17 +0800
committerPaul Walmsley <pjw@kernel.org>2026-05-13 22:26:32 -0600
commitb69bcb13ed7024a84d6cd8ad330f1e32782fcf28 (patch)
tree58e580f9fcf7dda18a0dd98883a1c8689b7934b4 /tools/lib/python/__init__.py
parent50da1c9ccb70fc5250c37ac474b54ee072732ea3 (diff)
downloadlinux-b69bcb13ed7024a84d6cd8ad330f1e32782fcf28.tar.gz
linux-b69bcb13ed7024a84d6cd8ad330f1e32782fcf28.zip
riscv: misaligned: Make enabling delegation depend on NONPORTABLE
The unaligned access emulation code in Linux has various deficiencies. For example, it doesn't emulate vector instructions [1] [2], and doesn't emulate KVM guest accesses. Therefore, requesting misaligned exception delegation with SBI FWFT actually regresses vector instructions' and KVM guests' behavior. Until Linux can handle it properly, guard these sbi_fwft_set() calls behind RISCV_SBI_FWFT_DELEGATE_MISALIGNED, which in turn depends on NONPORTABLE. Those who are sure that this wouldn't be a problem can enable this option, perhaps getting better performance. The rest of the existing code proceeds as before, except as if SBI_FWFT_MISALIGNED_EXC_DELEG is not available, to handle any remaining address misaligned exceptions on a best-effort basis. The KVM SBI FWFT implementation is also not touched, but it is disabled if the firmware emulates unaligned accesses. Cc: stable@vger.kernel.org Fixes: cf5a8abc6560 ("riscv: misaligned: request misaligned exception from SBI") Reported-by: Songsong Zhang <U2FsdGVkX1@gmail.com> # KVM Link: https://lore.kernel.org/linux-riscv/38ce44c1-08cf-4e3f-8ade-20da224f529c@iscas.ac.cn/ [1] Link: https://lore.kernel.org/linux-riscv/b3cfcdac-0337-4db0-a611-258f2868855f@iscas.ac.cn/ [2] Signed-off-by: Vivian Wang <wangruikang@iscas.ac.cn> Acked-by: Conor Dooley <conor.dooley@microchip.com> Link: https://patch.msgid.link/20260401-riscv-misaligned-dont-delegate-v2-1-5014a288c097@iscas.ac.cn Signed-off-by: Paul Walmsley <pjw@kernel.org>
Diffstat (limited to 'tools/lib/python/__init__.py')
0 files changed, 0 insertions, 0 deletions