Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Sep 2005 17:46:39 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 84569 for review
Message-ID:  <200509301746.j8UHkdQb072113@repoman.freebsd.org>

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

Change 84569 by jhb@jhb_slimer on 2005/09/30 17:46:19

	IFC @84566.

Affected files ...

.. //depot/projects/smpng/sys/alpha/alpha/interrupt.c#35 integrate
.. //depot/projects/smpng/sys/alpha/alpha/trap.c#60 integrate
.. //depot/projects/smpng/sys/alpha/osf1/osf1_ioctl.c#11 integrate
.. //depot/projects/smpng/sys/alpha/osf1/osf1_misc.c#40 integrate
.. //depot/projects/smpng/sys/alpha/osf1/osf1_signal.c#28 integrate
.. //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#14 integrate
.. //depot/projects/smpng/sys/amd64/amd64/gdb_machdep.c#4 integrate
.. //depot/projects/smpng/sys/amd64/amd64/genassym.c#15 integrate
.. //depot/projects/smpng/sys/amd64/amd64/trap.c#33 integrate
.. //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#29 integrate
.. //depot/projects/smpng/sys/amd64/include/pcb.h#10 integrate
.. //depot/projects/smpng/sys/boot/pc98/loader/main.c#9 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_socket.c#26 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_fcntl.c#21 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_ioctl.c#14 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_ipc.c#11 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#42 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_signal.c#16 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_stat.c#16 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_stream.c#26 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_termios.c#9 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_ttold.c#9 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_util.h#8 integrate
.. //depot/projects/smpng/sys/conf/NOTES#105 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bge.c#60 integrate
.. //depot/projects/smpng/sys/dev/em/if_em.c#52 integrate
.. //depot/projects/smpng/sys/dev/en/if_en_pci.c#12 integrate
.. //depot/projects/smpng/sys/dev/fb/creator.c#9 integrate
.. //depot/projects/smpng/sys/dev/fb/fbreg.h#13 integrate
.. //depot/projects/smpng/sys/dev/fb/gfb.c#7 integrate
.. //depot/projects/smpng/sys/dev/fb/machfb.c#4 integrate
.. //depot/projects/smpng/sys/dev/fb/s3_pci.c#8 integrate
.. //depot/projects/smpng/sys/dev/fb/tga.c#7 integrate
.. //depot/projects/smpng/sys/dev/fb/vga.c#21 integrate
.. //depot/projects/smpng/sys/dev/mii/mii_physubr.c#12 integrate
.. //depot/projects/smpng/sys/dev/mii/miivar.h#6 integrate
.. //depot/projects/smpng/sys/dev/mii/nsgphy.c#14 integrate
.. //depot/projects/smpng/sys/dev/pccbb/pccbb_pci.c#9 integrate
.. //depot/projects/smpng/sys/dev/pccbb/pccbbdevid.h#16 integrate
.. //depot/projects/smpng/sys/dev/pci/isa_pci.c#8 integrate
.. //depot/projects/smpng/sys/dev/pci/pci.c#61 integrate
.. //depot/projects/smpng/sys/dev/puc/puc.c#24 integrate
.. //depot/projects/smpng/sys/dev/re/if_re.c#28 integrate
.. //depot/projects/smpng/sys/dev/syscons/scgfbrndr.c#8 integrate
.. //depot/projects/smpng/sys/dev/syscons/scmouse.c#13 integrate
.. //depot/projects/smpng/sys/dev/syscons/scvgarndr.c#8 integrate
.. //depot/projects/smpng/sys/dev/syscons/scvidctl.c#10 integrate
.. //depot/projects/smpng/sys/dev/syscons/syscons.c#51 integrate
.. //depot/projects/smpng/sys/dev/syscons/syscons.h#14 integrate
.. //depot/projects/smpng/sys/dev/usb/if_cdce.c#7 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#79 integrate
.. //depot/projects/smpng/sys/dev/watchdog/watchdog.c#3 integrate
.. //depot/projects/smpng/sys/dev/wi/if_wi.c#77 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/bootsect.h#6 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_vfsops.c#43 integrate
.. //depot/projects/smpng/sys/geom/geom_disk.c#45 integrate
.. //depot/projects/smpng/sys/geom/uzip/g_uzip.c#5 integrate
.. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_alloc.c#3 integrate
.. //depot/projects/smpng/sys/i386/i386/apic_vector.s#17 integrate
.. //depot/projects/smpng/sys/i386/i386/local_apic.c#35 integrate
.. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#88 integrate
.. //depot/projects/smpng/sys/i386/i386/trap.c#83 integrate
.. //depot/projects/smpng/sys/i386/i386/vm86.c#20 integrate
.. //depot/projects/smpng/sys/i386/include/smptests.h#10 integrate
.. //depot/projects/smpng/sys/i386/isa/vesa.c#17 integrate
.. //depot/projects/smpng/sys/ia64/ia64/unaligned.c#12 integrate
.. //depot/projects/smpng/sys/isa/pnp.c#10 integrate
.. //depot/projects/smpng/sys/kern/imgact_elf.c#47 integrate
.. //depot/projects/smpng/sys/kern/kern_jail.c#41 integrate
.. //depot/projects/smpng/sys/kern/kern_kse.c#25 integrate
.. //depot/projects/smpng/sys/kern/kern_lock.c#44 integrate
.. //depot/projects/smpng/sys/kern/kern_mbuf.c#9 integrate
.. //depot/projects/smpng/sys/kern/kern_thread.c#79 integrate
.. //depot/projects/smpng/sys/kern/subr_kdb.c#11 integrate
.. //depot/projects/smpng/sys/kern/subr_rman.c#23 integrate
.. //depot/projects/smpng/sys/kern/subr_turnstile.c#20 integrate
.. //depot/projects/smpng/sys/kern/vfs_bio.c#82 integrate
.. //depot/projects/smpng/sys/kern/vfs_subr.c#111 integrate
.. //depot/projects/smpng/sys/modules/geom/geom_uzip/Makefile#3 integrate
.. //depot/projects/smpng/sys/modules/mii/Makefile#8 integrate
.. //depot/projects/smpng/sys/pc98/cbus/sio.c#3 integrate
.. //depot/projects/smpng/sys/pci/agp_amd64.c#6 integrate
.. //depot/projects/smpng/sys/pci/agpreg.h#13 integrate
.. //depot/projects/smpng/sys/pci/if_rl.c#59 integrate
.. //depot/projects/smpng/sys/pci/if_rlreg.h#26 integrate
.. //depot/projects/smpng/sys/pci/if_ti.c#49 integrate
.. //depot/projects/smpng/sys/pci/if_tireg.h#9 integrate
.. //depot/projects/smpng/sys/powerpc/ofw/ofw_syscons.c#9 integrate
.. //depot/projects/smpng/sys/sys/buf.h#40 integrate
.. //depot/projects/smpng/sys/sys/proc.h#151 integrate
.. //depot/projects/smpng/sys/sys/rman.h#14 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_alloc.c#37 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_snapshot.c#50 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#49 integrate
.. //depot/projects/smpng/sys/vm/vm_zeroidle.c#26 integrate

