Цитата(Alechek)
Если запретить глобально прерывания - выходит.
Если запретить все вектора VICIntEnable = 0 - выходит
Если запускать сразу из прерывания - остается навсегда
Если запускать из прерывания после VICVectAddr = 0 - выходит.
Судя по этому - выход из спячки по запросу IRQ или FIQ, пропущенному через VIC, вне зависимости от глобального разрешения прерываний. Однако, если VIC запрещает все (запущенные) прерывания, то процессор уже не проснётся. В частности так происходит внутри единственного активного обработчика до записи в VICVectAddr, когда VIC запрещает текущее прерывание полностью.