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.
microwatt/scripts
Paul Mackerras 205c0e2c78 Implement the wait instruction
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 Implement the wait instruction 1 month ago
mw_debug execute1: Make CFAR able to be written using mtspr and read using DMI debug 1 month ago
bin2hex.py
dependencies.py
gen_icache_tb.py
make_version.sh
make_version_fusesoc.py
run_test.sh scripts/run_test: Use grep -E instead of egrep 1 year ago
run_test_console.sh
test_micropython.py
test_micropython_long.py
test_micropython_verilator.py
test_micropython_verilator_long.py
vhdltags