Instructions are no longer member functions
[riscv-isa-sim.git] / riscv / insns / mfpcr.h
index b72b850416fb3b115917bba3dd071276315c974f..0f23426e508c3c8680ba93a33b925aa4270ffdd0 100644 (file)
@@ -1,64 +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 = evec;
-    break;
-  case 4:
-    val = count;
-    break;
-  case 5:
-    val = compare;
-    break;
-  case 6:
-    val = cause;
-    break;
-
-  case 8:
-    val = MEMSIZE >> PGSHIFT;
-    break;
-
-  case 9:
-    val = mmu.get_ptbr();
-    break;
-
-  case 10:
-    val = id;
-    break;
-
-  case 11:
-    val = vecbanks;
-    break;
-
-  case 12:
-    val = sim->num_cores();
-    break;
-
-  case 17:
-    fromhost = val = sim->get_fromhost();
-    break;
-
-  case 24:
-    val = pcr_k0;
-    break;
-  case 25:
-    val = pcr_k1;
-    break;
-
-  default:
-    val = -1;
-}
-
-RD = sext_xprlen(val);
+RD = p->get_pcr(insn.rtype.rs1);