Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/evbarm Add a NEWINTR option to reflect the new inte...



details:   https://anonhg.NetBSD.org/src/rev/161f92893141
branches:  trunk
changeset: 514576:161f92893141
user:      matt <matt%NetBSD.org@localhost>
date:      Wed Sep 05 17:00:20 2001 +0000

description:
Add a NEWINTR option to reflect the new interrupt/spl being implemented in
evbarm.

diffstat:

 sys/arch/evbarm/conf/std.iq80310 |   3 ++-
 sys/arch/evbarm/include/intr.h   |  29 +++++++++++++++++++++++++++--
 sys/arch/evbarm/include/psl.h    |   5 ++---
 3 files changed, 31 insertions(+), 6 deletions(-)

diffs (90 lines):

diff -r d9e1602f99d5 -r 161f92893141 sys/arch/evbarm/conf/std.iq80310
--- a/sys/arch/evbarm/conf/std.iq80310  Wed Sep 05 16:40:06 2001 +0000
+++ b/sys/arch/evbarm/conf/std.iq80310  Wed Sep 05 17:00:20 2001 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: std.iq80310,v 1.1 2001/09/05 04:53:39 matt Exp $
+#      $NetBSD: std.iq80310,v 1.2 2001/09/05 17:00:20 matt Exp $
 #
 # standard NetBSD/evbarm for IQ80310 options
 
@@ -8,6 +8,7 @@
 options        EXEC_AOUT
 options        EXEC_SCRIPT
 options                IQ80310
+options        NEWINTR
 
 # To support easy transit to ../arch/arm/arm32
 options                PROG32
diff -r d9e1602f99d5 -r 161f92893141 sys/arch/evbarm/include/intr.h
--- a/sys/arch/evbarm/include/intr.h    Wed Sep 05 16:40:06 2001 +0000
+++ b/sys/arch/evbarm/include/intr.h    Wed Sep 05 17:00:20 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: intr.h,v 1.1 2001/09/05 04:53:40 matt Exp $    */
+/*     $NetBSD: intr.h,v 1.2 2001/09/05 17:00:20 matt Exp $    */
 
 /*
  * Copyright (c) 1997 Mark Brinicombe.
@@ -65,13 +65,14 @@
 
 #if defined (_KERNEL) && !defined(_LOCORE)
 #include <sys/queue.h>
+#include <sys/device.h>
 
 extern int _splraise(int);
 extern int _spllower(int);
 extern int _splget(int);
 extern int _splset(int);
 extern int _splnone(void);
-extern int _softintrset(int);
+extern void _softintrset(int);
 extern int _softintrclr(int);
 
 #define        splsoftclock()          _splraise(IPL_SOFTCLOCK)
@@ -98,6 +99,8 @@
 #define        setsoftnet()            _softintrset(IPL_SOFTNET)
 #define        setsoftserial()         _softintrset(IPL_SOFTSERIAL)
 
+#define        _SPL_0                  IPL_NONE
+
 struct intrsource {
        void *is_cookie;
        LIST_ENTRY(evbarm_intrsource) is_link;
@@ -111,6 +114,28 @@
        (((src)->is_establish)((src)->is_cookie, irq, type, func, arg))
 #define        intr_disestablish(src, ih) \
        (((src)->is_disestablish)((src)->is_cookie, ih))
+
+struct irqhandler {
+       LIST_ENTRY(intrhandler) ih_ipllink;
+       LIST_ENTRY(intrhandler) ih_srclink;
+       int (*ih_func)(void *);
+       void *ih_arg;
+       int ih_flags;
+       int ih_ipl;
+       struct evcnt ih_ev;
+};
+
+struct fiqhandler {
+       void (*fh_func)(void);  /* handler function */
+       size_t fh_size;         /* Size of handler function */
+       register_t fh_r8;       /* FIQ mode r8 */
+       register_t fh_r9;       /* FIQ mode r9 */
+       register_t fh_r10;      /* FIQ mode r10 */
+       register_t fh_r11;      /* FIQ mode r11 */
+       register_t fh_r12;      /* FIQ mode r12 */
+       register_t fh_r13;      /* FIQ mode r13 */
+};
+
 #endif /* _KERNEL */
 
 #endif /* _EVBARM_INTR_H */
diff -r d9e1602f99d5 -r 161f92893141 sys/arch/evbarm/include/psl.h
--- a/sys/arch/evbarm/include/psl.h     Wed Sep 05 16:40:06 2001 +0000
+++ b/sys/arch/evbarm/include/psl.h     Wed Sep 05 17:00:20 2001 +0000
@@ -1,4 +1,3 @@
-/* $NetBSD: psl.h,v 1.1 2001/09/05 04:53:41 matt Exp $ */
+/* $NetBSD: psl.h,v 1.2 2001/09/05 17:00:21 matt Exp $ */
 
-#include <arm/arm32/psl.h>
-
+/*#include <arm/arm32/psl.h>*/



Home | Main Index | Thread Index | Old Index