PERFORCE change 136245 for review

Randall R. Stewart rrs at FreeBSD.org
Tue Feb 26 14:18:08 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=136245

Change 136245 by rrs at rrs-mips2-jnpr on 2008/02/26 14:17:52

	New do_ast

Affected files ...

.. //depot/projects/mips2-jnpr/src/sys/mips/include/asm.h#13 edit

Differences ...

==== //depot/projects/mips2-jnpr/src/sys/mips/include/asm.h#13 (text+ko) ====

@@ -306,21 +306,30 @@
 /*
  * Call ast if required
  */
-#define DO_AST							\
-	GET_CPU_PCPU(a0)					\
-	lw	a0, PC_CURTHREAD(a0);				\
-	lw	t0, TD_FLAGS(a0);			        \
-	and	t0, t0, (TDF_ASTPENDING|TDF_NEEDRESCHED);	\
-	beq	t0, zero, 27f;					\
-	nop;							\
-	lw	a0, TD_FRAME(a0);				\
-	lw	t0, TF_REG_SR(a0);				\
-	and	t0, t0, SR_KSU_USER;				\
-	beq	t0, zero, 27f;					\
-	nop;							\
-	jal	ast;						\
-	nop;							\
-27:					
+#define DO_AST				             \
+44:				                     \
+        GET_CPU_PCPU(a1)                            ;\
+	lw	a1, PC_CURPCB(a1)                   ;\
+	la	s0, _C_LABEL(disableintr)           ;\
+	jalr	s0                                  ;\
+	nop                                         ;\
+	GET_CPU_PCPU(s1)                            ;\
+	lw	s3, PC_CURPCB(s1)                   ;\
+	lw	s1, PC_CURTHREAD(s1)                ;\
+	lw	s2, TD_FLAGS(s1)                    ;\
+	li	s0, TDF_ASTPENDING | TDF_NEEDRESCHED;\
+	and	s2, s0                              ;\
+	la	s0, _C_LABEL(enableintr)            ;\
+	jalr	s0                                  ;\
+	nop                                         ;\
+	beq	s2, zero, 4f                        ;\
+	nop                                         ;\
+	la	s0, _C_LABEL(ast)                   ;\
+	jalr	s0                                  ;\
+	addu	a0, s3, U_PCB_REGS                  ;\
+	j 44b			                    ;\
+4:
+
 
 /*
  * XXX retain dialects XXX


More information about the p4-projects mailing list