• Mark Rutland's avatar
    arm64: entry: convert el0_sync to C · 582f9583
    Mark Rutland authored
    This is largely a 1-1 conversion of asm to C, with a couple of caveats.
    
    The el0_sync{_compat} switches explicitly handle all the EL0 debug
    cases, so el0_dbg doesn't have to try to bail out for unexpected EL1
    debug ESR values. This also means that an unexpected vector catch from
    AArch32 is routed to el0_inv.
    
    We *could* merge the native and compat switches, which would make the
    diffstat negative, but I've tried to stay as close to the existing
    assembly as possible for the moment.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    [split out of a bigger series, added nokprobes. removed irq trace
     calls as the C helpers do this. renamed el0_dbg's use of FAR]
    Signed-off-by: default avatarJames Morse <james.morse@arm.com>
    Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
    Cc: Julien Thierry <julien.thierry.kdev@gmail.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    582f9583
asm-uaccess.h 1.9 KB