[xcc] minor performance tweaks
[riscv-isa-sim.git] / riscv / insns / mfpcr.h
index fe00f5ffe65d71283ec48c228bf03d8a22fc33d8..e0c67ae1fd42708d47f8b72b31a7d173a05a4fd5 100644 (file)
@@ -25,15 +25,31 @@ switch(insn.rtype.rs2)
   case 6:
     val = cause;
     break;
+  case 7:
+    val = 0;
+    cause &= ~(1 << (IPI_IRQ+CAUSE_IP_SHIFT));
+    break;
 
   case 8:
-    val = MEMSIZE >> PGSHIFT;
+    val = mmu.memsz >> 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;