Skip to content
Commit fd8c3fc3 authored by James Morse's avatar James Morse
Browse files

arm64: entry: Allow SPSR_EL1.SS to be restored



If we take an IRQ from the single-step state-machine's active-not-pending
state, the PSTATE.SS bit is saved in SPSR_EL1.SS. This lets us restore the
state machine when we return to the to-be-stepped instruction.

The ARM-ARM has some rules about when ERET will restore this bit, (see
ARM DDI 0487B.a D2.12.4 Entering the active-not-pending state'), in
particular it requires 'debug exceptions are disabled from the current
exception level'. el1_irq unmasks debug exceptions, and continues like this
until eret. The PSTATE.SS bit is not restored.

Fix this this by masking all exceptions on kernel_exit.

Signed-off-by: James Morse's avatarJames Morse <james.morse@arm.com>
parent b2ba535e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment