[opcodes,pk,sim] add more vector traps (for #banks, illegal instructions)
[riscv-isa-sim.git] / riscv / insns / mtpcr.h
1 require_supervisor;
2
3 switch(insn.rtype.rs2)
4 {
5 case 0:
6 set_sr(RS1);
7 break;
8 case 1:
9 epc = RS1;
10 break;
11 case 3:
12 evec = RS1;
13 break;
14 case 4:
15 count = RS1;
16 break;
17 case 5:
18 cause &= ~(1 << (TIMER_IRQ+CAUSE_IP_SHIFT));
19 compare = RS1;
20 break;
21
22 case 9:
23 mmu.set_ptbr(RS1);
24 break;
25
26 case 11:
27 vecbanks = RS1 & 0xff;
28 vecbanks_count = __builtin_popcountll(vecbanks);
29 break;
30
31 case 16:
32 tohost = RS1;
33 sim->set_tohost(RS1);
34 break;
35
36 case 24:
37 pcr_k0 = RS1;
38 break;
39 case 25:
40 pcr_k1 = RS1;
41 break;
42 }