Instructions are no longer member functions
[riscv-isa-sim.git] / riscv / insns / mfpcr.h
index 00609576689ae4b230210f5b411cb846ec172284..0f23426e508c3c8680ba93a33b925aa4270ffdd0 100644 (file)
@@ -1,45 +1,2 @@
 require_supervisor;
-
-reg_t val;
-
-switch(insn.rtype.rs2)
-{
-  case 0:
-    val = sr;
-    break;
-  case 1:
-    val = epc;
-    break;
-  case 2:
-    val = badvaddr;
-    break;
-  case 3:
-    val = ebase;
-    break;
-  case 4:
-    val = count;
-    break;
-  case 5:
-    val = compare;
-    break;
-
-  case 8:
-    val = MEMSIZE >> 12;
-    break;
-
-  case 17:
-    fromhost = val = sim->get_fromhost();
-    break;
-
-  case 24:
-    val = pcr_k0;
-    break;
-  case 25:
-    val = pcr_k1;
-    break;
-
-  default:
-    val = -1;
-}
-
-RDR = gprlen == 64 ? val : sext32(val);
+RD = p->get_pcr(insn.rtype.rs1);