Oops, masked the wakeup-on-halt request path when I masked IRQs on WFI state.
This commit is contained in:
parent
099f0467fb
commit
6abd93eb49
|
@ -1423,8 +1423,11 @@ wire irq_active = |(mip & mie) && mstatus_mie && !dcsr_step;
|
|||
// WFI clear respects individual interrupt enables but ignores mstatus.mie.
|
||||
// Additionally, wfi is treated as a nop during single-stepping and D-mode.
|
||||
// Note that the IRQs and debug halt request input registers are clocked by
|
||||
// clk_always_on, so that a wakeup can be generated when asleep.
|
||||
assign pwr_wfi_wakeup_req = |(mip & mie) || dcsr_step || debug_mode || want_halt_irq_if_no_exception;
|
||||
// clk_always_on, so that a wakeup can be generated when asleep. Note also
|
||||
// that want_halt_irq_if_no_exception can be masked while asleep, so also
|
||||
// feed in the raw halt request as a wakeup source.
|
||||
assign pwr_wfi_wakeup_req = |(mip & mie) || dcsr_step || debug_mode ||
|
||||
want_halt_irq_if_no_exception || dbg_req_halt_prev;
|
||||
|
||||
// Priority order from priv spec: external > software > timer
|
||||
wire [3:0] standard_irq_num =
|
||||
|
|
Loading…
Reference in New Issue