The mwfi register is a read/write custom CSR with the number 0x7C4.
It is used to determine the output signal that is set to indicate that the processor
has executed a WFI instruction and is sleeping, which can either be Sleep, Hibernate, or
Suspend. It only exists when more than one
output signal is enabled (C_USE_SLEEP = 3, 5, 6, or
7).
Figure 1. Machine WFI Register

| Bits | Name | Description | Reset Value |
|---|---|---|---|
| 2 | Suspend | The Suspend signal is set when a WFI instruction is executed. | 0 |
| 1 | Hibernate | The Hibernate signal is set when a WFI instruction is executed. | 0 |
| 0 | Sleep | The Sleep signal is set when a WFI instruction is executed. | 0 |
Tip: It is recommended to enable only one of
the output signals by setting the register to 1, 2, or 4 to be compatible with MicroBlaze (that is, only one signal active at a
time).