core: Implement CFAR register
authorPaul Mackerras <paulus@ozlabs.org>
Mon, 15 Jun 2020 07:45:55 +0000 (17:45 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Mon, 29 Jun 2020 23:07:41 +0000 (09:07 +1000)
commitc2da82764f746745ab00d75bba9dd66b4c40c98d
tree53522083e7751b7ea17f0c308b5d124ffb08b64d
parent57604c1a6e3a5315f61db074c42ad2063a799246
core: Implement CFAR register

This implements the CFAR SPR as a slow SPR stored in 'ctrl'.  Taken
branches and rfid update it to the address of the branch or rfid
instruction.

To simplify the logic, this makes rfid use the branch logic to
generate its redirect (requiring SRR0 to come in to execute1 on
the B input and SRR1 on the A input), and the masking of the bottom
2 bits of NIA is moved to fetch1.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
common.vhdl
decode1.vhdl
execute1.vhdl
fetch1.vhdl