projects
/
soc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ee7ab36
)
Implement TRAP instructions OP_RFID and OP_SC
author
colepoirier
<colepoirier@gmail.com>
Tue, 2 Jun 2020 23:41:37 +0000
(16:41 -0700)
committer
colepoirier
<colepoirier@gmail.com>
Tue, 2 Jun 2020 23:41:37 +0000
(16:41 -0700)
src/soc/fu/trap/main_stage.py
patch
|
blob
|
history
diff --git
a/src/soc/fu/trap/main_stage.py
b/src/soc/fu/trap/main_stage.py
index bbd00b64c9919bfc6519a9cf22c1d904ae2ded12..03e5c2e4ab776564e755ec5b6407b2979b97977d 100644
(file)
--- a/
src/soc/fu/trap/main_stage.py
+++ b/
src/soc/fu/trap/main_stage.py
@@
-163,7
+163,8
@@
class TrapMainStage(PipeModBase):
ctrl_tmp.msr(MSR_DR) <= '1';
end if;
"""
- pass
+ comb += self.o.msr.data.eq(Cat(b[63:31], b[26:22], b[15:0]))
+ comb += self.o.msr.ok.eq(a)
# TODO
with m.Case(InternalOp.OP_SC):
@@
-173,7
+174,8
@@
class TrapMainStage(PipeModBase):
ctrl_tmp.irq_nia <= std_logic_vector(to_unsigned(16#C00#, 64));
ctrl_tmp.srr1 <= msr_copy(ctrl.msr);
"""
- pass
+ comb += self.o.nia.eq(0xC00)
+ comb += self.o.nia.ok.eq(1)
#with m.Case(InternalOp.OP_ADDPCIS):
# pass