Differences ...

==== //depot/projects/smpng/sys/alpha/alpha/interrupt.c#35 (text+ko) ====

@@ -33,7 +33,7 @@
 
 #include <sys/cdefs.h>			/* RCS ID & Copyright macro defns */
 /* __KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $");*/
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.86 2005/04/12 23:18:53 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.87 2005/09/29 19:12:44 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -427,6 +427,13 @@
 	atomic_add_long(i->cntp, 1);
 
 	/*
+	 * It seems that we need to return from an interrupt back to PAL
+	 * on the same CPU that received the interrupt, so pin the interrupted
+	 * thread to the current CPU until we return from the interrupt.
+	 */
+	sched_pin();
+
+	/*
 	 * Handle a fast interrupt if there is no actual thread for this
 	 * interrupt by calling the handler directly without Giant.  Note
 	 * that this means that any fast interrupt handler must be MP safe.
@@ -435,26 +442,18 @@
 	if ((ih->ih_flags & IH_FAST) != 0) {
 		critical_enter();
 		ih->ih_handler(ih->ih_argument);
-		/* XXX */
-		curthread->td_owepreempt = 0;
 		critical_exit();
-		return;
-	}
+	} else {
+		if (ithd->it_disable) {
+			CTR1(KTR_INTR,
+			    "alpha_dispatch_intr: disabling vector 0x%x",
+			    i->vector);
+			ithd->it_disable(ithd->it_vector);
+		}
 
-	if (ithd->it_disable) {
-		CTR1(KTR_INTR,
-		    "alpha_dispatch_intr: disabling vector 0x%x", i->vector);
-		ithd->it_disable(ithd->it_vector);
+		error = ithread_schedule(ithd);
+		KASSERT(error == 0, ("got an impossible stray interrupt"));
 	}
-
-	/*
-	 * It seems that we need to return from an interrupt back to PAL
-	 * on the same CPU that received the interrupt, so pin the interrupted
-	 * thread to the current CPU until we return from the interrupt.
-	 */
-	sched_pin();
-	error = ithread_schedule(ithd);
-	KASSERT(error == 0, ("got an impossible stray interrupt"));
 	sched_unpin();
 }
 

==== //depot/projects/smpng/sys/alpha/alpha/trap.c#60 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/trap.c,v 1.124 2005/09/19 16:51:40 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/trap.c,v 1.125 2005/09/28 07:03:01 rwatson Exp $");
 
 /* #include "opt_fix_unaligned_vax_fp.h" */
 #include "opt_ddb.h"
