Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Aug 2003 21:35:49 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 35961 for review
Message-ID:  <200308120435.h7C4ZnEw007243@repoman.freebsd.org>

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

Change 35961 by marcel@marcel_nfs on 2003/08/11 21:35:13

	IFC @35959

Affected files ...

.. //depot/projects/uart/alpha/alpha/critical.c#2 integrate
.. //depot/projects/uart/alpha/alpha/pmap.c#7 integrate
.. //depot/projects/uart/alpha/alpha/vm_machdep.c#4 integrate
.. //depot/projects/uart/alpha/include/critical.h#2 integrate
.. //depot/projects/uart/amd64/amd64/busdma_machdep.c#4 integrate
.. //depot/projects/uart/amd64/amd64/critical.c#3 integrate
.. //depot/projects/uart/amd64/amd64/pmap.c#10 integrate
.. //depot/projects/uart/amd64/include/critical.h#2 integrate
.. //depot/projects/uart/boot/i386/libi386/biosacpi.c#3 integrate
.. //depot/projects/uart/boot/i386/libi386/biospnp.c#2 integrate
.. //depot/projects/uart/boot/powerpc/loader/start.c#2 integrate
.. //depot/projects/uart/cam/scsi/scsi_da.c#4 integrate
.. //depot/projects/uart/compat/linprocfs/linprocfs.c#3 integrate
.. //depot/projects/uart/compat/svr4/svr4_misc.c#2 integrate
.. //depot/projects/uart/conf/NOTES#7 integrate
.. //depot/projects/uart/conf/files#13 integrate
.. //depot/projects/uart/conf/kern.post.mk#3 integrate
.. //depot/projects/uart/conf/options#7 integrate
.. //depot/projects/uart/contrib/dev/acpica/acfreebsd.h#4 integrate
.. //depot/projects/uart/contrib/dev/acpica/common/adisasm.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/common/getopt.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslanalyze.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslcodegen.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslcompile.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslcompiler.h#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslcompiler.l#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslcompiler.y#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslerror.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslfiles.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslfold.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslglobal.h#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/asllength.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/asllisting.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslload.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/asllookup.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslmain.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslmap.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslopcodes.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/asloperands.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslopt.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslresource.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslrestype1.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslrestype2.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslstubs.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/asltransform.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/asltree.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/asltypes.h#1 branch
.. //depot/projects/uart/contrib/dev/acpica/compiler/aslutils.c#1 branch
.. //depot/projects/uart/contrib/dev/acpica/osunixxf.c#1 branch
.. //depot/projects/uart/contrib/dev/oltr/if_oltr.c#2 integrate
.. //depot/projects/uart/dev/aac/aacvar.h#3 integrate
.. //depot/projects/uart/dev/acpica/acpi.c#5 integrate
.. //depot/projects/uart/dev/acpica/acpi_acad.c#2 integrate
.. //depot/projects/uart/dev/acpica/acpi_battery.c#2 integrate
.. //depot/projects/uart/dev/acpica/acpi_button.c#3 integrate
.. //depot/projects/uart/dev/acpica/acpi_cmbat.c#2 integrate
.. //depot/projects/uart/dev/acpica/acpi_pcib_acpi.c#2 integrate
.. //depot/projects/uart/dev/amd/amd.c#4 integrate
.. //depot/projects/uart/dev/bge/if_bge.c#5 integrate
.. //depot/projects/uart/dev/bktr/bktr_core.c#2 integrate
.. //depot/projects/uart/dev/ct/ct.c#2 integrate
.. //depot/projects/uart/dev/dgb/dgreg.h#2 integrate
.. //depot/projects/uart/dev/digi/digi.c#2 integrate
.. //depot/projects/uart/dev/digi/digi.h#2 integrate
.. //depot/projects/uart/dev/digi/digireg.h#2 integrate
.. //depot/projects/uart/dev/ed/if_ed.c#2 integrate
.. //depot/projects/uart/dev/ed/if_ed_cbus.c#2 integrate
.. //depot/projects/uart/dev/ed/if_ed_pccard.c#5 integrate
.. //depot/projects/uart/dev/en/if_en_pci.c#2 integrate
.. //depot/projects/uart/dev/en/midway.c#5 integrate
.. //depot/projects/uart/dev/en/midwayvar.h#2 integrate
.. //depot/projects/uart/dev/fatm/if_fatm.c#6 integrate
.. //depot/projects/uart/dev/fatm/if_fatmvar.h#3 integrate
.. //depot/projects/uart/dev/firewire/firewire.c#5 integrate
.. //depot/projects/uart/dev/firewire/firewire.h#3 integrate
.. //depot/projects/uart/dev/firewire/firewirereg.h#3 integrate
.. //depot/projects/uart/dev/firewire/fwdev.c#4 integrate
.. //depot/projects/uart/dev/firewire/fwohci.c#6 integrate
.. //depot/projects/uart/dev/firewire/fwohci_pci.c#5 integrate
.. //depot/projects/uart/dev/hatm/if_hatm.c#6 integrate
.. //depot/projects/uart/dev/hatm/if_hatm_ioctl.c#5 integrate
.. //depot/projects/uart/dev/hatm/if_hatm_rx.c#3 integrate
.. //depot/projects/uart/dev/hatm/if_hatm_tx.c#4 integrate
.. //depot/projects/uart/dev/hatm/if_hatmvar.h#4 integrate
.. //depot/projects/uart/dev/ida/ida_disk.c#2 integrate
.. //depot/projects/uart/dev/ie/if_ievar.h#2 integrate
.. //depot/projects/uart/dev/iicbus/iic.c#2 integrate
.. //depot/projects/uart/dev/iicbus/iicsmb.c#2 integrate
.. //depot/projects/uart/dev/md/md.c#3 integrate
.. //depot/projects/uart/dev/mlx/mlx.c#3 integrate
.. //depot/projects/uart/dev/mly/mly.c#3 integrate
.. //depot/projects/uart/dev/patm/if_patm.c#3 integrate
.. //depot/projects/uart/dev/patm/if_patm_ioctl.c#3 integrate
.. //depot/projects/uart/dev/patm/if_patm_rx.c#3 integrate
.. //depot/projects/uart/dev/patm/if_patm_tx.c#4 integrate
.. //depot/projects/uart/dev/patm/if_patmvar.h#2 integrate
.. //depot/projects/uart/dev/pccard/pccarddevs#6 integrate
.. //depot/projects/uart/dev/pccard/pccarddevs.h#6 integrate
.. //depot/projects/uart/dev/pccbb/pccbb.c#3 integrate
.. //depot/projects/uart/dev/pccbb/pccbbreg.h#2 integrate
.. //depot/projects/uart/dev/ppbus/ppbconf.h#2 integrate
.. //depot/projects/uart/dev/rc/rc.c#2 integrate
.. //depot/projects/uart/dev/smbus/smb.c#2 integrate
.. //depot/projects/uart/dev/snc/dp83932.c#2 integrate
.. //depot/projects/uart/dev/sound/pci/ich.c#5 integrate
.. //depot/projects/uart/dev/sound/pci/ich.h#2 integrate
.. //depot/projects/uart/dev/sound/pcm/feeder.c#3 integrate
.. //depot/projects/uart/dev/sound/pcm/feeder.h#3 integrate
.. //depot/projects/uart/dev/sym/sym_fw.h#2 integrate
.. //depot/projects/uart/dev/trm/trm.c#3 integrate
.. //depot/projects/uart/dev/twe/twe.c#2 integrate
.. //depot/projects/uart/dev/twe/twe_compat.h#2 integrate
.. //depot/projects/uart/dev/twe/twe_freebsd.c#3 integrate
.. //depot/projects/uart/dev/twe/twe_tables.h#2 integrate
.. //depot/projects/uart/dev/twe/tweio.h#2 integrate
.. //depot/projects/uart/dev/twe/twereg.h#2 integrate
.. //depot/projects/uart/dev/twe/twevar.h#2 integrate
.. //depot/projects/uart/dev/usb/umass.c#4 integrate
.. //depot/projects/uart/dev/wi/if_wi_pci.c#4 integrate
.. //depot/projects/uart/fs/specfs/spec_vnops.c#2 integrate
.. //depot/projects/uart/fs/udf/udf_vfsops.c#3 integrate
.. //depot/projects/uart/i386/i386/busdma_machdep.c#6 integrate
.. //depot/projects/uart/i386/i386/critical.c#2 integrate
.. //depot/projects/uart/i386/i386/exception.s#2 integrate
.. //depot/projects/uart/i386/i386/i686_mem.c#2 integrate
.. //depot/projects/uart/i386/i386/identcpu.c#3 integrate
.. //depot/projects/uart/i386/i386/pmap.c#9 integrate
.. //depot/projects/uart/i386/i386/sys_machdep.c#6 integrate
.. //depot/projects/uart/i386/i386/tsc.c#2 integrate
.. //depot/projects/uart/i386/ibcs2/ibcs2_stat.c#2 integrate
.. //depot/projects/uart/i386/include/clock.h#2 integrate
.. //depot/projects/uart/i386/include/cpufunc.h#3 integrate
.. //depot/projects/uart/i386/include/critical.h#2 integrate
.. //depot/projects/uart/i386/include/sysarch.h#2 integrate
.. //depot/projects/uart/i386/isa/clock.c#2 integrate
.. //depot/projects/uart/i386/isa/cxreg.h#2 integrate
.. //depot/projects/uart/i386/isa/if_rdp.c#2 integrate
.. //depot/projects/uart/i386/isa/spic.c#2 integrate
.. //depot/projects/uart/i386/isa/spigot.c#2 integrate
.. //depot/projects/uart/i386/isa/wt.c#2 integrate
.. //depot/projects/uart/ia64/ia64/critical.c#2 integrate
.. //depot/projects/uart/ia64/ia64/exception.S#4 integrate
.. //depot/projects/uart/ia64/ia64/machdep.c#7 integrate
.. //depot/projects/uart/ia64/ia64/mp_machdep.c#4 integrate
.. //depot/projects/uart/ia64/ia64/pmap.c#7 integrate
.. //depot/projects/uart/ia64/ia64/support.S#2 integrate
.. //depot/projects/uart/ia64/ia64/syscall.S#3 integrate
.. //depot/projects/uart/ia64/ia64/trap.c#4 integrate
.. //depot/projects/uart/ia64/ia64/vm_machdep.c#3 integrate
.. //depot/projects/uart/ia64/include/cpu.h#4 integrate
.. //depot/projects/uart/ia64/include/critical.h#2 integrate
.. //depot/projects/uart/ia64/include/ieeefp.h#2 integrate
.. //depot/projects/uart/ia64/include/pcb.h#2 integrate
.. //depot/projects/uart/ia64/include/ucontext.h#3 integrate
.. //depot/projects/uart/isofs/cd9660/cd9660_vfsops.c#3 integrate
.. //depot/projects/uart/kern/kern_descrip.c#6 integrate
.. //depot/projects/uart/kern/kern_fork.c#2 integrate
.. //depot/projects/uart/kern/kern_ktrace.c#3 integrate
.. //depot/projects/uart/kern/kern_proc.c#4 integrate
.. //depot/projects/uart/kern/kern_sig.c#9 integrate
.. //depot/projects/uart/kern/kern_thread.c#7 integrate
.. //depot/projects/uart/kern/link_elf.c#3 integrate
.. //depot/projects/uart/kern/subr_param.c#4 integrate
.. //depot/projects/uart/kern/subr_trap.c#3 integrate
.. //depot/projects/uart/kern/subr_witness.c#4 integrate
.. //depot/projects/uart/kern/sys_pipe.c#5 integrate
.. //depot/projects/uart/kern/sys_process.c#3 integrate
.. //depot/projects/uart/kern/sysv_msg.c#2 integrate
.. //depot/projects/uart/kern/sysv_sem.c#2 integrate
.. //depot/projects/uart/kern/sysv_shm.c#2 integrate
.. //depot/projects/uart/kern/uipc_socket.c#4 integrate
.. //depot/projects/uart/kern/uipc_syscalls.c#3 integrate
.. //depot/projects/uart/kern/vfs_subr.c#3 integrate
.. //depot/projects/uart/kern/vfs_syscalls.c#5 integrate
.. //depot/projects/uart/libkern/random.c#2 integrate
.. //depot/projects/uart/modules/Makefile#4 integrate
.. //depot/projects/uart/modules/en/Makefile#2 integrate
.. //depot/projects/uart/modules/netgraph/atm/Makefile#2 integrate
.. //depot/projects/uart/modules/netgraph/atm/atmpif/Makefile#1 branch
.. //depot/projects/uart/net/bpf.c#2 integrate
.. //depot/projects/uart/net/bpfdesc.h#2 integrate
.. //depot/projects/uart/net/if_atm.h#5 integrate
.. //depot/projects/uart/net/if_loop.c#2 integrate
.. //depot/projects/uart/netgraph/atm/atmpif/ng_atmpif.c#1 branch
.. //depot/projects/uart/netgraph/atm/atmpif/ng_atmpif_harp.c#1 branch
.. //depot/projects/uart/netgraph/atm/atmpif/ng_atmpif_var.h#1 branch
.. //depot/projects/uart/netgraph/atm/ng_atmpif.h#1 branch
.. //depot/projects/uart/netinet/if_atm.c#2 integrate
.. //depot/projects/uart/netinet/in.h#2 integrate
.. //depot/projects/uart/netinet/in_pcb.c#2 integrate
.. //depot/projects/uart/netinet/in_proto.c#2 integrate
.. //depot/projects/uart/netinet/ip_mroute.c#2 integrate
.. //depot/projects/uart/netinet/ip_mroute.h#2 integrate
.. //depot/projects/uart/netinet/ip_output.c#3 integrate
.. //depot/projects/uart/netinet/ip_var.h#2 integrate
.. //depot/projects/uart/netinet/pim.h#1 branch
.. //depot/projects/uart/netinet/pim_var.h#1 branch
.. //depot/projects/uart/netinet/raw_ip.c#3 integrate
.. //depot/projects/uart/netinet6/nd6.c#2 integrate
.. //depot/projects/uart/netinet6/nd6.h#2 integrate
.. //depot/projects/uart/netinet6/nd6_rtr.c#2 integrate
.. //depot/projects/uart/netnatm/natm.c#3 integrate
.. //depot/projects/uart/netnatm/natm.h#2 integrate
.. //depot/projects/uart/netnatm/natm_pcb.c#2 integrate
.. //depot/projects/uart/netnatm/natm_proto.c#2 integrate
.. //depot/projects/uart/nfsclient/bootp_subr.c#2 integrate
.. //depot/projects/uart/pc98/pc98/clock.c#2 integrate
.. //depot/projects/uart/pci/if_rl.c#8 integrate
.. //depot/projects/uart/pci/if_rlreg.h#3 integrate
.. //depot/projects/uart/pci/if_ti.c#2 integrate
.. //depot/projects/uart/pci/meteor.c#2 integrate
.. //depot/projects/uart/powerpc/include/critical.h#2 integrate
.. //depot/projects/uart/powerpc/powerpc/critical.c#2 integrate
.. //depot/projects/uart/sparc64/include/critical.h#2 integrate
.. //depot/projects/uart/sparc64/sparc64/critical.c#2 integrate
.. //depot/projects/uart/sparc64/sparc64/machdep.c#4 integrate
.. //depot/projects/uart/sys/buf.h#2 integrate
.. //depot/projects/uart/sys/kse.h#3 integrate
.. //depot/projects/uart/sys/mman.h#2 integrate
.. //depot/projects/uart/sys/namei.h#2 integrate
.. //depot/projects/uart/sys/param.h#5 integrate
.. //depot/projects/uart/sys/pipe.h#3 integrate
.. //depot/projects/uart/sys/proc.h#4 integrate
.. //depot/projects/uart/sys/socketvar.h#3 integrate
.. //depot/projects/uart/ufs/ffs/ffs_vnops.c#3 integrate
.. //depot/projects/uart/vm/default_pager.c#2 integrate
.. //depot/projects/uart/vm/device_pager.c#2 integrate
.. //depot/projects/uart/vm/phys_pager.c#2 integrate
.. //depot/projects/uart/vm/swap_pager.c#7 integrate
.. //depot/projects/uart/vm/swap_pager.h#5 integrate
.. //depot/projects/uart/vm/uma_core.c#8 integrate
.. //depot/projects/uart/vm/uma_int.h#3 integrate
.. //depot/projects/uart/vm/vm_contig.c#6 integrate
.. //depot/projects/uart/vm/vm_glue.c#4 integrate
.. //depot/projects/uart/vm/vm_init.c#3 integrate
.. //depot/projects/uart/vm/vm_kern.c#4 integrate
.. //depot/projects/uart/vm/vm_kern.h#2 integrate
.. //depot/projects/uart/vm/vm_map.c#6 integrate
.. //depot/projects/uart/vm/vm_map.h#3 integrate
.. //depot/projects/uart/vm/vm_mmap.c#3 integrate
.. //depot/projects/uart/vm/vm_object.c#4 integrate
.. //depot/projects/uart/vm/vm_pager.c#3 integrate
.. //depot/projects/uart/vm/vm_pager.h#3 integrate
.. //depot/projects/uart/vm/vm_unix.c#2 integrate
.. //depot/projects/uart/vm/vnode_pager.c#2 integrate

