• Marc Zyngier's avatar
    arm64: let the core code deal with preempt_count · 64681787
    Marc Zyngier authored
    Commit f27dde8d (sched: Add NEED_RESCHED to the preempt_count)
    introduced the use of bit 31 in preempt_count for obscure scheduling
    purposes.
    
    This causes interrupts taken from EL0 to hit the (open coded) BUG when
    this flag is flipped while handling the interrupt (we compare the
    values before and after, and kill the kernel if they are different).
    
    The fix is to stop messing with the preempt count entirely, as this
    is already being dealt with in the generic code (irq_enter/irq_exit).
    
    Tested on a dual A53 FPGA running cyclictest.
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    64681787
entry.S 14.9 KB