• Mark Rutland's avatar
    arm64: entry: cleanup sp_el0 manipulation · 3e393417
    Mark Rutland authored
    The kernel stashes the current task struct in sp_el0 so that this can be
    acquired consistently/cheaply when required. When we take an exception
    from EL0 we have to:
    
    1) stash the original sp_el0 value
    2) find the current task
    3) update sp_el0 with the current task pointer
    
    Currently steps #1 and #2 occur in one place, and step #3 a while later.
    As the value of sp_el0 is immaterial between these points, let's move
    them together to make the code clearer and minimize ifdeffery. This
    necessitates moving the comment for MDSCR_EL1.SS.
    
    There should be no functional change as a result of this patch.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: James Morse <james.morse@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: default avatarWill Deacon <will@kernel.org>
    3e393417
entry.S 24.8 KB