Differences ...

==== //depot/projects/uart/alpha/alpha/critical.c#2 (text+ko) ====

@@ -4,7 +4,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/critical.c,v 1.4 2003/06/10 16:50:43 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/critical.c,v 1.5 2003/08/04 20:32:44 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -31,17 +31,5 @@
 	struct thread *td;
 
 	td = curthread;
-	td->td_critnest = 1;
 	td->td_md.md_savecrit = ALPHA_PSL_IPL_0;
 }
-
-/*
- * cpu_thread_link() - thread linkup, initialize machine-dependant fields
- */
-void
-cpu_thread_link(struct thread *td)
-{
-
-	td->td_md.md_savecrit = 0;
-}
-

==== //depot/projects/uart/alpha/alpha/pmap.c#7 (text+ko) ====

@@ -148,7 +148,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.132 2003/07/31 03:39:50 bmilekic Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.133 2003/08/07 18:35:16 gallatin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1552,10 +1552,11 @@
 	pv->pv_pmap = pmap;
 	pv->pv_ptem = mpte;
 
+	vm_page_lock_queues();
 	TAILQ_INSERT_TAIL(&pmap->pm_pvlist, pv, pv_plist);
 	TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list);
 	m->md.pv_list_count++;
-
+	vm_page_unlock_queues();
 	splx(s);
 }
 

