Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Feb 2008 19:47:39 GMT
From:      "Randall R. Stewart" <rrs@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 136415 for review
Message-ID:  <200802291947.m1TJldwv092289@repoman.freebsd.org>

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

Change 136415 by rrs@rrs-mips2-jnpr on 2008/02/28 10:09:33

	use MIPS_SR_INT_IE not 1.

Affected files ...

.. //depot/projects/mips2-jnpr/src/sys/mips/mips/vm_machdep.c#20 edit

Differences ...

==== //depot/projects/mips2-jnpr/src/sys/mips/mips/vm_machdep.c#20 (text+ko) ====

@@ -118,13 +118,17 @@
 	/* Point the pcb to the top of the stack */
 	pcb2 = td2->td_pcb;
 
-	/* Copy p1's pcb */
+	/* Copy p1's pcb, note that in this case
+	 * our pcb also includes the td_frame being copied
+	 * too. The older mips2 code did an additional copy
+	 * of the td_frame, for us thats not needed any
+	 * longer (this copy does them both 
+	 */
 	bcopy(td1->td_pcb, pcb2, sizeof(*pcb2));
 
 	/* Point mdproc and then copy over td1's contents
 	 * md_proc is empty for MIPS
 	 */
-
 	td2->td_md.md_flags = td1->td_md.md_flags & MDTD_FPUSED;
 
 	/*
@@ -152,7 +156,7 @@
 	 *  that are needed.
 	 */
 
-	td2->td_md.md_saved_intr = 1;
+	td2->td_md.md_saved_intr = MIPS_SR_INT_IE;
 	td2->td_md.md_spinlock_count = 1;
 #ifdef TARGET_OCTEON
 	pcb2->pcb_context.val[PCB_REG_SR] |= MIPS_SR_COP_2_BIT | MIPS32_SR_PX | MIPS_SR_UX | MIPS_SR_KX | MIPS_SR_SX;
@@ -294,6 +298,8 @@
 	pcb2->pcb_context.val[PCB_REG_S0] = (register_t)fork_return;
 	pcb2->pcb_context.val[PCB_REG_S1] = (register_t)td;
 	pcb2->pcb_context.val[PCB_REG_S2] = (register_t)td->td_frame;
+
+
 	/* Dont set IE bit in SR. sched lock release will take care of it */
 /* idle_mask is jmips pcb2->pcb_context.val[11] = (ALL_INT_MASK & idle_mask); */
 	pcb2->pcb_context.val[PCB_REG_SR] = 0;
@@ -310,7 +316,7 @@
 
 	/* SMP Setup to release sched_lock in fork_exit(). */
 	td->td_md.md_spinlock_count = 1;
-	td->td_md.md_saved_intr = 1;
+	td->td_md.md_saved_intr = MIPS_SR_INT_IE;
 #if 0
 	    /* Maybe we need to fix this? */
 	td->td_md.md_saved_sr = ( (MIPS_SR_COP_2_BIT | MIPS_SR_COP_0_BIT) |



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