summaryrefslogtreecommitdiff
path: root/sys/arch/vax/include/trap.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/vax/include/trap.h')
-rw-r--r--sys/arch/vax/include/trap.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/sys/arch/vax/include/trap.h b/sys/arch/vax/include/trap.h
index b1cafc13785..2eb245a4de4 100644
--- a/sys/arch/vax/include/trap.h
+++ b/sys/arch/vax/include/trap.h
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.h,v 1.8 1995/06/16 15:17:40 ragge Exp $ */
+/* $NetBSD: trap.h,v 1.9 1995/11/12 14:33:11 ragge Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -104,6 +104,27 @@ struct trapframe {
u_int pc; /* User pc */
u_int psl; /* User psl */
};
+
+/*
+ * This struct is used when setting up interrupt vectors dynamically.
+ * It pushes a longword between 0-63 on the stack; this number is
+ * normally used as the ctlr number on devices. This use effectively
+ * limits the number of interruptable ctlrs on the unibus to 64.
+ */
+struct ivec_dsp {
+ char pushr; /* pushr */
+ char pushrarg; /* $3f */
+ char pushl; /* pushl */
+ char pushlarg; /* $? */
+ char nop; /* nop, for foolish gcc */
+ char calls[3]; /* calls $1,? */
+ u_int hoppaddr; /* jump for calls */
+ char popr; /* popr $0x3f */
+ char poprarg;
+ char rei; /* rei */
+ char pad; /* sizeof(struct ivec_dsp) == 16 */
+};
+
#endif /* ASSEMBLER */
#endif _VAX_TRAP_H_