==== //depot/projects/uart/alpha/alpha/vm_machdep.c#4 (text+ko) ====

@@ -67,7 +67,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.91 2003/07/31 01:31:31 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.92 2003/08/11 01:38:23 marcel Exp $");
 
 #include "opt_kstack_pages.h"
 
@@ -248,8 +248,6 @@
 void
 cpu_thread_exit(struct thread *td)
 {
-
-	return;
 }
 
 void
@@ -318,8 +316,31 @@
 void
 cpu_set_upcall_kse(struct thread *td, struct kse_upcall *ku)
 {
+	struct pcb *pcb;
+	struct trapframe *tf;
+	uint64_t stack;
 
-	/* XXX */
+	pcb = td->td_pcb;
+	tf = td->td_frame;
+	stack = ((uint64_t)ku->ku_stack.ss_sp + ku->ku_stack.ss_size) & ~15;
+
+	bzero(tf->tf_regs, FRAME_SIZE * sizeof(tf->tf_regs[0]));
+	bzero(&pcb->pcb_fp, sizeof(pcb->pcb_fp));
+	pcb->pcb_fp_control = 0;
+	pcb->pcb_fp.fpr_cr = FPCR_DYN_NORMAL | FPCR_INVD | FPCR_DZED |
+	    FPCR_OVFD | FPCR_INED | FPCR_UNFD;
+	if (td != curthread) {
+		pcb->pcb_hw.apcb_usp = stack;
+		pcb->pcb_hw.apcb_unique = 0;
+	} else {
+		alpha_pal_wrusp(stack);
+		alpha_pal_wrunique(0);
+	}
+	tf->tf_regs[FRAME_PS] = ALPHA_PSL_USERSET;
+	tf->tf_regs[FRAME_PC] = (u_long)ku->ku_func;
+	tf->tf_regs[FRAME_A0] = (u_long)ku->ku_mailbox;
+	tf->tf_regs[FRAME_T12] = tf->tf_regs[FRAME_PC];	/* aka. PV */
+	tf->tf_regs[FRAME_FLAGS] = 0;			/* full restore */
 }
 
 /*

==== //depot/projects/uart/alpha/include/critical.h#2 (text+ko) ====

@@ -8,11 +8,10 @@
  *	cpu_critical_enter()		- inlined
  *	cpu_critical_exit()		- inlined
  *	cpu_critical_fork_exit()	- prototyped
- *	cpu_thread_link()		- prototyped
  *	related support functions residing
  *	in <arch>/<arch>/critical.c	- prototyped
  *
- * $FreeBSD: src/sys/alpha/include/critical.h,v 1.1 2002/04/01 23:51:22 dillon Exp $
+ * $FreeBSD: src/sys/alpha/include/critical.h,v 1.2 2003/08/04 20:32:44 jhb Exp $
  */
 
 #ifndef _MACHINE_CRITICAL_H_