@@ -1046,14 +1046,12 @@
 	 * If we're supposed to be noisy, squawk now.
 	 */
 	if (doprint) {
-		mtx_lock(&Giant);
 		uprintf(
 		"pid %d (%s): unaligned access: va=0x%lx pc=0x%lx ra=0x%lx op=",
 		    p->p_pid, p->p_comm, va, td->td_frame->tf_regs[FRAME_PC],
 		    td->td_frame->tf_regs[FRAME_RA]);
 		uprintf(type,opcode);
 		uprintf("\n");
-		mtx_unlock(&Giant);
 	}
 
 	/*

==== //depot/projects/smpng/sys/alpha/osf1/osf1_ioctl.c#11 (text+ko) ====

@@ -30,11 +30,9 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_ioctl.c,v 1.14 2005/09/19 16:51:40 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_ioctl.c,v 1.15 2005/09/28 07:03:01 rwatson Exp $");
 
 #include <sys/param.h>
-#include <sys/lock.h>
-#include <sys/mutex.h>
 #include <sys/systm.h>
 #include <sys/fcntl.h>
 #include <sys/filio.h>
@@ -112,11 +110,9 @@
 		break;
 	}
 #ifdef IOCTL_DEBUG
-		mtx_lock(&Giant);
 		uprintf(
 		    "OSF/1 IOCTL: group = %c, cmd = %d, len = %d, dir = %s\n",
 		    group, cmd, len, dirstr);
-		mtx_unlock(&Giant);
 #endif
 
 	a.fd = uap->fd;

==== //depot/projects/smpng/sys/alpha/osf1/osf1_misc.c#40 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.57 2005/09/19 16:51:40 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.58 2005/09/28 07:03:01 rwatson Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -209,10 +209,8 @@
 		rpb_size = (unsigned long)&hwrpb->rpb_tbhint -
 		    (unsigned long)hwrpb;
 		if(uap->nbytes < rpb_size){
-			mtx_lock(&Giant);
 			uprintf("nbytes = %ld, sizeof(struct rpb) = %ld\n",
 			    uap->nbytes, rpb_size);
-			mtx_unlock(&Giant);
 			error = EINVAL;
 		}
 		else {
@@ -256,9 +254,7 @@
 		break;
 	}
 	default:
-		mtx_lock(&Giant);
 		uprintf("osf1_setsysinfo called with op=%ld\n", uap->op);
-		mtx_unlock(&Giant);
 		/*error = EINVAL;*/
 	}
 	return (error);

==== //depot/projects/smpng/sys/alpha/osf1/osf1_signal.c#28 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_signal.c,v 1.41 2005/09/19 16:51:40 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_signal.c,v 1.42 2005/09/28 07:03:01 rwatson Exp $");
 
 #include "opt_compat.h"
 #ifndef COMPAT_43
@@ -40,8 +40,6 @@
 #endif
 
 #include <sys/param.h>
-#include <sys/lock.h>
-#include <sys/mutex.h>
 #include <sys/systm.h>
 #include <sys/sysproto.h>
 #include <sys/signalvar.h>
@@ -147,12 +145,9 @@
 {
 
 	bsa->sa_handler = osa->osa_handler;
-	if (osf1_sigdbg) {
-		mtx_lock(&Giant);
+	if (osf1_sigdbg)
 		uprintf("%s(%d): handler @0x%lx \n", __FILE__, __LINE__,
 			(unsigned long)osa->osa_handler);
-		mtx_unlock(&Giant);
-	}
 	osf1_to_bsd_sigset(&osa->osa_mask, &bsa->sa_mask);
 	bsa->sa_flags = 0;
 	if ((osa->osa_flags & OSF1_SA_ONSTACK) != 0)
@@ -230,12 +225,9 @@
 	struct sigaction *nbsap;
 	int error;
 
-	if (osf1_sigdbg && uap->sigtramp) {
-		mtx_lock(&Giant);
+	if (osf1_sigdbg && uap->sigtramp)
 		uprintf("osf1_sigaction: trampoline handler at %p\n",
 		    uap->sigtramp);
-		mtx_unlock(&Giant);
-	}
 	td->td_md.osf_sigtramp = uap->sigtramp;
 	if (uap->nsa != NULL) {
 		if ((error = copyin(uap->nsa, &osa, sizeof(osa))) != 0)
@@ -323,10 +315,8 @@
 #endif
 			error = kern_sigaction(td, signum, &nbsa, &obsa, 0);
 			if (error != 0) {
-				mtx_lock(&Giant);
 				DPRINTF("signal: sigaction failed: %d\n",
 					 error);
-				mtx_unlock(&Giant);
 				td->td_retval[0] = -1;
 				return (error);
 			}
@@ -362,11 +352,8 @@
 			SIGEMPTYSET(sa.sa_mask);
 			sa.sa_flags = 0;
 			error = kern_sigaction(td, signum, &sa, NULL, 0);
-			if (error != 0) {
-				mtx_lock(&Giant);
+			if (error != 0)
 				DPRINTF(("sigignore: sigaction failed\n"));
-				mtx_unlock(&Giant);
-			}
 			return (error);
 		}
 
@@ -557,11 +544,8 @@
 	/*
 	 * Set up the registers to return to sigcode.
 	 */
-	if (osf1_sigdbg) {
-		mtx_lock(&Giant);
+	if (osf1_sigdbg)
 		uprintf("attempting to call osf1 sigtramp\n");
-		mtx_unlock(&Giant);
-	}
 	frame->tf_regs[FRAME_PC] = (u_int64_t)td->td_md.osf_sigtramp;
 	frame->tf_regs[FRAME_A0] = sig;
 	frame->tf_regs[FRAME_A1] = code;
@@ -643,9 +627,7 @@
 	} */ *uap;
 {
 
-/*	mtx_lock(&Giant);
-	uprintf("osf1_osigstack: oss = %p, nss = %p",uap->oss, uap->nss);
-	uprintf(" stack ptr = %p\n",p->p_sigacts->ps_sigstk.ss_sp);
-	mtx_unlock(&Giant); */
+/*	uprintf("osf1_osigstack: oss = %p, nss = %p",uap->oss, uap->nss);
+	uprintf(" stack ptr = %p\n",p->p_sigacts->ps_sigstk.ss_sp);*/
 	return(osigstack(td, (struct osigstack_args *)uap));
 }

