From owner-p4-projects@FreeBSD.ORG Thu Nov 20 08:56:58 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 88C9416A4D0; Thu, 20 Nov 2003 08:56:58 -0800 (PST) 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 5C2E016A4CE for ; Thu, 20 Nov 2003 08:56:58 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3496D43F3F for ; Thu, 20 Nov 2003 08:56:56 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hAKGutXJ081703 for ; Thu, 20 Nov 2003 08:56:55 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hAKGusCS081700 for perforce@freebsd.org; Thu, 20 Nov 2003 08:56:54 -0800 (PST) (envelope-from sam@freebsd.org) Date: Thu, 20 Nov 2003 08:56:54 -0800 (PST) Message-Id: <200311201656.hAKGusCS081700@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 42807 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: Thu, 20 Nov 2003 16:56:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=42807 Change 42807 by sam@sam_ebb on 2003/11/20 08:56:12 IFC Affected files ... .. //depot/projects/netperf/sys/alpha/alpha/interrupt.c#3 integrate .. //depot/projects/netperf/sys/alpha/alpha/vm_machdep.c#7 integrate .. //depot/projects/netperf/sys/alpha/include/intr.h#2 integrate .. //depot/projects/netperf/sys/alpha/include/sf_buf.h#1 branch .. //depot/projects/netperf/sys/alpha/isa/isa.c#3 integrate .. //depot/projects/netperf/sys/alpha/mcbus/mcpcia.c#3 integrate .. //depot/projects/netperf/sys/alpha/osf1/osf1_mount.c#3 integrate .. //depot/projects/netperf/sys/alpha/pci/apecs.c#3 integrate .. //depot/projects/netperf/sys/alpha/pci/cia.c#3 integrate .. //depot/projects/netperf/sys/alpha/pci/t2.c#4 integrate .. //depot/projects/netperf/sys/alpha/pci/tsunami.c#4 integrate .. //depot/projects/netperf/sys/amd64/acpica/madt.c#1 branch .. //depot/projects/netperf/sys/amd64/amd64/apic_vector.S#1 branch .. //depot/projects/netperf/sys/amd64/amd64/autoconf.c#4 integrate .. //depot/projects/netperf/sys/amd64/amd64/cpu_switch.S#3 integrate .. //depot/projects/netperf/sys/amd64/amd64/db_interface.c#3 integrate .. //depot/projects/netperf/sys/amd64/amd64/db_trace.c#3 integrate .. //depot/projects/netperf/sys/amd64/amd64/exception.S#6 integrate .. //depot/projects/netperf/sys/amd64/amd64/fpu.c#2 integrate .. //depot/projects/netperf/sys/amd64/amd64/genassym.c#4 integrate .. //depot/projects/netperf/sys/amd64/amd64/identcpu.c#3 integrate .. //depot/projects/netperf/sys/amd64/amd64/intr_machdep.c#1 branch .. //depot/projects/netperf/sys/amd64/amd64/io_apic.c#1 branch .. //depot/projects/netperf/sys/amd64/amd64/local_apic.c#1 branch .. //depot/projects/netperf/sys/amd64/amd64/machdep.c#9 integrate .. //depot/projects/netperf/sys/amd64/amd64/mem.c#3 integrate .. //depot/projects/netperf/sys/amd64/amd64/mp_machdep.c#1 branch .. //depot/projects/netperf/sys/amd64/amd64/mpboot.S#1 branch .. //depot/projects/netperf/sys/amd64/amd64/mptable.c#1 branch .. //depot/projects/netperf/sys/amd64/amd64/mptable_pci.c#1 branch .. //depot/projects/netperf/sys/amd64/amd64/nexus.c#4 integrate .. //depot/projects/netperf/sys/amd64/amd64/pmap.c#16 integrate .. //depot/projects/netperf/sys/amd64/amd64/support.S#4 integrate .. //depot/projects/netperf/sys/amd64/amd64/trap.c#9 integrate .. //depot/projects/netperf/sys/amd64/amd64/tsc.c#5 integrate .. //depot/projects/netperf/sys/amd64/amd64/vm_machdep.c#8 integrate .. //depot/projects/netperf/sys/amd64/conf/GENERIC#6 integrate .. //depot/projects/netperf/sys/amd64/ia32/ia32_syscall.c#5 integrate .. //depot/projects/netperf/sys/amd64/include/apicreg.h#1 branch .. //depot/projects/netperf/sys/amd64/include/apicvar.h#1 branch .. //depot/projects/netperf/sys/amd64/include/asmacros.h#2 integrate .. //depot/projects/netperf/sys/amd64/include/atomic.h#2 integrate .. //depot/projects/netperf/sys/amd64/include/clock.h#5 integrate .. //depot/projects/netperf/sys/amd64/include/intr_machdep.h#1 branch .. //depot/projects/netperf/sys/amd64/include/md_var.h#4 integrate .. //depot/projects/netperf/sys/amd64/include/mptable.h#1 branch .. //depot/projects/netperf/sys/amd64/include/param.h#3 integrate .. //depot/projects/netperf/sys/amd64/include/pcpu.h#2 integrate .. //depot/projects/netperf/sys/amd64/include/pmap.h#5 integrate .. //depot/projects/netperf/sys/amd64/include/segments.h#3 integrate .. //depot/projects/netperf/sys/amd64/include/sf_buf.h#1 branch .. //depot/projects/netperf/sys/amd64/include/smp.h#2 integrate .. //depot/projects/netperf/sys/amd64/include/tss.h#2 integrate .. //depot/projects/netperf/sys/amd64/isa/atpic.c#1 branch .. //depot/projects/netperf/sys/amd64/isa/atpic_vector.S#1 branch .. //depot/projects/netperf/sys/amd64/isa/clock.c#6 integrate .. //depot/projects/netperf/sys/amd64/isa/icu.h#2 integrate .. //depot/projects/netperf/sys/amd64/isa/icu_ipl.S#2 delete .. //depot/projects/netperf/sys/amd64/isa/icu_vector.S#3 delete .. //depot/projects/netperf/sys/amd64/isa/intr_machdep.c#4 delete .. //depot/projects/netperf/sys/amd64/isa/intr_machdep.h#2 delete .. //depot/projects/netperf/sys/amd64/isa/ithread.c#3 delete .. //depot/projects/netperf/sys/amd64/isa/nmi.c#1 branch .. //depot/projects/netperf/sys/amd64/isa/vector.S#3 delete .. //depot/projects/netperf/sys/amd64/pci/pci_bus.c#6 integrate .. //depot/projects/netperf/sys/boot/i386/boot2/boot2.c#5 integrate .. //depot/projects/netperf/sys/boot/i386/btx/btx/btx.s#2 integrate .. //depot/projects/netperf/sys/boot/pc98/btx/btxldr/btxldr.s#2 integrate .. //depot/projects/netperf/sys/compat/linux/linux_file.c#2 integrate .. //depot/projects/netperf/sys/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/netperf/sys/compat/linux/linux_misc.c#6 integrate .. //depot/projects/netperf/sys/compat/svr4/svr4_misc.c#4 integrate .. //depot/projects/netperf/sys/conf/NOTES#20 integrate .. //depot/projects/netperf/sys/conf/files#27 integrate .. //depot/projects/netperf/sys/conf/files.amd64#7 integrate .. //depot/projects/netperf/sys/conf/files.sparc64#5 integrate .. //depot/projects/netperf/sys/conf/kmod.mk#9 integrate .. //depot/projects/netperf/sys/conf/options#19 integrate .. //depot/projects/netperf/sys/conf/options.amd64#2 integrate .. //depot/projects/netperf/sys/conf/options.pc98#5 integrate .. //depot/projects/netperf/sys/dev/acpica/acpi.c#12 integrate .. //depot/projects/netperf/sys/dev/acpica/acpi_cpu.c#4 integrate .. //depot/projects/netperf/sys/dev/acpica/acpi_package.c#1 branch .. //depot/projects/netperf/sys/dev/acpica/acpivar.h#6 integrate .. //depot/projects/netperf/sys/dev/ata/ata-chipset.c#10 integrate .. //depot/projects/netperf/sys/dev/ata/ata-pci.h#6 integrate .. //depot/projects/netperf/sys/dev/ata/atapi-cd.c#14 integrate .. //depot/projects/netperf/sys/dev/ath/if_ath.c#38 integrate .. //depot/projects/netperf/sys/dev/idt/idt.c#3 integrate .. //depot/projects/netperf/sys/dev/md/md.c#7 integrate .. //depot/projects/netperf/sys/dev/pci/pci.c#9 integrate .. //depot/projects/netperf/sys/dev/random/harvest.c#3 integrate .. //depot/projects/netperf/sys/dev/random/hash.c#3 integrate .. //depot/projects/netperf/sys/dev/random/randomdev.c#5 integrate .. //depot/projects/netperf/sys/dev/random/randomdev.h#2 integrate .. //depot/projects/netperf/sys/dev/random/yarrow.c#3 integrate .. //depot/projects/netperf/sys/dev/sio/sio.c#9 integrate .. //depot/projects/netperf/sys/dev/usb/ubsa.c#5 integrate .. //depot/projects/netperf/sys/dev/usb/ucom.c#5 integrate .. //depot/projects/netperf/sys/dev/usb/umct.c#3 integrate .. //depot/projects/netperf/sys/dev/usb/uplcom.c#3 integrate .. //depot/projects/netperf/sys/dev/usb/usbdevs#7 integrate .. //depot/projects/netperf/sys/dev/usb/usbdevs.h#7 integrate .. //depot/projects/netperf/sys/dev/usb/usbdevs_data.h#7 integrate .. //depot/projects/netperf/sys/dev/usb/uvscom.c#3 integrate .. //depot/projects/netperf/sys/dev/wi/if_wi.c#14 edit .. //depot/projects/netperf/sys/fs/fdescfs/fdesc_vnops.c#3 integrate .. //depot/projects/netperf/sys/fs/fifofs/fifo_vnops.c#3 integrate .. //depot/projects/netperf/sys/geom/geom_event.c#3 integrate .. //depot/projects/netperf/sys/geom/geom_subr.c#4 integrate .. //depot/projects/netperf/sys/i386/i386/intr_machdep.c#4 integrate .. //depot/projects/netperf/sys/i386/i386/mp_machdep.c#14 integrate .. //depot/projects/netperf/sys/i386/i386/vm_machdep.c#5 integrate .. //depot/projects/netperf/sys/i386/ibcs2/imgact_coff.c#4 integrate .. //depot/projects/netperf/sys/i386/include/atomic.h#2 integrate .. //depot/projects/netperf/sys/i386/include/pcpu.h#4 integrate .. //depot/projects/netperf/sys/i386/include/sf_buf.h#1 branch .. //depot/projects/netperf/sys/i386/include/smptests.h#3 integrate .. //depot/projects/netperf/sys/i386/isa/atpic.c#4 integrate .. //depot/projects/netperf/sys/i386/isa/cy.c#3 integrate .. //depot/projects/netperf/sys/i386/linux/linux_dummy.c#2 integrate .. //depot/projects/netperf/sys/i386/linux/linux_proto.h#3 integrate .. //depot/projects/netperf/sys/i386/linux/linux_syscall.h#3 integrate .. //depot/projects/netperf/sys/i386/linux/linux_sysent.c#3 integrate .. //depot/projects/netperf/sys/i386/linux/syscalls.master#3 integrate .. //depot/projects/netperf/sys/ia64/ia64/interrupt.c#6 integrate .. //depot/projects/netperf/sys/ia64/ia64/machdep.c#19 integrate .. //depot/projects/netperf/sys/ia64/ia64/vm_machdep.c#9 integrate .. //depot/projects/netperf/sys/ia64/include/pcpu.h#3 integrate .. //depot/projects/netperf/sys/ia64/include/sf_buf.h#1 branch .. //depot/projects/netperf/sys/kern/kern_intr.c#4 integrate .. //depot/projects/netperf/sys/kern/kern_mac.c#11 integrate .. //depot/projects/netperf/sys/kern/kern_physio.c#4 integrate .. //depot/projects/netperf/sys/kern/kern_prot.c#4 integrate .. //depot/projects/netperf/sys/kern/kern_switch.c#4 integrate .. //depot/projects/netperf/sys/kern/kern_timeout.c#5 integrate .. //depot/projects/netperf/sys/kern/sched_ule.c#18 integrate .. //depot/projects/netperf/sys/kern/subr_witness.c#7 integrate .. //depot/projects/netperf/sys/kern/sysv_sem.c#6 integrate .. //depot/projects/netperf/sys/kern/uipc_cow.c#2 integrate .. //depot/projects/netperf/sys/kern/uipc_socket.c#7 integrate .. //depot/projects/netperf/sys/kern/uipc_socket2.c#7 integrate .. //depot/projects/netperf/sys/kern/uipc_syscalls.c#7 integrate .. //depot/projects/netperf/sys/kern/uipc_usrreq.c#2 integrate .. //depot/projects/netperf/sys/kern/vfs_aio.c#5 integrate .. //depot/projects/netperf/sys/kern/vfs_bio.c#16 integrate .. //depot/projects/netperf/sys/modules/acpi/Makefile#3 integrate .. //depot/projects/netperf/sys/modules/linprocfs/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/linux/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/nfsclient/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/null/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/nwfs/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/ppbus/Makefile#3 integrate .. //depot/projects/netperf/sys/modules/ppi/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/pps/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/smbfs/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/streams/Makefile#2 integrate .. //depot/projects/netperf/sys/modules/uplcom/Makefile#2 integrate .. //depot/projects/netperf/sys/net/if_media.h#2 edit .. //depot/projects/netperf/sys/net/raw_usrreq.c#3 integrate .. //depot/projects/netperf/sys/net/rtsock.c#12 integrate .. //depot/projects/netperf/sys/netatalk/ddp_usrreq.c#4 integrate .. //depot/projects/netperf/sys/netatm/atm_aal5.c#2 integrate .. //depot/projects/netperf/sys/netatm/atm_usrreq.c#4 integrate .. //depot/projects/netperf/sys/netgraph/bluetooth/socket/ng_btsocket.c#3 integrate .. //depot/projects/netperf/sys/netgraph/ng_eiface.c#3 integrate .. //depot/projects/netperf/sys/netgraph/ng_etf.c#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_pptpgre.c#2 integrate .. //depot/projects/netperf/sys/netgraph/ng_socket.c#2 integrate .. //depot/projects/netperf/sys/netinet/in_pcb.c#17 integrate .. //depot/projects/netperf/sys/netinet/in_pcb.h#14 integrate .. //depot/projects/netperf/sys/netinet/ip_divert.c#15 integrate .. //depot/projects/netperf/sys/netinet/ip_fastfwd.c#2 integrate .. //depot/projects/netperf/sys/netinet/ip_flow.h#6 delete .. //depot/projects/netperf/sys/netinet/ip_input.c#23 integrate .. //depot/projects/netperf/sys/netinet/raw_ip.c#11 integrate .. //depot/projects/netperf/sys/netinet/tcp_input.c#12 integrate .. //depot/projects/netperf/sys/netinet/tcp_usrreq.c#6 integrate .. //depot/projects/netperf/sys/netinet/udp_usrreq.c#12 integrate .. //depot/projects/netperf/sys/netinet6/ah.h#3 integrate .. //depot/projects/netperf/sys/netinet6/ah_core.c#8 integrate .. //depot/projects/netperf/sys/netinet6/ah_input.c#4 integrate .. //depot/projects/netperf/sys/netinet6/esp_core.c#8 integrate .. //depot/projects/netperf/sys/netinet6/esp_input.c#6 integrate .. //depot/projects/netperf/sys/netinet6/esp_output.c#3 integrate .. //depot/projects/netperf/sys/netinet6/ip6_output.c#25 integrate .. //depot/projects/netperf/sys/netinet6/raw_ip6.c#9 integrate .. //depot/projects/netperf/sys/netinet6/udp6_usrreq.c#6 integrate .. //depot/projects/netperf/sys/netipsec/keysock.c#4 integrate .. //depot/projects/netperf/sys/netipx/ipx_usrreq.c#2 integrate .. //depot/projects/netperf/sys/netipx/spx_usrreq.c#3 integrate .. //depot/projects/netperf/sys/netkey/keysock.c#5 integrate .. //depot/projects/netperf/sys/netnatm/natm.c#8 integrate .. //depot/projects/netperf/sys/nfsclient/nfs.h#3 integrate .. //depot/projects/netperf/sys/nfsserver/nfs_srvsock.c#4 integrate .. //depot/projects/netperf/sys/pc98/conf/NOTES#7 integrate .. //depot/projects/netperf/sys/pc98/i386/machdep.c#10 integrate .. //depot/projects/netperf/sys/pc98/pc98/sio.c#6 integrate .. //depot/projects/netperf/sys/powerpc/include/intr_machdep.h#2 integrate .. //depot/projects/netperf/sys/powerpc/include/sf_buf.h#1 branch .. //depot/projects/netperf/sys/powerpc/powermac/hrowpic.c#2 integrate .. //depot/projects/netperf/sys/powerpc/powerpc/intr_machdep.c#2 integrate .. //depot/projects/netperf/sys/powerpc/powerpc/openpic.c#2 integrate .. //depot/projects/netperf/sys/powerpc/powerpc/vm_machdep.c#5 integrate .. //depot/projects/netperf/sys/rpc/rpcclnt.c#2 integrate .. //depot/projects/netperf/sys/security/mac/mac_internal.h#7 integrate .. //depot/projects/netperf/sys/security/mac/mac_net.c#6 integrate .. //depot/projects/netperf/sys/security/mac_biba/mac_biba.c#6 integrate .. //depot/projects/netperf/sys/security/mac_ifoff/mac_ifoff.c#2 integrate .. //depot/projects/netperf/sys/security/mac_lomac/mac_lomac.c#7 integrate .. //depot/projects/netperf/sys/security/mac_mls/mac_mls.c#5 integrate .. //depot/projects/netperf/sys/security/mac_stub/mac_stub.c#2 integrate .. //depot/projects/netperf/sys/security/mac_test/mac_test.c#5 integrate .. //depot/projects/netperf/sys/sparc64/include/sf_buf.h#1 branch .. //depot/projects/netperf/sys/sparc64/sparc64/vm_machdep.c#5 integrate .. //depot/projects/netperf/sys/sys/buf.h#6 integrate .. //depot/projects/netperf/sys/sys/interrupt.h#5 integrate .. //depot/projects/netperf/sys/sys/mac.h#7 integrate .. //depot/projects/netperf/sys/sys/mac_policy.h#3 integrate .. //depot/projects/netperf/sys/sys/param.h#11 integrate .. //depot/projects/netperf/sys/sys/proc.h#14 integrate .. //depot/projects/netperf/sys/sys/protosw.h#4 integrate .. //depot/projects/netperf/sys/sys/reboot.h#3 integrate .. //depot/projects/netperf/sys/sys/sched.h#5 integrate .. //depot/projects/netperf/sys/sys/sf_buf.h#1 branch .. //depot/projects/netperf/sys/sys/socketvar.h#6 integrate .. //depot/projects/netperf/sys/ufs/ffs/ffs_rawread.c#4 integrate .. //depot/projects/netperf/sys/ufs/ffs/fs.h#2 integrate .. //depot/projects/netperf/sys/vm/vm_map.c#15 integrate .. //depot/projects/netperf/sys/vm/vnode_pager.c#11 integrate Differences ... ==== //depot/projects/netperf/sys/alpha/alpha/interrupt.c#3 (text+ko) ==== @@ -35,7 +35,7 @@ #include /* RCS ID & Copyright macro defns */ /* __KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $");*/ -__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.75 2003/08/17 06:42:07 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.76 2003/11/17 06:10:14 peter Exp $"); #include #include @@ -327,7 +327,7 @@ struct alpha_intr { LIST_ENTRY(alpha_intr) list; /* chain handlers in this hash bucket */ - int vector; /* vector to match */ + uintptr_t vector; /* vector to match */ struct ithd *ithd; /* interrupt thread */ volatile long *cntp; /* interrupt counter */ }; @@ -346,9 +346,9 @@ SYSINIT(ithds_init, SI_SUB_INTR, SI_ORDER_SECOND, ithds_init, NULL); int -alpha_setup_intr(const char *name, int vector, driver_intr_t handler, void *arg, +alpha_setup_intr(const char *name, uintptr_t vector, driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep, volatile long *cntp, - void (*disable)(int), void (*enable)(int)) + void (*disable)(uintptr_t), void (*enable)(uintptr_t)) { int h = HASHVEC(vector); struct alpha_intr *i; ==== //depot/projects/netperf/sys/alpha/alpha/vm_machdep.c#7 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.94 2003/08/29 20:04:09 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.96 2003/11/16 23:40:05 alc Exp $"); #include "opt_kstack_pages.h" @@ -83,7 +83,7 @@ #include #include #include -#include +#include #include #include @@ -392,21 +392,15 @@ sf_buf_init(void *arg) { struct sf_buf *sf_bufs; - vm_offset_t sf_base; int i; mtx_init(&sf_freelist.sf_lock, "sf_bufs list lock", NULL, MTX_DEF); - mtx_lock(&sf_freelist.sf_lock); SLIST_INIT(&sf_freelist.sf_head); - sf_base = kmem_alloc_nofault(kernel_map, nsfbufs * PAGE_SIZE); sf_bufs = malloc(nsfbufs * sizeof(struct sf_buf), M_TEMP, M_NOWAIT | M_ZERO); - for (i = 0; i < nsfbufs; i++) { - sf_bufs[i].kva = sf_base + i * PAGE_SIZE; + for (i = 0; i < nsfbufs; i++) SLIST_INSERT_HEAD(&sf_freelist.sf_head, &sf_bufs[i], free_list); - } sf_buf_alloc_want = 0; - mtx_unlock(&sf_freelist.sf_lock); } /* @@ -434,7 +428,6 @@ if (sf != NULL) { SLIST_REMOVE_HEAD(&sf_freelist.sf_head, free_list); sf->m = m; - pmap_qenter(sf->kva, &sf->m, 1); } mtx_unlock(&sf_freelist.sf_lock); return (sf); @@ -450,7 +443,6 @@ struct vm_page *m; sf = args; - pmap_qremove((vm_offset_t)addr, 1); m = sf->m; vm_page_lock_queues(); vm_page_unwire(m, 0); ==== //depot/projects/netperf/sys/alpha/include/intr.h#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/alpha/include/intr.h,v 1.10 2001/12/20 23:48:29 jhb Exp $ + * $FreeBSD: src/sys/alpha/include/intr.h,v 1.11 2003/11/17 06:10:14 peter Exp $ */ #ifndef _MACHINE_INTR_H_ @@ -31,9 +31,10 @@ extern struct mtx icu_lock; -int alpha_setup_intr(const char *name, int vector, driver_intr_t handler, - void *arg, enum intr_type flags, void **cookiep, - volatile long *cntp, void (*disable)(int), void (*enable)(int)); +int alpha_setup_intr(const char *name, uintptr_t vector, + driver_intr_t handler, void *arg, enum intr_type flags, + void **cookiep, volatile long *cntp, + void (*disable)(uintptr_t), void (*enable)(uintptr_t)); int alpha_teardown_intr(void *cookie); void alpha_dispatch_intr(void *frame, unsigned long vector); ==== //depot/projects/netperf/sys/alpha/isa/isa.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/isa/isa.c,v 1.33 2003/08/22 07:20:26 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/isa/isa.c,v 1.34 2003/11/17 06:10:14 peter Exp $"); #include #include @@ -310,10 +310,11 @@ */ static void -isa_disable_intr(int vector) +isa_disable_intr(uintptr_t vector) { - int irq = (vector - 0x800) >> 4; + int irq; + irq = (vector - 0x800) >> 4; mtx_lock_spin(&icu_lock); if (irq > 7) outb(IO_ICU2, 0x20 | (irq & 7)); @@ -324,7 +325,7 @@ } static void -isa_enable_intr(int vector) +isa_enable_intr(uintptr_t vector) { int irq; ==== //depot/projects/netperf/sys/alpha/mcbus/mcpcia.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/mcbus/mcpcia.c,v 1.27 2003/08/22 07:20:26 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/mcbus/mcpcia.c,v 1.28 2003/11/17 06:10:14 peter Exp $"); #include #include @@ -304,13 +304,13 @@ } static void -mcpcia_disable_intr_vec(int vector) +mcpcia_disable_intr_vec(uintptr_t vector) { int mid, irq; struct mcpcia_softc *sc = mcpcia_root; if (vector < MCPCIA_VEC_PCI) { - printf("EISA disable (0x%x)\n", vector); + printf("EISA disable (0x%lx)\n", vector); return; } @@ -324,7 +324,7 @@ tmp &= (MCPCIA_VECWIDTH_PER_MCPCIA - 1); slot = tmp / MCPCIA_VECWIDTH_PER_SLOT; if (slot < 2 || slot > 5) { - printf("Bad slot (%d) for vector %x\n", slot, vector); + printf("Bad slot (%d) for vector %lx\n", slot, vector); return; } tmp -= (2 * MCPCIA_VECWIDTH_PER_SLOT); @@ -338,7 +338,7 @@ sc = sc->next; } if (sc == NULL) { - panic("couldn't find MCPCIA softc for vector 0x%x", vector); + panic("couldn't find MCPCIA softc for vector 0x%lx", vector); } mtx_lock_spin(&icu_lock); mcpcia_disable_intr(sc, irq); @@ -346,13 +346,13 @@ } static void -mcpcia_enable_intr_vec(int vector) +mcpcia_enable_intr_vec(uintptr_t vector) { int mid, irq; struct mcpcia_softc *sc = mcpcia_root; if (vector < MCPCIA_VEC_PCI) { - printf("EISA ensable (0x%x)\n", vector); + printf("EISA ensable (0x%lx)\n", vector); return; } @@ -366,7 +366,7 @@ tmp &= (MCPCIA_VECWIDTH_PER_MCPCIA - 1); slot = tmp / MCPCIA_VECWIDTH_PER_SLOT; if (slot < 2 || slot > 5) { - printf("Bad slot (%d) for vector %x\n", slot, vector); + printf("Bad slot (%d) for vector %lx\n", slot, vector); return; } tmp -= (2 * MCPCIA_VECWIDTH_PER_SLOT); @@ -380,7 +380,7 @@ sc = sc->next; } if (sc == NULL) { - panic("couldn't find MCPCIA softc for vector 0x%x", vector); + panic("couldn't find MCPCIA softc for vector 0x%lx", vector); } mtx_lock_spin(&icu_lock); mcpcia_enable_intr(sc, irq); ==== //depot/projects/netperf/sys/alpha/osf1/osf1_mount.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_mount.c,v 1.17 2003/08/22 07:20:27 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_mount.c,v 1.18 2003/11/16 21:53:05 kris Exp $"); #include "opt_mac.h" #include "opt_nfs.h" @@ -58,6 +58,7 @@ #include #include #include +#include #include #include #include ==== //depot/projects/netperf/sys/alpha/pci/apecs.c#3 (text+ko) ==== @@ -55,7 +55,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/apecs.c,v 1.23 2003/08/17 06:42:08 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/apecs.c,v 1.24 2003/11/17 06:10:14 peter Exp $"); #include #include @@ -308,7 +308,7 @@ } static void -apecs_disable_intr(int vector) +apecs_disable_intr(uintptr_t vector) { int irq; @@ -319,7 +319,7 @@ } static void -apecs_enable_intr(int vector) +apecs_enable_intr(uintptr_t vector) { int irq; ==== //depot/projects/netperf/sys/alpha/pci/cia.c#3 (text+ko) ==== @@ -87,7 +87,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/cia.c,v 1.41 2003/08/17 06:42:08 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/cia.c,v 1.42 2003/11/17 06:10:14 peter Exp $"); #include "opt_cpu.h" @@ -515,7 +515,7 @@ } static void -cia_disable_intr(int vector) +cia_disable_intr(uintptr_t vector) { int irq; @@ -526,7 +526,7 @@ } static void -cia_enable_intr(int vector) +cia_enable_intr(uintptr_t vector) { int irq; ==== //depot/projects/netperf/sys/alpha/pci/t2.c#4 (text+ko) ==== @@ -51,7 +51,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/t2.c,v 1.19 2003/08/22 07:20:27 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/t2.c,v 1.20 2003/11/17 06:10:14 peter Exp $"); #include #include @@ -457,7 +457,7 @@ } static void -t2_enable_vec(int vector) +t2_enable_vec(uintptr_t vector) { int irq, hose; u_long IC_mask, scratch; @@ -491,7 +491,7 @@ } static void -t2_disable_vec(int vector) +t2_disable_vec(uintptr_t vector) { int hose, irq; u_long scratch, IC_mask; ==== //depot/projects/netperf/sys/alpha/pci/tsunami.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/tsunami.c,v 1.22 2003/08/22 07:20:27 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/tsunami.c,v 1.23 2003/11/17 06:10:14 peter Exp $"); #include "opt_cpu.h" @@ -308,7 +308,7 @@ } static void -tsunami_disable_intr_vec(int vector) +tsunami_disable_intr_vec(uintptr_t vector) { int irq; @@ -319,7 +319,7 @@ } static void -tsunami_enable_intr_vec(int vector) +tsunami_enable_intr_vec(uintptr_t vector) { int irq; ==== //depot/projects/netperf/sys/amd64/amd64/autoconf.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.175 2003/11/12 01:49:49 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.176 2003/11/17 08:58:12 peter Exp $"); /* * Setup the system to run on the current machine. @@ -76,7 +76,6 @@ #include #include -#include #ifdef DEV_ISA #include @@ -109,23 +108,11 @@ { /* - * Activate the ICU's. Note that we are explicitly at splhigh() - * at present as we have no way to disable stray PCI level triggered - * interrupts until the devices have had a driver attached. This - * is particularly a problem when the interrupts are shared. For - * example, if IRQ 10 is shared between a disk and network device - * and the disk device generates an interrupt, if we "activate" - * IRQ 10 when the network driver is set up, then we will get - * recursive interrupt 10's as nothing will know how to turn off - * the disk device's interrupt. - * - * Having the ICU's active means we can probe interrupt routing to - * see if a device causes the corresponding pending bit to be set. - * - * This is all rather inconvenient. + * Enable interrupts on the processor. The interrupts are still + * disabled in the interrupt controllers until interrupt handlers + * are registered. */ enable_intr(); - INTREN(IRQ_SLAVE); /* nexus0 is the top of the i386 device tree */ device_add_child(root_bus, "nexus", 0); @@ -141,12 +128,6 @@ if (isa_bus_device) isa_probe_children(isa_bus_device); #endif - - /* - * Now we're ready to handle (pending) interrupts. - * XXX this is slightly misplaced. - */ - spl0(); } static void ==== //depot/projects/netperf/sys/amd64/amd64/cpu_switch.S#3 (text+ko) ==== @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.143 2003/11/08 04:39:21 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.144 2003/11/17 08:58:12 peter Exp $ */ #include @@ -59,14 +59,16 @@ * %rsi = newtd */ ENTRY(cpu_throw) - xorq %rax, %rax movl PCPU(CPUID), %eax testq %rdi,%rdi /* no thread? */ jz 1f /* release bit from old pm_active */ movq TD_PROC(%rdi), %rdx /* oldtd->td_proc */ movq P_VMSPACE(%rdx), %rdx /* proc->p_vmspace */ - btrq %rax, VM_PMAP+PM_ACTIVE(%rdx) /* clear old */ +#ifdef SMP + lock +#endif + btrl %eax, VM_PMAP+PM_ACTIVE(%rdx) /* clear old */ 1: movq TD_PCB(%rsi),%rdx /* newtd->td_proc */ movq PCB_CR3(%rdx),%rdx @@ -74,7 +76,10 @@ /* set bit in new pm_active */ movq TD_PROC(%rsi),%rdx movq P_VMSPACE(%rdx), %rdx - btsq %rax, VM_PMAP+PM_ACTIVE(%rdx) /* set new */ +#ifdef SMP + lock +#endif + btsl %eax, VM_PMAP+PM_ACTIVE(%rdx) /* set new */ jmp sw1 /* @@ -143,7 +148,6 @@ jz badsw3 /* no, panic */ #endif movq TD_PCB(%rsi),%r8 - xorq %rax, %rax movl PCPU(CPUID), %eax /* switch address space */ @@ -153,12 +157,18 @@ /* Release bit from old pmap->pm_active */ movq TD_PROC(%rdi), %rdx /* oldproc */ movq P_VMSPACE(%rdx), %rdx - btrq %rax, VM_PMAP+PM_ACTIVE(%rdx) /* clear old */ +#ifdef SMP + lock +#endif + btrl %eax, VM_PMAP+PM_ACTIVE(%rdx) /* clear old */ /* Set bit in new pmap->pm_active */ movq TD_PROC(%rsi),%rdx /* newproc */ movq P_VMSPACE(%rdx), %rdx - btsq %rax, VM_PMAP+PM_ACTIVE(%rdx) /* set new */ +#ifdef SMP + lock +#endif + btsl %eax, VM_PMAP+PM_ACTIVE(%rdx) /* set new */ sw1: /* @@ -191,8 +201,11 @@ wrmsr /* Update the TSS_RSP0 pointer for the next interrupt */ + movq PCPU(TSSP), %rax + addq $COMMON_TSS_RSP0, %rax leaq -16(%r8), %rbx - movq %rbx, common_tss + COMMON_TSS_RSP0 + movq %rbx, (%rax) + movq %rbx, PCPU(RSP0) /* Restore context. */ movq PCB_RBX(%r8),%rbx ==== //depot/projects/netperf/sys/amd64/amd64/db_interface.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_interface.c,v 1.74 2003/07/25 21:15:44 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_interface.c,v 1.75 2003/11/17 08:58:12 peter Exp $"); /* * Interface to new debugger. @@ -98,6 +98,22 @@ ef = read_rflags(); disable_intr(); +#ifdef SMP + +#if defined(VERBOSE_CPUSTOP_ON_DDBBREAK) + db_printf("\nCPU%d stopping CPUs: 0x%08x...", PCPU_GET(cpuid), + PCPU_GET(other_cpus)); +#endif /* VERBOSE_CPUSTOP_ON_DDBBREAK */ + + /* We stop all CPUs except ourselves (obviously) */ + stop_cpus(PCPU_GET(other_cpus)); + +#if defined(VERBOSE_CPUSTOP_ON_DDBBREAK) + db_printf(" stopped.\n"); +#endif /* VERBOSE_CPUSTOP_ON_DDBBREAK */ + +#endif /* SMP */ + switch (type) { case T_BPTFLT: /* breakpoint */ case T_TRCTRAP: /* debug exception */ @@ -192,6 +208,27 @@ regs->tf_ds = ddb_regs.tf_ds & 0xffff; #endif +#ifdef SMP + +#if defined(VERBOSE_CPUSTOP_ON_DDBBREAK) + db_printf("\nCPU%d restarting CPUs: 0x%08x...", PCPU_GET(cpuid), + stopped_cpus); +#endif /* VERBOSE_CPUSTOP_ON_DDBBREAK */ + + /* Restart all the CPUs we previously stopped */ + if (stopped_cpus != PCPU_GET(other_cpus) && smp_started != 0) { + db_printf("whoa, other_cpus: 0x%08x, stopped_cpus: 0x%08x\n", + PCPU_GET(other_cpus), stopped_cpus); + panic("stop_cpus() failed"); + } + restart_cpus(stopped_cpus); + +#if defined(VERBOSE_CPUSTOP_ON_DDBBREAK) + db_printf(" restarted.\n"); +#endif /* VERBOSE_CPUSTOP_ON_DDBBREAK */ + +#endif /* SMP */ + write_rflags(ef); return (1); ==== //depot/projects/netperf/sys/amd64/amd64/db_trace.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.58 2003/07/25 21:15:44 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.59 2003/11/17 08:58:12 peter Exp $"); #include #include @@ -245,8 +245,9 @@ if (strcmp(name, "calltrap") == 0 || strcmp(name, "fork_trampoline") == 0) frame_type = TRAP; - else if (strncmp(name, "Xintr", 5) == 0 || - strncmp(name, "Xfastintr", 9) == 0) + else if (strncmp(name, "Xatpic_intr", 11) == 0 || + strncmp(name, "Xatpic_fastintr", 15) == 0 || + strncmp(name, "Xapic_isr", 9) == 0) frame_type = INTERRUPT; else if (strcmp(name, "Xfast_syscall") == 0) frame_type = SYSCALL; ==== //depot/projects/netperf/sys/amd64/amd64/exception.S#6 (text+ko) ==== @@ -31,18 +31,15 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.114 2003/11/13 02:38:33 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.115 2003/11/17 08:58:12 peter Exp $ */ #include -#include #include #include #include "assym.s" -#define SEL_RPL_MASK 0x0003 - .text /*****************************************************************************/ @@ -72,8 +69,6 @@ * %ss segment registers, but does not mess with %ds, %es, or %fs. Thus we * must load them with appropriate values for supervisor mode operation. */ -#define IDTVEC(name) ALIGN_TEXT; .globl __CONCAT(X,name); \ - .type __CONCAT(X,name),@function; __CONCAT(X,name): MCOUNT_LABEL(user) MCOUNT_LABEL(btrap) @@ -223,7 +218,7 @@ IDTVEC(fast_syscall) swapgs movq %rsp,PCPU(SCRATCH_RSP) - movq common_tss+COMMON_TSS_RSP0,%rsp + movq PCPU(RSP0),%rsp /* Now emulate a trapframe. Make the 8 byte alignment odd for call. */ subq $TF_SIZE,%rsp /* defer TF_RSP till we have a spare register */ @@ -297,14 +292,6 @@ call fork_exit jmp doreti /* Handle any ASTs */ - -/* - * Include what was once config+isa-dependent code. - * XXX it should be in a stand-alone file. It's still icu-dependent and - * belongs in i386/isa. - */ -#include "amd64/isa/vector.S" - .data ALIGN_DATA @@ -406,5 +393,3 @@ movq $T_PROTFLT,TF_TRAPNO(%rsp) movq $0,TF_ERR(%rsp) /* XXX should be the error code */ jmp alltraps_with_regs_pushed - -#include "amd64/isa/icu_ipl.S" ==== //depot/projects/netperf/sys/amd64/amd64/fpu.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.145 2003/11/08 04:37:54 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.146 2003/11/17 08:58:12 peter Exp $"); #include #include @@ -55,6 +55,7 @@ #include #include +#include #include #include #include @@ -63,8 +64,6 @@ #include #include -#include - /* * Floating point support. */ ==== //depot/projects/netperf/sys/amd64/amd64/genassym.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.149 2003/09/30 04:52:24 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.150 2003/11/17 08:58:12 peter Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -69,10 +69,12 @@ #include #include #include +#include #include #include #include #include +#include ASSYM(P_VMSPACE, offsetof(struct proc, p_vmspace)); ASSYM(VM_PMAP, offsetof(struct vmspace, vm_pmap)); @@ -83,11 +85,6 @@ ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); ASSYM(TD_PCB, offsetof(struct thread, td_pcb)); ASSYM(TD_PROC, offsetof(struct thread, td_proc)); -ASSYM(TD_INTR_NESTING_LEVEL, offsetof(struct thread, td_intr_nesting_level)); -ASSYM(TD_CRITNEST, offsetof(struct thread, td_critnest)); -ASSYM(TD_MD, offsetof(struct thread, td_md)); - -ASSYM(P_MD, offsetof(struct proc, p_md)); ASSYM(TDF_ASTPENDING, TDF_ASTPENDING); ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED); @@ -180,6 +177,7 @@ ASSYM(ENOENT, ENOENT); ASSYM(EFAULT, EFAULT); ASSYM(ENAMETOOLONG, ENAMETOOLONG); +ASSYM(MAXCOMLEN, MAXCOMLEN); ASSYM(MAXPATHLEN, MAXPATHLEN); ASSYM(PC_SIZEOF, sizeof(struct pcpu)); ASSYM(PC_PRVSPACE, offsetof(struct pcpu, pc_prvspace)); @@ -189,12 +187,24 @@ ASSYM(PC_CURPCB, offsetof(struct pcpu, pc_curpcb)); ASSYM(PC_CPUID, offsetof(struct pcpu, pc_cpuid)); ASSYM(PC_SCRATCH_RSP, offsetof(struct pcpu, pc_scratch_rsp)); +ASSYM(PC_CURPMAP, offsetof(struct pcpu, pc_curpmap)); +ASSYM(PC_TSSP, offsetof(struct pcpu, pc_tssp)); +ASSYM(PC_RSP0, offsetof(struct pcpu, pc_rsp0)); + +ASSYM(LA_VER, offsetof(struct LAPIC, version)); +ASSYM(LA_TPR, offsetof(struct LAPIC, tpr)); +ASSYM(LA_EOI, offsetof(struct LAPIC, eoi)); +ASSYM(LA_SVR, offsetof(struct LAPIC, svr)); +ASSYM(LA_ICR_LO, offsetof(struct LAPIC, icr_lo)); +ASSYM(LA_ICR_HI, offsetof(struct LAPIC, icr_hi)); +ASSYM(LA_ISR, offsetof(struct LAPIC, isr0)); ASSYM(KCSEL, GSEL(GCODE_SEL, SEL_KPL)); ASSYM(KDSEL, GSEL(GDATA_SEL, SEL_KPL)); ASSYM(KUCSEL, GSEL(GUCODE_SEL, SEL_UPL)); ASSYM(KUDSEL, GSEL(GUDATA_SEL, SEL_UPL)); >>> TRUNCATED FOR MAIL (1000 lines) <<<