• Nicholas Piggin's avatar
    powerpc/cbe: Do not process external or decremeter interrupts from sreset · 6e83985b
    Nicholas Piggin authored
    Cell will wake from low power state at the system reset interrupt,
    with the event encoded in SRR1, rather than waking at the interrupt
    vector that corresponds to that event.
    
    The system reset handler for this platform decodes SRR1 event reason
    and calls the interrupt handler to process it directly from the system
    reset handlre.
    
    A subsequent change will treat the system reset interrupt as a Linux NMI
    with its own per-CPU stack, and this will no longer work. Remove the
    external and decrementer handlers from the system reset handler.
    
    - The external exception remains raised and will fire again at the
      EE interrupt vector when system reset returns.
    
    - The decrementer is set to 1 so it will be raised again and fire when
      the system reset returns.
    
    It is possible to branch to an idle handler from the system reset
    interrupt (like POWER does), then restore a normal stack and restore
    this optimisation. But simplicity wins for now.
    Tested-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    6e83985b
pervasive.c 3.34 KB