• Youling Tang's avatar
    LoongArch: extable: Add a dedicated uaccess handler · 672999cf
    Youling Tang authored
    Inspired by commit 2e77a62c("arm64: extable: add a dedicated uaccess
    handler"), do similar to LoongArch to add a dedicated uaccess exception
    handler to update registers in exception context and subsequently return
    back into the function which faulted, so we remove the need for fixups
    specialized to each faulting instruction.
    
    Add gpr-num.h here because we need to map the same GPR names to integer
    constants, so that we can use this to build meta-data for the exception
    fixups.
    
    The compiler treats gpr 0 as zero rather than $r0, so set it separately
    to .L__gpr_num_zero, otherwise the following assembly error will occurs:
    
    {standard input}: Assembler messages:
    {standard input}:1074: Error: invalid operands (*UND* and *ABS* sections) for `<<'
    {standard input}:1160: Error: invalid operands (*UND* and *ABS* sections) for `<<'
    make[1]: *** [scripts/Makefile.build:249: fs/fcntl.o] Error 1
    Signed-off-by: default avatarYouling Tang <tangyouling@loongson.cn>
    Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
    672999cf
uaccess.h 7.55 KB