Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Apr 2003 18:12:45 -0700 (PDT)
From:      Juli Mallett <jmallett@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 30016 for review
Message-ID:  <200304290112.h3T1CjTa073232@repoman.freebsd.org>

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

Change 30016 by jmallett@jmallett_dalek on 2003/04/28 18:12:09

	Real clockframe.

Affected files ...

.. //depot/projects/mips/sys/mips/include/cpu.h#9 edit

Differences ...

==== //depot/projects/mips/sys/mips/include/cpu.h#9 (text+ko) ====

@@ -31,8 +31,26 @@
 
 #include <machine/frame.h>
 
-#define	CLKF_USERMODE(cfp)	(0)
-#define	CLKF_PC(cfp)		(0)
+/*
+ * Arguments to hardclock and gatherstats encapsulate the previous
+ * machine state in an opaque clockframe.
+ */
+struct clockframe {
+	int	pc;	/* program counter at time of interrupt */
+	int	sr;	/* status register at time of interrupt */
+	int	ppl;	/* previous priority level at time of interrupt */
+};
+
+#define	CLKF_USERMODE(framep)	((framep)->sr & MIPS_SR_KSU_USER)
+#define	CLKF_BASEPRI(framep)	\
+	((~(framep)->sr & (MIPS_INT_MASK | MIPS_SR_INT_IE)) == 0)
+
+#ifdef IPL_ICU_MASK
+#define ICU_CLKF_BASEPRI(framep)	((framep)->ppl == 0)
+#endif
+
+#define	CLKF_PC(framep)		((framep)->pc)
+#define	CLKF_INTR(framep)	(0)
 
 #define TRAPF_PC(tframe)	((tframe)->tf_regs[TF_EPC])
 



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