==== //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#14 (text+ko) ====

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.152 2005/09/27 18:32:45 peter Exp $
+ * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.153 2005/09/27 21:10:10 peter Exp $
  */
 
 #include <machine/asmacros.h>
@@ -100,8 +100,6 @@
 	movq	%r13,PCB_R13(%r8)
 	movq	%r14,PCB_R14(%r8)
 	movq	%r15,PCB_R15(%r8)
-	pushfq					/* PSL */
-	popq	PCB_RFLAGS(%r8)
 
 	testl	$PCB_32BIT,PCB_FLAGS(%r8)
 	jz	1f				/* no, skip over */
@@ -233,8 +231,6 @@
 	movq	PCB_R15(%r8),%r15
 	movq	PCB_RIP(%r8),%rax
 	movq	%rax,(%rsp)
-	pushq	PCB_RFLAGS(%r8)
-	popfq
 
 	movq	%r8, PCPU(CURPCB)
 	movq	%rsi, PCPU(CURTHREAD)		/* into next thread */
@@ -284,8 +280,6 @@
 	movq	%r13,PCB_R13(%rcx)
 	movq	%r14,PCB_R14(%rcx)
 	movq	%r15,PCB_R15(%rcx)
-	pushfq
-	popq	PCB_RFLAGS(%rcx)
 
 	/*
 	 * If fpcurthread == NULL, then the fpu h/w state is irrelevant and the

==== //depot/projects/smpng/sys/amd64/amd64/gdb_machdep.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/gdb_machdep.c,v 1.4 2005/01/05 20:17:20 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/gdb_machdep.c,v 1.5 2005/09/27 21:10:10 peter Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -62,6 +62,7 @@
 		case 9: return (&kdb_frame->tf_r9);
 		case 10: return (&kdb_frame->tf_r10);
 		case 11: return (&kdb_frame->tf_r11);
+		case 17: return (&kdb_frame->tf_rflags);
 		case 18: return (&kdb_frame->tf_cs);
 		case 19: return (&kdb_frame->tf_ss);
 		}
@@ -75,7 +76,6 @@
 	case 14: return (&kdb_thrctx->pcb_r14);
 	case 15: return (&kdb_thrctx->pcb_r15);
 	case 16: return (&kdb_thrctx->pcb_rip);
-	case 17: return (&kdb_thrctx->pcb_rflags);
 	}
 	return (NULL);
 }

==== //depot/projects/smpng/sys/amd64/amd64/genassym.c#15 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.156 2005/08/27 16:03:40 jkoshy Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.157 2005/09/27 21:10:10 peter Exp $");
 
 #include "opt_compat.h"
 #include "opt_kstack_pages.h"
@@ -121,7 +121,6 @@
 ASSYM(PCB_RSP, offsetof(struct pcb, pcb_rsp));
 ASSYM(PCB_RBX, offsetof(struct pcb, pcb_rbx));
 ASSYM(PCB_RIP, offsetof(struct pcb, pcb_rip));
-ASSYM(PCB_RFLAGS, offsetof(struct pcb, pcb_rflags));
 ASSYM(PCB_FSBASE, offsetof(struct pcb, pcb_fsbase));
 ASSYM(PCB_GSBASE, offsetof(struct pcb, pcb_gsbase));
 ASSYM(PCB_DS, offsetof(struct pcb, pcb_ds));

==== //depot/projects/smpng/sys/amd64/amd64/trap.c#33 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.292 2005/09/27 18:13:07 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.293 2005/09/28 07:03:02 rwatson Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -486,13 +486,11 @@
 
 #ifdef DEBUG
 	if (type <= MAX_TRAP_MSG) {
-		mtx_lock(&Giant);
 		uprintf("fatal process exception: %s",
 			trap_msg[type]);
 		if ((type == T_PAGEFLT) || (type == T_PROTFLT))
 			uprintf(", fault VA = 0x%lx", frame.tf_addr);
 		uprintf("\n");
-		mtx_unlock(&Giant);
 	}
 #endif
 

==== //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#29 (text+ko) ====

@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.248 2005/07/10 23:31:10 davidxu Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.249 2005/09/27 21:10:10 peter Exp $");
 
 #include "opt_isa.h"
 #include "opt_cpu.h"
@@ -154,7 +154,6 @@
 	pcb2->pcb_rsp = (register_t)td2->td_frame - sizeof(void *);
 	pcb2->pcb_rbx = (register_t)td2;		/* fork_trampoline argument */
 	pcb2->pcb_rip = (register_t)fork_trampoline;
