• Mark Rutland's avatar
    arm64: convert raw syscall invocation to C · 4141c857
    Mark Rutland authored
    As a first step towards invoking syscalls with a pt_regs argument,
    convert the raw syscall invocation logic to C. We end up with a bit more
    register shuffling, but the unified invocation logic means we can unify
    the tracing paths, too.
    
    Previously, assembly had to open-code calls to ni_sys() when the system
    call number was out-of-bounds for the relevant syscall table. This case
    is now handled by invoke_syscall(), and the assembly no longer need to
    handle this case explicitly. This allows the tracing paths to be
    simplified and unified, as we no longer need the __ni_sys_trace path and
    the __sys_trace_return label.
    
    This only converts the invocation of the syscall. The rest of the
    syscall triage and tracing is left in assembly for now, and will be
    converted in subsequent patches.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    4141c857
traps.c 19.9 KB