@@ -24,7 +23,6 @@
  * Prototypes - see <arch>/<arch>/critical.c
  */
 void cpu_critical_fork_exit(void);
-void cpu_thread_link(struct thread *td);
 
 #ifdef	__GNUC__
 

==== //depot/projects/uart/amd64/amd64/busdma_machdep.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.50 2003/07/27 13:52:08 mux Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.51 2003/08/04 23:40:35 scottl Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -476,7 +476,8 @@
 	else
 		pmap = NULL;
 
-	if (dmat->lowaddr < ptoa((vm_paddr_t)Maxmem)) {
+	if (dmat->lowaddr < ptoa((vm_paddr_t)Maxmem) &&
+	    map->pagesneeded == 0) {
 		vm_offset_t	vendaddr;
 
 		/*

==== //depot/projects/uart/amd64/amd64/critical.c#3 (text+ko) ====

@@ -4,7 +4,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/critical.c,v 1.10 2003/07/25 21:15:44 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/critical.c,v 1.11 2003/08/04 20:32:44 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -28,16 +28,5 @@
 	struct thread *td;
 
 	td = curthread;
-	td->td_critnest = 1;
 	td->td_md.md_savecrit = read_rflags() | PSL_I;
 }
-
-/*
- * cpu_thread_link() - thread linkup, initialize machine-dependant fields
- */
-void
-cpu_thread_link(struct thread *td)
-{
-
-	td->td_md.md_savecrit = 0;
-}

==== //depot/projects/uart/amd64/amd64/pmap.c#10 (text+ko) ====

@@ -73,7 +73,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.428 2003/08/02 19:26:08 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.430 2003/08/10 21:53:55 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -208,7 +208,7 @@
 static PMAP_INLINE void	free_pv_entry(pv_entry_t pv);
 static pv_entry_t get_pv_entry(void);
 static void	amd64_protection_init(void);
-static void	pmap_changebit(vm_page_t m, int bit, boolean_t setem)
+static void	pmap_clear_ptes(vm_page_t m, int bit)
     __always_inline;
 
 static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva);
@@ -1466,10 +1466,12 @@
 	pv->pv_pmap = pmap;
 	pv->pv_ptem = mpte;
 
+	vm_page_lock_queues();
 	TAILQ_INSERT_TAIL(&pmap->pm_pvlist, pv, pv_plist);
 	TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list);
 	m->md.pv_list_count++;
 
+	vm_page_unlock_queues();
 	splx(s);
 }
 
@@ -2609,17 +2611,17 @@
 }
 
 /*
- * this routine is used to modify bits in ptes
+ *	Clear the given bit in each of the given page's ptes.
  */
 static __inline void
-pmap_changebit(vm_page_t m, int bit, boolean_t setem)
+pmap_clear_ptes(vm_page_t m, int bit)
 {
 	register pv_entry_t pv;
-	register pt_entry_t *pte;
+	pt_entry_t pbits, *pte;
 	int s;
 
 	if (!pmap_initialized || (m->flags & PG_FICTITIOUS) ||
-	    (!setem && bit == PG_RW && (m->flags & PG_WRITEABLE) == 0))
+	    (bit == PG_RW && (m->flags & PG_WRITEABLE) == 0))
 		return;
 
 	s = splvm();
@@ -2632,7 +2634,7 @@
 		/*
 		 * don't write protect pager mappings
 		 */
-		if (!setem && (bit == PG_RW)) {
+		if (bit == PG_RW) {
 			if (!pmap_track_modified(pv->pv_va))
 				continue;
 		}
@@ -2645,26 +2647,20 @@
 #endif
 
 		pte = pmap_pte(pv->pv_pmap, pv->pv_va);
-
-		if (setem) {
-			*pte |= bit;
-			pmap_invalidate_page(pv->pv_pmap, pv->pv_va);
-		} else {
-			pt_entry_t pbits = *pte;
-			if (pbits & bit) {
-				if (bit == PG_RW) {
-					if (pbits & PG_M) {
-						vm_page_dirty(m);
-					}
-					pte_store(pte, pbits & ~(PG_M|PG_RW));
-				} else {
-					pte_store(pte, pbits & ~bit);
+		pbits = *pte;
+		if (pbits & bit) {
+			if (bit == PG_RW) {
+				if (pbits & PG_M) {
+					vm_page_dirty(m);
 				}
-				pmap_invalidate_page(pv->pv_pmap, pv->pv_va);
+				pte_store(pte, pbits & ~(PG_M|PG_RW));
+			} else {
+				pte_store(pte, pbits & ~bit);
 			}
+			pmap_invalidate_page(pv->pv_pmap, pv->pv_va);
 		}
 	}
-	if (!setem && bit == PG_RW)
+	if (bit == PG_RW)
 		vm_page_flag_clear(m, PG_WRITEABLE);
 	splx(s);
 }
@@ -2679,7 +2675,7 @@
 {
 	if ((prot & VM_PROT_WRITE) == 0) {
 		if (prot & (VM_PROT_READ | VM_PROT_EXECUTE)) {
-			pmap_changebit(m, PG_RW, FALSE);
+			pmap_clear_ptes(m, PG_RW);
 		} else {
 			pmap_remove_all(m);
 		}
@@ -2750,7 +2746,7 @@
 void
 pmap_clear_modify(vm_page_t m)
 {
-	pmap_changebit(m, PG_M, FALSE);
+	pmap_clear_ptes(m, PG_M);
 }
 
 /*
@@ -2761,7 +2757,7 @@
 void
 pmap_clear_reference(vm_page_t m)
 {
-	pmap_changebit(m, PG_A, FALSE);
+	pmap_clear_ptes(m, PG_A);
 }
 
 /*

==== //depot/projects/uart/amd64/include/critical.h#2 (text+ko) ====

@@ -8,11 +8,10 @@
  *	cpu_critical_enter()		- inlined
  *	cpu_critical_exit()		- inlined
  *	cpu_critical_fork_exit()	- prototyped
- *	cpu_thread_link()		- prototyped
  *	related support functions residing
  *	in <arch>/<arch>/critical.c	- prototyped
  *
- * $FreeBSD: src/sys/amd64/include/critical.h,v 1.3 2003/05/01 01:05:23 peter Exp $
+ * $FreeBSD: src/sys/amd64/include/critical.h,v 1.4 2003/08/04 20:32:45 jhb Exp $
  */
 
 #ifndef _MACHINE_CRITICAL_H_
@@ -24,7 +23,6 @@
  * Prototypes - see <arch>/<arch>/critical.c
  */
 void cpu_critical_fork_exit(void);
-void cpu_thread_link(struct thread *td);
 
 #ifdef	__GNUC__
 

==== //depot/projects/uart/boot/i386/libi386/biosacpi.c#3 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/i386/libi386/biosacpi.c,v 1.5 2003/07/13 22:54:53 njl Exp $
+ * $FreeBSD: src/sys/boot/i386/libi386/biosacpi.c,v 1.6 2003/08/07 14:53:14 njl Exp $
  */
 
 #include <stand.h>
@@ -66,6 +66,7 @@
     sprintf(buf, "%d", revision);
     setenv("hint.acpi.0.revision", buf, 1);
     sprintf(buf, "%6s", rsdp->OemId);
+    buf[6] = '\0';
     setenv("hint.acpi.0.oem", buf, 1);
     sprintf(buf, "0x%08x", rsdp->RsdtPhysicalAddress);
     setenv("hint.acpi.0.rsdt", buf, 1);

==== //depot/projects/uart/boot/i386/libi386/biospnp.c#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/i386/libi386/biospnp.c,v 1.7 2002/09/23 18:54:26 alfred Exp $
+ * $FreeBSD: src/sys/boot/i386/libi386/biospnp.c,v 1.8 2003/08/07 15:04:24 jhb Exp $
  */
 
 /*
@@ -263,7 +263,7 @@
 	switch(*p) {
 
 	case 'w':
-	    i = va_arg(ap, uint);
+	    i = va_arg(ap, u_int);
 	    *(u_int16_t *)argp = i;
 	    argp += sizeof(u_int16_t);
 	    break;

==== //depot/projects/uart/boot/powerpc/loader/start.c#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/boot/powerpc/loader/start.c,v 1.2 2001/10/07 13:22:25 benno Exp $ */
+/* $FreeBSD: src/sys/boot/powerpc/loader/start.c,v 1.3 2003/08/05 11:30:18 grehan Exp $ */
 /* $NetBSD: Locore.c,v 1.7 2000/08/20 07:04:59 tsubai Exp $ */
 
 /*
@@ -38,63 +38,63 @@
 void startup(void *, int, int (*)(void *), char *, int);
 
 #ifdef XCOFF_GLUE
-asm("
-	.text
-	.globl	_entry
-_entry:
-	.long	_start,0,0
+asm("				\n\
+	.text			\n\
+	.globl	_entry		\n\
+_entry:				\n\
+	.long	_start,0,0	\n\
 ");
 #endif
 
-__asm("
-	.data
-stack:
-	.space	16388
-
-	.text
-	.globl	_start
-_start:
-	li	8,0
-	li	9,0x100
-	mtctr	9
-1:
-	dcbf	0,8
-	icbi	0,8
-	addi	8,8,0x20
-	bdnz	1b
-	sync
-	isync
-
-	lis	1,stack@ha
-	addi	1,1,stack@l
-	addi	1,1,8192
-
-	mfmsr	8
-	li	0,0
-	mtmsr	0
-	isync
-
-	mtibatu	0,0
-	mtibatu	1,0
-	mtibatu	2,0
-	mtibatu	3,0
-	mtdbatu	0,0
-	mtdbatu	1,0
-	mtdbatu	2,0
-	mtdbatu	3,0
-
-	li	9,0x12		/* BATL(0, BAT_M, BAT_PP_RW) */
-	mtibatl	0,9
-	mtdbatl	0,9
-	li	9,0x1ffe	/* BATU(0, BAT_BL_256M, BAT_Vs) */
-	mtibatu	0,9
-	mtdbatu	0,9
-	isync
-
-	mtmsr	8
-	isync
-
-	b	startup
+__asm("				\n\
+	.data			\n\
+stack:				\n\
+	.space	16388		\n\
+				\n\
+	.text			\n\
+	.globl	_start		\n\
+_start:				\n\
+	li	%r8,0		\n\
+	li	%r9,0x100	\n\
+	mtctr	%r9		\n\
+1:				\n\
+	dcbf	%r0,%r8		\n\
+	icbi	%r0,%r8		\n\
+	addi	%r8,%r8,0x20	\n\
+	bdnz	1b		\n\
+	sync			\n\
+	isync			\n\
+				\n\
+	lis	%r1,stack@ha	\n\
+	addi	%r1,%r1,stack@l	\n\
+	addi	%r1,%r1,8192	\n\
+				\n\
+	mfmsr	%r8		\n\
+	li	%r0,0		\n\
+	mtmsr	%r0		\n\
+	isync			\n\
+				\n\
+	mtibatu	0,%r0		\n\
+	mtibatu	1,%r0		\n\
+	mtibatu	2,%r0		\n\
+	mtibatu	3,%r0		\n\
+	mtdbatu	0,%r0		\n\
+	mtdbatu	1,%r0		\n\
+	mtdbatu	2,%r0		\n\
+	mtdbatu	3,%r0		\n\
+				\n\
+	li	%r9,0x12     /* BATL(0, BAT_M, BAT_PP_RW) */ \n\
+	mtibatl	0,%r9		\n\
+	mtdbatl	0,%r9		\n\
+	li	%r9,0x1ffe   /* BATU(0, BAT_BL_256M, BAT_Vs) */ \n\
+	mtibatu	0,%r9		\n\
+	mtdbatu	0,%r9		\n\
+	isync			\n\
+				\n\
+	mtmsr	%r8		\n\
+	isync			\n\
+				\n\
+	b	startup		\n\
 ");
 
 void

==== //depot/projects/uart/cam/scsi/scsi_da.c#4 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.149 2003/07/29 18:08:16 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.151 2003/08/06 17:30:03 njl Exp $");
 
 #ifdef _KERNEL
 #include "opt_da.h"
@@ -146,22 +146,7 @@
 
 static struct da_quirk_entry da_quirk_table[] =
 {
-#ifdef DA_OLD_QUIRKS
-	/*
-	 * Logitec USB/Firewire LHD-P30FU
-	 */
 	{
-		/* USB part */
-		{T_DIRECT, SIP_MEDIA_FIXED, "HITACHI_", "DK23DA*", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/* Firewire part */
-		{T_DIRECT, SIP_MEDIA_FIXED, "LSILogic", "SYM13FW*", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-#endif /* DA_OLD_QUIRKS */
-	{
 		/*
 		 * Fujitsu M2513A MO drives.
 		 * Tested devices: M2513A2 firmware versions 1200 & 1300.
@@ -296,24 +281,6 @@
 	},
 	{
 		/*
-		 * Maxtor 3000LE USB Drive
-		 */
-		{T_DIRECT, SIP_MEDIA_FIXED, "MAXTOR*", "K040H2*", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
-		 * LaCie USB drive, among others
-		 */
-		{T_DIRECT, SIP_MEDIA_FIXED, "Maxtor*", "D080H4*", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		{T_OPTICAL, SIP_MEDIA_REMOVABLE, "FUJITSU", "MCF3064AP", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
 		 * Microtech USB CameraMate
 		 */
 		{T_DIRECT, SIP_MEDIA_REMOVABLE, "eUSB    Compact*",
@@ -338,13 +305,6 @@
 	},
 	{
 		/*
-		 * Olympus digital cameras (D-370)
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "D-*", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
 		 * Olympus digital cameras (E-100RS, E-10).
 		 */
 		{T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "E-*", "*"},
@@ -367,34 +327,6 @@
  	},
 	{
 		/*
-		 * Nikon Coolpix E775/E995 Cameras 
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "NIKON", "NIKON DSC E*", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
-		 * Nikon Coolpix E885 Camera
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "Nikon", "Digital Camera", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
-		 * SimpleTech FlashLink UCF-100
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "OEI-USB", "CompactFlash", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
-		 * Minolta Dimage 2330
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "MINOLTA", "DIMAGE 2330*", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
 		 * Minolta Dimage E203
 		 */
 		{T_DIRECT, SIP_MEDIA_REMOVABLE, "MINOLTA", "DiMAGE E203", "*"},
@@ -402,21 +334,6 @@
 	},
 	{
 		/*
-		 * DIVA USB Mp3 Player.
-		 * PR: kern/33638
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "DIVA USB", "Media Reader","*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
-		 * Daisy Technology PhotoClip USB Camera
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "Digital", "World   DMC","*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
 		 * Apacer HandyDrive
 		 * PR: kern/43627
 		 */
@@ -433,22 +350,6 @@
 	},
 	{
 		/*
-		 * HP 315 Digital Camera
-		 * PR: kern/41010
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "HP", "USB CAMERA", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
-		 * Fujitsu-Siemens Memorybird pen drive
-		 * PR: kern/34712
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "Fujitsu", "Memorybird", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
 		 * Sony USB Key-Storage
 		 * PR: kern/46386
 		 */
@@ -457,71 +358,12 @@
 	},
 	{
 		/*
-		 * Lexar Media Jumpdrive
-		 * PR: kern/47006
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "LEXAR", "DIGITAL FILM", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
-		 * Pentax USB Optio 230 camera
-		 * PR: kern/46369
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE,
-		 "PENTAX", "DIGITAL_CAMERA", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
-		 * Casio QV-R3 USB camera (uses Pentax chip as above)
-		 * PR: kern/46545
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE,
-		 "CASIO", "DIGITAL_CAMERA", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
-		 * M-Systems DiskOnKey USB flash key
-		 * PR: kern/47793
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "M-Sys", "DiskOnKey", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
-		 * SanDisk ImageMate (I, II, ...) compact flash
-		 * PR: kern/47877
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "SanDisk", "ImageMate*", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
-		 * Feiya "slider" dual-slot flash reader. The vendor field
-		 * is blank so this may match other devices.
-		 * PR: kern/50020
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "", "USB CARD READER", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	},
-	{
-		/*
 		 * SmartDisk (Mitsumi) USB floppy drive
 		 * PR: kern/50226
 		 */
 		{T_DIRECT, SIP_MEDIA_REMOVABLE, "MITSUMI", "USB FDD", "*"},
 		/*quirks*/ DA_Q_NO_SYNC_CACHE
 	},
-	{
-		/*
-		 * OTi USB Flash Key
-		 * PR: kern/51825
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "OTi", "Flash Disk", "*"},
-		/*quirks*/ DA_Q_NO_6_BYTE
-	}
 #endif /* DA_OLD_QUIRKS */
 };
 
@@ -1499,15 +1341,8 @@
 			} else {
 				bp->bio_resid = csio->resid;
 				bp->bio_error = 0;
-				if (bp->bio_resid != 0) {
-					/* Short transfer ??? */
-#if 0
-					if (cmd6workaround(done_ccb) 
-								== ERESTART)
-						return;
-#endif
+				if (bp->bio_resid != 0)
 					bp->bio_flags |= BIO_ERROR;
-				}
 			}
 			if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0)

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



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