-	pcb2->pcb_rflags = td2->td_frame->tf_rflags & ~PSL_I; /* ints disabled */
 	/*-
 	 * pcb2->pcb_dr*:	cloned above.
 	 * pcb2->pcb_savefpu:	cloned above.
@@ -289,12 +288,10 @@
 	pcb2->pcb_rsp = (register_t)td->td_frame - sizeof(void *);	/* trampoline arg */
 	pcb2->pcb_rbx = (register_t)td;			    /* trampoline arg */
 	pcb2->pcb_rip = (register_t)fork_trampoline;
-	pcb2->pcb_rflags = PSL_KERNEL; /* ints disabled */
 	/*
 	 * If we didn't copy the pcb, we'd need to do the following registers:
 	 * pcb2->pcb_dr*:	cloned above.
 	 * pcb2->pcb_savefpu:	cloned above.
-	 * pcb2->pcb_rflags:	cloned above.
 	 * pcb2->pcb_onfault:	cloned above (always NULL here?).
 	 * pcb2->pcb_[fg]sbase: cloned above
 	 */

==== //depot/projects/smpng/sys/amd64/include/pcb.h#10 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)pcb.h	5.10 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.60 2004/07/10 19:55:58 marcel Exp $
+ * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.62 2005/09/27 21:11:35 peter Exp $
  */
 
 #ifndef _AMD64_PCB_H_
@@ -43,7 +43,6 @@
 #include <machine/fpu.h>
 
 struct pcb {
-	register_t	padxx[8];
 	register_t	pcb_cr3;
 	register_t	pcb_r15;
 	register_t	pcb_r14;
@@ -53,7 +52,6 @@
 	register_t	pcb_rsp;
 	register_t	pcb_rbx;
 	register_t	pcb_rip;
-	register_t	pcb_rflags;
 	register_t	pcb_fsbase;
 	register_t	pcb_gsbase;
 	u_int32_t	pcb_ds;

==== //depot/projects/smpng/sys/boot/pc98/loader/main.c#9 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/pc98/loader/main.c,v 1.20 2005/05/27 19:31:00 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/pc98/loader/main.c,v 1.21 2005/09/30 13:24:14 nyan Exp $");
 
 /*
  * MD bootstrap main() and assorted miscellaneous
@@ -98,8 +98,8 @@
      * We can use printf() etc. once this is done.
      * If the previous boot stage has requested a serial console, prefer that.
      */
+    bi_setboothowto(initial_howto);
     if (initial_howto & RB_MULTIPLE) {
-	setenv("boot_multicons", "YES", 1);
 	if (initial_howto & RB_SERIAL)
 	    setenv("console", "comconsole vidconsole", 1);
 	else

==== //depot/projects/smpng/sys/compat/linux/linux_socket.c#26 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.60 2005/09/19 16:51:40 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.61 2005/09/28 07:03:02 rwatson Exp $");
 
 /* XXX we use functions that might not exist. */
 #include "opt_compat.h"
@@ -1187,9 +1187,7 @@
 		return (linux_recvmsg(td, arg));
 	}
 
-	mtx_lock(&Giant);
 	uprintf("LINUX: 'socket' typ=%d not implemented\n", args->what);
-	mtx_unlock(&Giant);
 	return (ENOSYS);
 }
 #endif	/*!__alpha__*/

==== //depot/projects/smpng/sys/compat/svr4/svr4_fcntl.c#21 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_fcntl.c,v 1.36 2005/09/19 16:51:41 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_fcntl.c,v 1.37 2005/09/28 07:03:02 rwatson Exp $");
 
 #include "opt_mac.h"
 
@@ -377,10 +377,8 @@
 	free(newpath, M_TEMP);
 
 	if (error) {
-	  /*	        mtx_lock(&Giant);
-			uprintf("svr4_open(%s, 0x%0x, 0%o): %d\n", uap->path,
-			    uap->flags, uap->mode, error);
-			mtx_unlock(&Giant);*/
+	  /*	        uprintf("svr4_open(%s, 0x%0x, 0%o): %d\n", uap->path,
+			uap->flags, uap->mode, error);*/
 		return error;
 	}
 

