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;
_______________________________________________
Rpcemu mailing list
Rpcemu@riscos.info
http://www.riscos.info/cgi-bin/mailman/listinfo/rpcemu
No comments:
Post a Comment