summaryrefslogtreecommitdiff
path: root/nuttx/arch/z80/include
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-02-14 20:53:15 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-02-14 20:53:15 +0000
commiteba1f80b6bf73a0006e43c89b4fc96362bb1a20b (patch)
tree5066baebebfb0681bdcb113373ebae8b6f53e42d /nuttx/arch/z80/include
parent32051bc141f4b729a8738fc19633a4010201348b (diff)
downloadnuttx-eba1f80b6bf73a0006e43c89b4fc96362bb1a20b.tar.gz
nuttx-eba1f80b6bf73a0006e43c89b4fc96362bb1a20b.tar.bz2
nuttx-eba1f80b6bf73a0006e43c89b4fc96362bb1a20b.zip
Fleshing out ez8 context switch logic
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@684 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/z80/include')
-rw-r--r--nuttx/arch/z80/include/z8/irq.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/nuttx/arch/z80/include/z8/irq.h b/nuttx/arch/z80/include/z8/irq.h
index 15979c0a6..25d6d3ef4 100644
--- a/nuttx/arch/z80/include/z8/irq.h
+++ b/nuttx/arch/z80/include/z8/irq.h
@@ -236,11 +236,12 @@
#define XCPT_RR10 (5)
#define XCPT_RR12 (6)
#define XCPT_R1R4 (7)
-#define XCPT_SP (8) /* Index 8: SP[8:15] */
-#define XCPT_I (9) /* Index 9: FLAGS */
-#define XCPT_PC (10) /* Index 10: PC[8:15] */
+#define XCPT_IRQCTL (8) /* Index 8: IRQCTL register */
+#define XCPT_SP (9) /* Index 9: SP[8:15] */
+#define XCPT_RPFLAGS (10) /* Index 10: RP (MS) and FLAGS (LS) */
+#define XCPT_PC (11) /* Index 11: PC[8:15] */
-#define XCPTCONTEXT_REGS (11)
+#define XCPTCONTEXT_REGS (12)
/* Byte offsets: */
@@ -260,12 +261,14 @@
#define XCPT_R13_OFFS (2*XCPT_RR12+1)
#define XCPT_R14_OFFS (2*XCPT_R1R4)
#define XCPT_R15_OFFS (2*XCPT_R1R4+1)
-#define XCPT_SPH_OFFS (2*XCPT_SP) /* Offset 16: SP[8:15] */
-#define XCPT_SPL_OFFS (2*XCPT_SP+1) /* Offset 17: SP[0:7] */
-#define XCPT_RP_OFFS (2*XCPT_I) /* Offset 18: Register pointer */
-#define XCPT_FLAGS_OFFS (2*XCPT_I+1) /* Offset 19: FLAGS */
-#define XCPT_PCH_OFFS (2*XCPT_PC) /* Offset 20: PC[8:15] */
-#define XCPT_PCL_OFFS (2*XCPT_PC+1) /* Offset 21: PC[0:7] */
+#define XCPT_UNUSED_OFFS (2*XCPT_IRQCTL) /* Offset 16: Unused (zero) */
+#define XCPT_IRQCTL_OFFS (2*XCPT_IRQCTL+1) /* offset 17: IRQCTL register */
+#define XCPT_SPH_OFFS (2*XCPT_SP) /* Offset 18: SP[8:15] */
+#define XCPT_SPL_OFFS (2*XCPT_SP+1) /* Offset 19: SP[0:7] */
+#define XCPT_RP_OFFS (2*XCPT_I) /* Offset 20: Register pointer */
+#define XCPT_FLAGS_OFFS (2*XCPT_I+1) /* Offset 21: FLAGS */
+#define XCPT_PCH_OFFS (2*XCPT_PC) /* Offset 22: PC[8:15] */
+#define XCPT_PCL_OFFS (2*XCPT_PC+1) /* Offset 23: PC[0:7] */
#define XCPTCONTEXT_SIZE (2*XCPTCONTEXT_REGS)