From owner-p4-projects@FreeBSD.ORG Mon Aug 11 21:35:53 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 06C8437B404; Mon, 11 Aug 2003 21:35:53 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AD4B137B401 for ; Mon, 11 Aug 2003 21:35:52 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F99A43F85 for ; Mon, 11 Aug 2003 21:35:51 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h7C4Zp0U007246 for ; Mon, 11 Aug 2003 21:35:51 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h7C4ZnEw007243 for perforce@freebsd.org; Mon, 11 Aug 2003 21:35:49 -0700 (PDT) Date: Mon, 11 Aug 2003 21:35:49 -0700 (PDT) Message-Id: <200308120435.h7C4ZnEw007243@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 35961 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Aug 2003 04:35:54 -0000 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 -__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 #include @@ -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 -__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 #include @@ -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 -__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 //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 //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 -__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 #include @@ -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 -__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 #include @@ -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 -__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 //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 //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 @@ -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 -__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) <<<