Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Mar 2004 00:37:09 -0800 (PST)
From:      Juli Mallett <jmallett@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 48876 for review
Message-ID:  <200403130837.i2D8b9wv054555@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=48876

Change 48876 by jmallett@jmallett_oingo on 2004/03/13 00:36:14

	Interrupt?  Sure, why not.

Affected files ...

.. //depot/projects/mips/sys/mips/include/hwfunc.h#4 edit
.. //depot/projects/mips/sys/mips/mips/trap.c#17 edit

Differences ...

==== //depot/projects/mips/sys/mips/include/hwfunc.h#4 (text+ko) ====

@@ -28,12 +28,15 @@
 #ifndef _MACHINE_HWFUNC_H_
 #define	_MACHINE_HWFUNC_H_
 
+struct trapframe;
+
 /*
  * Hooks downward into hardware functionality.
  */
 
 void platform_configure(void);
 void platform_halt(void);
+void platform_intr(struct trapframe *);
 void platform_reset(void);
 void platform_start(int, char *[]);
 

==== //depot/projects/mips/sys/mips/mips/trap.c#17 (text+ko) ====

@@ -40,6 +40,7 @@
 #include <machine/pte.h>
 #include <machine/tlb.h>
 #include <machine/trap.h>
+#include <machine/hwfunc.h>
 
 #ifdef DDB
 #include <machine/db_machdep.h>
@@ -108,6 +109,12 @@
 		tlb_modified(badvaddr);
 		platform_trap_exit();
 		return;
+	case TrInt:
+		platform_trap_exit();
+		atomic_add_int(&curthread->td_intr_nesting_level, 1);
+		platform_intr(tf);
+		atomic_subtract_int(&curthread->td_intr_nesting_level, 1);
+		return;
 	default:
 		/* Fatal! */
 		break;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403130837.i2D8b9wv054555>