PERFORCE change 35961 for review
Marcel Moolenaar
marcel at FreeBSD.org
Mon Aug 11 21:35:54 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=35961
Change 35961 by marcel at 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 at ha
- addi 1,1,stack at 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 at ha \n\
+ addi %r1,%r1,stack at 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) <<<
More information about the p4-projects
mailing list