[Rpcemu] Patch for missing IOMD registers

Sprow webpages at sprow.co.uk
Thu Jul 12 01:27:18 PDT 2012


Hi,
The emulation does seem to support software generated FIQs (by the
permanently set bit 7 in the FIQ status reg) but no way to read it back
(returns 0). See patch below,
Sprow.



--- iomd.c	2012-07-12 08:40:41.0 +0100
+++ iomdpatch.c	2012-07-12 08:40:41.0 +0100
@@ -38,8 +38,8 @@
 
 //#define IOMD_0x02C_STOPMODE 0x02C /* Enter STOP mode (ARM7500/FE) */
 
-//#define IOMD_0x030_FIQST    0x030 /* FIQ status */
-//#define IOMD_0x034_FIQRQ    0x034 /* FIQ request */
+#define IOMD_0x030_FIQST    0x030 /* FIQ status */
+#define IOMD_0x034_FIQRQ    0x034 /* FIQ request */
 #define IOMD_0x038_FIQMSK   0x038 /* FIQ mask */
 
 #define IOMD_0x03C_CLKCTL   0x03C /* Clock divider control (ARM7500/FE) */
@@ -565,6 +565,10 @@
         case IOMD_0x028_IRQMSKB: /* IRQB mask */
                 return iomd.irqb.mask;
 
+        case IOMD_0x030_FIQST: /* FIQ status */
+                return iomd.fiq.status;
+        case IOMD_0x034_FIQRQ: /* FIQ request */
+                return iomd.fiq.status & iomd.fiq.mask;
         case IOMD_0x038_FIQMSK: /* FIQ mask */
                 return iomd.fiq.mask;




More information about the Rpcemu mailing list