==== //depot/projects/smpng/sys/compat/svr4/svr4_ioctl.c#14 (text+ko) ====

@@ -27,11 +27,9 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_ioctl.c,v 1.23 2005/09/19 16:51:41 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_ioctl.c,v 1.24 2005/09/28 07:03:02 rwatson Exp $");
 
 #include <sys/param.h>
-#include <sys/lock.h>
-#include <sys/mutex.h>
 #include <sys/proc.h>
 #include <sys/file.h>
 #include <sys/filedesc.h>

==== //depot/projects/smpng/sys/compat/svr4/svr4_ipc.c#11 (text+ko) ====

@@ -71,15 +71,13 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_ipc.c,v 1.18 2005/09/19 16:51:41 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_ipc.c,v 1.19 2005/09/28 07:03:02 rwatson Exp $");
 
 #include "opt_sysvipc.h"
 
 #include <sys/param.h>
 #include <sys/ipc.h>
-#include <sys/lock.h>
 #include <sys/msg.h>
-#include <sys/mutex.h>
 #include <sys/proc.h>
 #include <sys/sem.h>
 #include <sys/shm.h>

==== //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#42 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.81 2005/09/19 16:51:41 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.82 2005/09/28 07:03:02 rwatson Exp $");
 
 #include "opt_mac.h"
 
@@ -485,9 +485,7 @@
 			panic("svr4_sys_getdents64: bad reclen");
 		off = *cookie++;	/* each entry points to the next */
 		if ((off >> 32) != 0) {
-			mtx_lock(&Giant);
 			uprintf("svr4_sys_getdents64: dir offset too large for emulated program");
-			mtx_unlock(&Giant);
 			error = EINVAL;
 			goto out;
 		}

==== //depot/projects/smpng/sys/compat/svr4/svr4_signal.c#16 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_signal.c,v 1.34 2005/09/19 16:51:41 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_signal.c,v 1.35 2005/09/28 07:03:02 rwatson Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -238,11 +238,8 @@
 		bss->ss_flags |= SS_DISABLE;
 	if ((sss->ss_flags & SVR4_SS_ONSTACK) != 0)
 		bss->ss_flags |= SS_ONSTACK;
-	if ((sss->ss_flags & ~SVR4_SS_ALLBITS) != 0) {
-		mtx_lock(&Giant);
+	if ((sss->ss_flags & ~SVR4_SS_ALLBITS) != 0)
 	  /*XXX*/ uprintf("svr4_to_bsd_sigaltstack: extra bits ignored\n");
-		mtx_unlock(&Giant);
-	}
 }
 
 void

==== //depot/projects/smpng/sys/compat/svr4/svr4_stat.c#16 (text+ko) ====

@@ -27,11 +27,9 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stat.c,v 1.21 2005/09/19 16:51:41 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stat.c,v 1.22 2005/09/28 07:03:02 rwatson Exp $");
 
 #include <sys/param.h>
-#include <sys/lock.h>
-#include <sys/mutex.h>
 #include <sys/systm.h>
 #include <sys/proc.h>
 #include <sys/stat.h>

==== //depot/projects/smpng/sys/compat/svr4/svr4_stream.c#26 (text+ko) ====

@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stream.c,v 1.55 2005/09/19 16:51:41 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stream.c,v 1.56 2005/09/28 07:03:02 rwatson Exp $");
 
 #include "opt_compat.h"
 #include "opt_ktrace.h"
