You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Paul Mackerras
205c0e2c78
This implements the behaviour of the 'wait 0' instruction of pausing execution of instructions until an exception arises. The exceptions that terminate a wait are a pending trace exception, external interrupt request, PMU interrupt request, or decrementer negative exception. These exception conditions terminate a wait even if not enabled to generate an interrupt (e.g. if MSR[EE] is zero). This is implemented by having execute1 assert its busy_out signal while the wait state exists. The wait state is set by the completion of the wait instruction and cleared by a pending exception. If the WC operand of the wait instruction is non-zero, indicating wait for reservation loss or wait for a short period, then the wait instruction does not wait, but just acts as a no-op. In order to make space in the insn_type_t type without going over 64 elements, this combines OP_DCBT and OP_ICBT into a single OP_XCBT, since they were both no-ops (except for their influence on how SRR1 is set on a trace interrupt, where they were identical). Signed-off-by: Paul Mackerras <paulus@ozlabs.org> |
1 month ago | |
---|---|---|
.. | ||
fmt_log | 1 month ago | |
mw_debug | 1 month ago | |
bin2hex.py | 5 years ago | |
dependencies.py | 5 years ago | |
gen_icache_tb.py | 5 years ago | |
make_version.sh | 2 years ago | |
make_version_fusesoc.py | 2 years ago | |
run_test.sh | 1 year ago | |
run_test_console.sh | 3 years ago | |
test_micropython.py | 5 years ago | |
test_micropython_long.py | 5 years ago | |
test_micropython_verilator.py | 3 years ago | |
test_micropython_verilator_long.py | 3 years ago | |
vhdltags | 5 years ago |