• Jisheng Zhang's avatar
    riscv: introduce RISCV_EFFICIENT_UNALIGNED_ACCESS · b6da6cbe
    Jisheng Zhang authored
    Some riscv implementations such as T-HEAD's C906, C908, C910 and C920
    support efficient unaligned access, for performance reason we want
    to enable HAVE_EFFICIENT_UNALIGNED_ACCESS on these platforms. To
    avoid performance regressions on other non efficient unaligned access
    platforms, HAVE_EFFICIENT_UNALIGNED_ACCESS can't be globally selected.
    
    To solve this problem, runtime code patching based on the detected
    speed is a good solution. But that's not easy, it involves lots of
    work to modify vairous subsystems such as net, mm, lib and so on.
    This can be done step by step.
    
    So let's take an easier solution: add support to efficient unaligned
    access and hide the support under NONPORTABLE.
    
    Now let's introduce RISCV_EFFICIENT_UNALIGNED_ACCESS which depends on
    NONPORTABLE, if users know during config time that the kernel will be
    only run on those efficient unaligned access hw platforms, they can
    enable it. Obviously, generic unified kernel Image shouldn't enable it.
    Signed-off-by: default avatarJisheng Zhang <jszhang@kernel.org>
    Reviewed-by: default avatarCharlie Jenkins <charlie@rivosinc.com>
    Reviewed-by: default avatarEric Biggers <ebiggers@google.com>
    Link: https://lore.kernel.org/r/20231225044207.3821-2-jszhang@kernel.orgSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
    b6da6cbe
Makefile 5.83 KB