@@ -378,8 +378,6 @@
 {
 	size_t i;
 
-	GIANT_REQUIRED;
-
 	uprintf("\n\t");
 	for (i = 0; i < len; i++) {
 		uprintf("%x ", buf[i]);
@@ -397,8 +395,6 @@
 	int len;
 	int error;
 
-	GIANT_REQUIRED;
-
 	len = ioc->len;
 	if (len > 1024)
 		len = 1024;
@@ -434,8 +430,6 @@
 	int maxlen = str->maxlen;
 	int len = str->len;
 
-	GIANT_REQUIRED;
-
 	if (maxlen > 8192)
 		maxlen = 8192;
 
@@ -479,8 +473,6 @@
 	struct svr4_strbuf	buf;
 	int error;
 
-	GIANT_REQUIRED;
-
 	uprintf("%s(%d", str, fd);
 	if (ctl != NULL) {
 		if ((error = copyin(ctl, &buf, sizeof(buf))) != 0)
@@ -1415,12 +1407,8 @@
 		return error;
 
 #ifdef DEBUG_SVR4
-	mtx_lock(&Giant);
-	if ((error = show_ioc(">", &ioc)) != 0) {
-		mtx_unlock(&Giant);
+	if ((error = show_ioc(">", &ioc)) != 0)
 		return error;
-	}
-	mtx_unlock(&Giant);
 #endif /* DEBUG_SVR4 */
 
 	switch (ioc.cmd & 0xff00) {
@@ -1441,12 +1429,8 @@
 	}
 
 #ifdef DEBUG_SVR4
-	mtx_lock(&Giant);
-	if ((error = show_ioc("<", &ioc)) != 0) {
-		mtx_lock(&Giant);
+	if ((error = show_ioc("<", &ioc)) != 0)
 		return error;
-	}
-	mtx_unlock(&Giant);
 #endif /* DEBUG_SVR4 */
 	return copyout(&ioc, dat, sizeof(ioc));
 }
@@ -1566,9 +1550,7 @@
 	case SVR4_I_PUSH:
 		DPRINTF(("I_PUSH %p\n", dat));
 #if defined(DEBUG_SVR4)
-		mtx_lock(&Giant);
 		show_strbuf((struct svr4_strbuf *)dat);
-		mtx_unlock(&Giant);
 #endif
 		return 0;
 
@@ -1761,10 +1743,8 @@
 	retval = td->td_retval;
 
 #ifdef DEBUG_SVR4
-	mtx_lock(&Giant);
 	show_msg(">putmsg", uap->fd, uap->ctl,
 		 uap->dat, uap->flags);
-	mtx_unlock(&Giant);
 #endif /* DEBUG_SVR4 */
 
 	FILE_LOCK_ASSERT(fp, MA_NOTOWNED);
@@ -1960,10 +1940,8 @@
 	memset(&sc, 0, sizeof(sc));
 
 #ifdef DEBUG_SVR4
-	mtx_lock(&Giant);
 	show_msg(">getmsg", uap->fd, uap->ctl,
 		 uap->dat, 0);
-	mtx_unlock(&Giant);
 #endif /* DEBUG_SVR4 */
 
 	if (uap->ctl != NULL) {
@@ -2271,10 +2249,8 @@
 	*retval = 0;
 
 #ifdef DEBUG_SVR4
-	mtx_lock(&Giant);
 	show_msg("<getmsg", uap->fd, uap->ctl,
 		 uap->dat, fl);
-	mtx_unlock(&Giant);
 #endif /* DEBUG_SVR4 */
 	return error;
 }

==== //depot/projects/smpng/sys/compat/svr4/svr4_termios.c#9 (text+ko) ====

@@ -27,11 +27,9 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_termios.c,v 1.13 2005/09/19 16:51:41 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_termios.c,v 1.14 2005/09/28 07:03:02 rwatson Exp $");
 
 #include <sys/param.h>
-#include <sys/lock.h>
-#include <sys/mutex.h>
 #include <sys/proc.h>
 #include <sys/systm.h>
 #include <sys/file.h>
@@ -158,9 +156,6 @@
 	const struct termios *bt;
 {
 	int i;
-
-	GIANT_REQUIRED;
-
 	uprintf("BSD\niflag=%o oflag=%o cflag=%o lflag=%o\n",
 	    bt->c_iflag, bt->c_oflag, bt->c_cflag, bt->c_lflag);
 	uprintf("cc: ");
@@ -513,9 +508,7 @@
 		bsd_to_svr4_termios(&bt, &st);
 
 #ifdef DEBUG_SVR4
-		mtx_lock(&Giant);
 		print_bsd_termios(&bt);
-		mtx_unlock(&Giant);
 		print_svr4_termios(&st);
 #endif /* DEBUG_SVR4 */
 
@@ -583,9 +576,7 @@
 		}
 
 #ifdef DEBUG_SVR4
-		mtx_lock(&Giant);
 		print_bsd_termios(&bt);
-		mtx_unlock(&Giant);
 		print_svr4_termios(&st);
 #endif /* DEBUG_SVR4 */
 

==== //depot/projects/smpng/sys/compat/svr4/svr4_ttold.c#9 (text+ko) ====

@@ -27,13 +27,11 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_ttold.c,v 1.15 2005/09/19 16:51:41 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_ttold.c,v 1.16 2005/09/28 07:03:02 rwatson Exp $");
 
 #ifndef BURN_BRIDGES
 
 #include <sys/param.h>
-#include <sys/lock.h>
-#include <sys/mutex.h>
 #include <sys/proc.h>
 #include <sys/systm.h>
 #include <sys/file.h>
@@ -71,8 +69,6 @@
 	struct svr4_sgttyb *ss;
 {
 
-	GIANT_REQUIRED;
-
 	uprintf("%s\nispeed=%o ospeed=%o ", str, ss->sg_ispeed, ss->sg_ospeed);
 	uprintf("erase=%o kill=%o flags=%o\n", ss->sg_erase, ss->sg_kill,
 	    ss->sg_flags);
@@ -83,9 +79,6 @@
 	const char *str;
 	struct svr4_tchars *st;
 {
-
-	GIANT_REQUIRED;
-
 	uprintf("%s\nintrc=%o quitc=%o ", str, st->t_intrc, st->t_quitc);
 	uprintf("startc=%o stopc=%o eofc=%o brkc=%o\n", st->t_startc,
 	    st->t_stopc, st->t_eofc, st->t_brkc);
@@ -96,9 +89,6 @@
 	const char *str;
 	struct svr4_ltchars *sl;
 {
-
-	GIANT_REQUIRED;
-
 	uprintf("%s\nsuspc=%o dsuspc=%o ", str, sl->t_suspc, sl->t_dsuspc);
 	uprintf("rprntc=%o flushc=%o werasc=%o lnextc=%o\n", sl->t_rprntc,
 	    sl->t_flushc, sl->t_werasc, sl->t_lnextc);
@@ -241,9 +231,7 @@
 
 			return copyout(&pid, data, sizeof(pid));
 #else
-			mtx_lock(&Giant);
 			uprintf("ioctl(TIOCGSID) for pid %d unsupported\n", td->td_proc->p_pid);
-			mtx_unlock(&Giant);
 			return EINVAL;
 #endif
 		}
@@ -260,9 +248,7 @@
 
 			bsd_sgttyb_to_svr4_sgttyb(&bs, &ss);
 #ifdef DEBUG_SVR4
-			mtx_lock(&Giant);
 			print_svr4_sgttyb("SVR4_TIOCGETP", &ss);
-			mtx_unlock(&Giant);
 #endif /* DEBUG_SVR4 */
 			return copyout(&ss, data, sizeof(ss));
 		}
@@ -278,9 +264,7 @@
 
 			svr4_sgttyb_to_bsd_sgttyb(&ss, &bs);
 #ifdef DEBUG_SVR4
-			mtx_lock(&Giant);
 			print_svr4_sgttyb("SVR4_TIOCSET{P,N}", &ss);
-			mtx_unlock(&Giant);
 #endif /* DEBUG_SVR4 */
 			cmd = (cmd == SVR4_TIOCSETP) ? TIOCSETP : TIOCSETN;
 			return fo_ioctl(fp, cmd, (caddr_t) &bs,
@@ -299,9 +283,7 @@
 
 			bsd_tchars_to_svr4_tchars(&bt, &st);
 #ifdef DEBUG_SVR4
-			mtx_lock(&Giant);
 			print_svr4_tchars("SVR4_TIOCGETC", &st);
-			mtx_unlock(&Giant);
 #endif /* DEBUG_SVR4 */
 			return copyout(&st, data, sizeof(st));
 		}
@@ -316,9 +298,7 @@
 
 			svr4_tchars_to_bsd_tchars(&st, &bt);
 #ifdef DEBUG_SVR4
-			mtx_lock(&Giant);
 			print_svr4_tchars("SVR4_TIOCSETC", &st);
-			mtx_unlock(&Giant);
 #endif /* DEBUG_SVR4 */
 			return fo_ioctl(fp, TIOCSETC, (caddr_t) &bt,
 			    td->td_ucred, td);
@@ -336,9 +316,7 @@
 
 			bsd_ltchars_to_svr4_ltchars(&bl, &sl);
 #ifdef DEBUG_SVR4
-			mtx_lock(&Giant);
 			print_svr4_ltchars("SVR4_TIOCGLTC", &sl);
-			mtx_unlock(&Giant);
 #endif /* DEBUG_SVR4 */
 			return copyout(&sl, data, sizeof(sl));
 		}
@@ -353,9 +331,7 @@
 
 			svr4_ltchars_to_bsd_ltchars(&sl, &bl);
 #ifdef DEBUG_SVR4
-			mtx_lock(&Giant);
 			print_svr4_ltchars("SVR4_TIOCSLTC", &sl);
-			mtx_unlock(&Giant);
 #endif /* DEBUG_SVR4 */
 			return fo_ioctl(fp, TIOCSLTC, (caddr_t) &bl,
 			    td->td_ucred, td);

==== //depot/projects/smpng/sys/compat/svr4/svr4_util.h#8 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  * 
- * $FreeBSD: src/sys/compat/svr4/svr4_util.h,v 1.10 2005/09/19 16:51:41 rwatson Exp $
+ * $FreeBSD: src/sys/compat/svr4/svr4_util.h,v 1.11 2005/09/28 07:03:02 rwatson Exp $
  */
 
 #ifndef	_SVR4_UTIL_H_
@@ -42,10 +42,7 @@
 #include <sys/uio.h>
 
 #ifdef DEBUG_SVR4
-#define DPRINTF(a) do {							\
-	mtx_lock(&Giant);						\
-	uprintf a;							\
-} while (0)
+#define DPRINTF(a)	uprintf a;
 #else
 #define DPRINTF(a)
 #endif


>>> TRUNCATED FOR MAIL (1000 lines) <<<



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