Date: Wed, 22 Sep 2004 15:32:05 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 61942 for review Message-ID: <200409221532.i8MFW5P6044370@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=61942 Change 61942 by jhb@jhb_slimer on 2004/09/22 15:31:15 IFC @61941 - loop back some merges. Affected files ... .. //depot/projects/smpng/sys/alpha/alpha/db_trace.c#13 integrate .. //depot/projects/smpng/sys/alpha/alpha/pmap.c#64 integrate .. //depot/projects/smpng/sys/alpha/alpha/promcons.c#20 integrate .. //depot/projects/smpng/sys/alpha/isa/isa_dma.c#7 integrate .. //depot/projects/smpng/sys/alpha/tlsb/zs_tlsb.c#17 integrate .. //depot/projects/smpng/sys/amd64/amd64/db_trace.c#8 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#34 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#24 integrate .. //depot/projects/smpng/sys/amd64/conf/NOTES#10 integrate .. //depot/projects/smpng/sys/amd64/include/db_machdep.h#4 integrate .. //depot/projects/smpng/sys/amd64/isa/isa_dma.c#7 integrate .. //depot/projects/smpng/sys/amd64/isa/isa_dma.h#3 delete .. //depot/projects/smpng/sys/arm/arm/db_trace.c#5 integrate .. //depot/projects/smpng/sys/boot/i386/boot2/boot2.c#24 integrate .. //depot/projects/smpng/sys/boot/i386/libi386/biosdisk.c#11 integrate .. //depot/projects/smpng/sys/boot/ia64/skiload/start.S#2 integrate .. //depot/projects/smpng/sys/boot/pc98/boot2/Makefile#12 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#20 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#20 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#32 integrate .. //depot/projects/smpng/sys/conf/NOTES#81 integrate .. //depot/projects/smpng/sys/conf/files#121 integrate .. //depot/projects/smpng/sys/conf/kern.post.mk#38 integrate .. //depot/projects/smpng/sys/conf/newvers.sh#14 integrate .. //depot/projects/smpng/sys/conf/options#86 integrate .. //depot/projects/smpng/sys/contrib/pf/net/if_pflog.c#6 integrate .. //depot/projects/smpng/sys/contrib/pf/net/if_pfsync.c#8 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf_if.c#4 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf_ioctl.c#9 integrate .. //depot/projects/smpng/sys/dev/aac/aac.c#44 integrate .. //depot/projects/smpng/sys/dev/aac/aacreg.h#14 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi.c#73 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pci_link.c#20 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_thermal.c#30 integrate .. //depot/projects/smpng/sys/dev/adlink/adlink.c#10 integrate .. //depot/projects/smpng/sys/dev/aha/aha_mca.c#8 integrate .. //depot/projects/smpng/sys/dev/amr/amr.c#23 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.c#60 integrate .. //depot/projects/smpng/sys/dev/bge/if_bge.c#45 integrate .. //depot/projects/smpng/sys/dev/buslogic/bt_mca.c#7 integrate .. //depot/projects/smpng/sys/dev/fdc/fdc.c#8 integrate .. //depot/projects/smpng/sys/dev/fdc/fdc_acpi.c#5 integrate .. //depot/projects/smpng/sys/dev/fdc/fdc_isa.c#6 integrate .. //depot/projects/smpng/sys/dev/fdc/fdc_pccard.c#4 integrate .. //depot/projects/smpng/sys/dev/fdc/fdcvar.h#4 integrate .. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#55 integrate .. //depot/projects/smpng/sys/dev/md/md.c#56 integrate .. //depot/projects/smpng/sys/dev/mk48txx/mk48txx.c#3 integrate .. //depot/projects/smpng/sys/dev/mk48txx/mk48txxreg.h#2 integrate .. //depot/projects/smpng/sys/dev/nge/if_nge.c#35 integrate .. //depot/projects/smpng/sys/dev/nge/if_ngereg.h#7 integrate .. //depot/projects/smpng/sys/dev/pst/pst-iop.h#4 integrate .. //depot/projects/smpng/sys/dev/pst/pst-pci.c#6 integrate .. //depot/projects/smpng/sys/dev/pst/pst-raid.c#10 integrate .. //depot/projects/smpng/sys/dev/re/if_re.c#15 integrate .. //depot/projects/smpng/sys/dev/rp/rp.c#17 integrate .. //depot/projects/smpng/sys/dev/sab/sab.c#22 integrate .. //depot/projects/smpng/sys/dev/si/si.c#17 integrate .. //depot/projects/smpng/sys/dev/sio/sio.c#49 integrate .. //depot/projects/smpng/sys/dev/sound/pci/fm801.c#14 integrate .. //depot/projects/smpng/sys/dev/sound/pci/ich.c#29 integrate .. //depot/projects/smpng/sys/dev/uart/uart_tty.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/if_axe.c#15 integrate .. //depot/projects/smpng/sys/dev/usb/ubser.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/ucom.c#20 integrate .. //depot/projects/smpng/sys/dev/usb/ucomvar.h#5 integrate .. //depot/projects/smpng/sys/dev/usb/umodem.c#20 integrate .. //depot/projects/smpng/sys/dev/usb/uplcom.c#14 integrate .. //depot/projects/smpng/sys/dev/usb/usb_port.h#20 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#62 integrate .. //depot/projects/smpng/sys/dev/usb/uvscom.c#15 integrate .. //depot/projects/smpng/sys/dev/vinum/vinumext.h#12 integrate .. //depot/projects/smpng/sys/dev/vinum/vinummemory.c#9 integrate .. //depot/projects/smpng/sys/dev/zs/zs.c#18 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_io.c#14 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_io.c#18 integrate .. //depot/projects/smpng/sys/fs/specfs/spec_vnops.c#37 integrate .. //depot/projects/smpng/sys/geom/concat/g_concat.c#10 integrate .. //depot/projects/smpng/sys/geom/label/g_label.c#6 integrate .. //depot/projects/smpng/sys/geom/mirror/g_mirror.c#6 integrate .. //depot/projects/smpng/sys/geom/nop/g_nop.c#5 integrate .. //depot/projects/smpng/sys/geom/raid3/g_raid3.c#4 integrate .. //depot/projects/smpng/sys/geom/stripe/g_stripe.c#8 integrate .. //depot/projects/smpng/sys/geom/uzip/g_uzip.c#3 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum.h#5 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_drive.c#7 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_init.c#4 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_plex.c#6 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_raid5.c#4 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_raid5.h#3 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_rm.c#4 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_state.c#4 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_subr.c#7 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_var.h#2 integrate .. //depot/projects/smpng/sys/geom/vinum/geom_vinum_volume.c#4 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#57 integrate .. //depot/projects/smpng/sys/i386/i386/db_trace.c#20 integrate .. //depot/projects/smpng/sys/i386/i386/gdb_machdep.c#2 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#72 integrate .. //depot/projects/smpng/sys/i386/include/db_machdep.h#4 integrate .. //depot/projects/smpng/sys/i386/isa/isa_dma.c#9 integrate .. //depot/projects/smpng/sys/i386/isa/isa_dma.h#4 delete .. //depot/projects/smpng/sys/ia64/acpica/OsdEnvironment.c#8 integrate .. //depot/projects/smpng/sys/ia64/ia64/db_trace.c#17 integrate .. //depot/projects/smpng/sys/ia64/ia64/dump_machdep.c#6 integrate .. //depot/projects/smpng/sys/ia64/ia64/efi.c#4 integrate .. //depot/projects/smpng/sys/ia64/ia64/eficlock.c#3 integrate .. //depot/projects/smpng/sys/ia64/ia64/locore.S#5 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#85 integrate .. //depot/projects/smpng/sys/ia64/ia64/pmap.c#62 integrate .. //depot/projects/smpng/sys/ia64/ia64/sal.c#11 integrate .. //depot/projects/smpng/sys/ia64/ia64/trap.c#68 integrate .. //depot/projects/smpng/sys/ia64/include/efi.h#4 integrate .. //depot/projects/smpng/sys/ia64/include/fpu.h#2 integrate .. //depot/projects/smpng/sys/ia64/include/sal.h#6 integrate .. //depot/projects/smpng/sys/ia64/isa/isa_dma.c#6 integrate .. //depot/projects/smpng/sys/isa/isavar.h#6 integrate .. //depot/projects/smpng/sys/isofs/cd9660/cd9660_vfsops.c#30 integrate .. //depot/projects/smpng/sys/isofs/cd9660/cd9660_vnops.c#17 integrate .. //depot/projects/smpng/sys/kern/kern_event.c#33 integrate .. //depot/projects/smpng/sys/kern/kern_exec.c#76 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#84 integrate .. //depot/projects/smpng/sys/kern/kern_fork.c#84 integrate .. //depot/projects/smpng/sys/kern/kern_kse.c#10 integrate .. //depot/projects/smpng/sys/kern/kern_ktr.c#27 integrate .. //depot/projects/smpng/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/smpng/sys/kern/kern_proc.c#66 integrate .. //depot/projects/smpng/sys/kern/kern_resource.c#50 integrate .. //depot/projects/smpng/sys/kern/kern_switch.c#46 integrate .. //depot/projects/smpng/sys/kern/kern_synch.c#81 integrate .. //depot/projects/smpng/sys/kern/kern_thread.c#67 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#39 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#43 integrate .. //depot/projects/smpng/sys/kern/subr_kdb.c#5 integrate .. //depot/projects/smpng/sys/kern/subr_trap.c#70 integrate .. //depot/projects/smpng/sys/kern/tty.c#47 integrate .. //depot/projects/smpng/sys/kern/tty_pty.c#33 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#67 integrate .. //depot/projects/smpng/sys/kern/vfs_init.c#17 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#82 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#50 integrate .. //depot/projects/smpng/sys/modules/netgraph/Makefile#15 integrate .. //depot/projects/smpng/sys/modules/netgraph/netflow/Makefile#1 branch .. //depot/projects/smpng/sys/net/if.c#55 integrate .. //depot/projects/smpng/sys/net/if_clone.c#3 integrate .. //depot/projects/smpng/sys/net/if_tap.c#29 integrate .. //depot/projects/smpng/sys/netgraph/netflow/netflow.c#1 branch .. //depot/projects/smpng/sys/netgraph/netflow/netflow.h#1 branch .. //depot/projects/smpng/sys/netgraph/netflow/ng_netflow.c#1 branch .. //depot/projects/smpng/sys/netgraph/netflow/ng_netflow.h#1 branch .. //depot/projects/smpng/sys/netgraph/ng_tty.c#13 integrate .. //depot/projects/smpng/sys/netinet/ip_fw2.c#40 integrate .. //depot/projects/smpng/sys/netinet/ip_fw_pfil.c#4 integrate .. //depot/projects/smpng/sys/netinet/ip_icmp.c#32 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#58 integrate .. //depot/projects/smpng/sys/netinet/ip_var.h#25 integrate .. //depot/projects/smpng/sys/netinet/tcp_syncache.c#34 integrate .. //depot/projects/smpng/sys/nfs4client/nfs4_vnops.c#7 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_bio.c#31 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#41 integrate .. //depot/projects/smpng/sys/pc98/pc98/isa_dma.c#7 integrate .. //depot/projects/smpng/sys/pc98/pc98/ppc.c#9 integrate .. //depot/projects/smpng/sys/pc98/pc98/sio.c#47 integrate .. //depot/projects/smpng/sys/pci/if_rlreg.h#20 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/db_trace.c#7 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/pmap.c#47 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/db_trace.c#20 integrate .. //depot/projects/smpng/sys/sys/buf.h#29 integrate .. //depot/projects/smpng/sys/sys/conf.h#31 integrate .. //depot/projects/smpng/sys/sys/mbuf.h#43 integrate .. //depot/projects/smpng/sys/sys/mdioctl.h#10 integrate .. //depot/projects/smpng/sys/sys/proc.h#127 integrate .. //depot/projects/smpng/sys/sys/sched.h#17 integrate .. //depot/projects/smpng/sys/sys/tty.h#16 integrate .. //depot/projects/smpng/sys/sys/ttydefaults.h#3 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_snapshot.c#40 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vnops.c#32 integrate .. //depot/projects/smpng/sys/vm/vm_glue.c#49 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#56 integrate Differences ... ==== //depot/projects/smpng/sys/alpha/alpha/db_trace.c#13 (text+ko) ==== @@ -42,7 +42,7 @@ #include <sys/cdefs.h> /* RCS ID & Copyright macro defns */ /*__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.9 2000/12/13 03:16:36 mycroft Exp $");*/ -__FBSDID("$FreeBSD: src/sys/alpha/alpha/db_trace.c,v 1.20 2004/07/21 05:07:08 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/db_trace.c,v 1.21 2004/09/20 19:05:31 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> ==== //depot/projects/smpng/sys/alpha/alpha/pmap.c#64 (text+ko) ==== @@ -148,7 +148,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.168 2004/08/27 19:06:16 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.171 2004/09/19 21:20:01 alc Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -895,8 +895,8 @@ pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m) { - vm_page_unhold(m); - if (m->hold_count == 0) + --m->wire_count; + if (m->wire_count == 0) return _pmap_unwire_pte_hold(pmap, va, m); else return 0; @@ -941,14 +941,8 @@ if (pmap->pm_ptphint == m) pmap->pm_ptphint = NULL; - /* - * If the page is finally unwired, simply free it. - */ - --m->wire_count; - if (m->wire_count == 0) { - vm_page_free_zero(m); - atomic_subtract_int(&cnt.v_wire_count, 1); - } + vm_page_free_zero(m); + atomic_subtract_int(&cnt.v_wire_count, 1); return 1; } @@ -1073,15 +1067,6 @@ if ((m->flags & PG_ZERO) == 0) pmap_zero_page(m); - KASSERT(m->queue == PQ_NONE, - ("_pmap_allocpte: %p->queue != PQ_NONE", m)); - - /* - * Increment the hold count for the page table page - * (denoting a new mapping.) - */ - m->hold_count++; - /* * Map the pagetable page into the process address space, if * it isn't already there. @@ -1099,7 +1084,7 @@ pt_entry_t* l2map; if (!pmap_pte_v(l1pte)) { if (_pmap_allocpte(pmap, NUSERLEV3MAPS + l1index) == NULL) { - vm_page_unhold(m); + --m->wire_count; vm_page_free(m); return (NULL); } @@ -1107,7 +1092,7 @@ vm_page_t l2page; l2page = PHYS_TO_VM_PAGE(pmap_pte_pa(l1pte)); - l2page->hold_count++; + l2page->wire_count++; } l2map = (pt_entry_t*) ALPHA_PHYS_TO_K0SEG(pmap_pte_pa(l1pte)); pte = &l2map[ptepindex & ((1 << ALPHA_PTSHIFT) - 1)]; @@ -1156,7 +1141,7 @@ m = PHYS_TO_VM_PAGE(pmap_pte_pa(lev2pte)); pmap->pm_ptphint = m; } - m->hold_count++; + m->wire_count++; } else { /* * Here if the pte page isn't mapped, or if it has been @@ -1632,7 +1617,8 @@ oldpte |= (PG_FOR | PG_FOE); } if ((oldpte & PG_FOW) == 0) { - m = PHYS_TO_VM_PAGE(pmap_pte_pa(pte)); + if (m == NULL) + m = PHYS_TO_VM_PAGE(pmap_pte_pa(pte)); if (pmap_track_modified(sva)) vm_page_dirty(m); oldpte |= PG_FOW; @@ -1723,7 +1709,7 @@ * Remove extra pte reference */ if (mpte) - mpte->hold_count--; + mpte->wire_count--; /* * We might be turning off write access to the page, @@ -1838,7 +1824,7 @@ */ ptepindex = va >> ALPHA_L2SHIFT; if (mpte && (mpte->pindex == ptepindex)) { - mpte->hold_count++; + mpte->wire_count++; } else { retry: /* @@ -1858,7 +1844,7 @@ mpte = PHYS_TO_VM_PAGE(pmap_pte_pa(l2pte)); pmap->pm_ptphint = mpte; } - mpte->hold_count++; + mpte->wire_count++; } else { mpte = _pmap_allocpte(pmap, ptepindex); if (mpte == NULL) ==== //depot/projects/smpng/sys/alpha/alpha/promcons.c#20 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.40 2004/07/15 20:47:36 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.41 2004/09/17 11:02:53 phk Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -71,7 +71,6 @@ }; -static struct tty *prom_tp = NULL; static int polltime; static struct callout_handle promtimeouthandle = CALLOUT_HANDLE_INITIALIZER(&promtimeouthandle); @@ -99,7 +98,7 @@ return ENXIO; - tp = prom_tp = dev->si_tty = ttymalloc(prom_tp); + tp = dev->si_tty = ttyalloc(); s = spltty(); tp->t_oproc = promstart; @@ -142,7 +141,7 @@ struct thread *td; { int unit = minor(dev); - struct tty *tp = prom_tp; + struct tty *tp = dev->si_tty; if (unit != 0) return ENXIO; ==== //depot/projects/smpng/sys/alpha/isa/isa_dma.c#7 (text+ko) ==== @@ -44,7 +44,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/isa/isa_dma.c,v 1.11 2004/04/05 21:00:51 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/isa/isa_dma.c,v 1.12 2004/09/15 12:09:49 phk Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -93,10 +93,8 @@ /* * Setup a DMA channel's bounce buffer. */ -void -isa_dmainit(chan, bouncebufsize) - int chan; - u_int bouncebufsize; +int +isa_dma_init(int chan, u_int bouncebufsize, int flag __unused) { static int initted = 0; bus_addr_t boundary = chan >= 4 ? 0x20000 : 0x10000; @@ -114,10 +112,10 @@ #ifdef DIAGNOSTIC if (chan & ~VALID_DMA_MASK) - panic("isa_dmainit: channel out of range"); + panic("isa_dma_init: channel out of range"); if (dma_tag[chan] || dma_map[chan]) - panic("isa_dmainit: impossible request"); + panic("isa_dma_init: impossible request"); #endif if (bus_dma_tag_create(/*parent*/NULL, @@ -132,13 +130,13 @@ /*lockfunc*/busdma_lock_mutex, /*lockarg*/&Giant, &dma_tag[chan]) != 0) { - panic("isa_dmainit: unable to create dma tag\n"); + panic("isa_dma_init: unable to create dma tag\n"); } if (bus_dmamap_create(dma_tag[chan], 0, &dma_map[chan])) { - panic("isa_dmainit: unable to create dma map\n"); + panic("isa_dma_init: unable to create dma map\n"); } - + return (0); } /* @@ -349,7 +347,7 @@ #endif if (!dma_tag || !dma_map[chan]) - panic("isa_dmastart: called without isa_dmainit"); + panic("isa_dmastart: called without isa_dma_init"); dma_busy |= (1 << chan); ==== //depot/projects/smpng/sys/alpha/tlsb/zs_tlsb.c#17 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.47 2004/07/15 20:47:36 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.48 2004/09/17 11:04:57 phk Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -115,11 +115,23 @@ zs_attach(device_t dev) { struct zs_softc *sc = device_get_softc(dev); + struct cdev *cdev; + struct tty *tp; + int unit; + sc->dev = dev; sc->channel = zsc_get_channel(dev); sc->base = zsc_get_base(dev); - make_dev(&zs_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, - "zs%d", device_get_unit(dev)); + unit = device_get_unit(dev); + cdev = make_dev(&zs_cdevsw, unit, UID_ROOT, GID_WHEEL, 0600, + "zs%d", unit); + tp = sc->tp = cdev->si_tty = ttyalloc(); + cdev->si_drv1 = sc; + cdev->si_tty = tp; + tp->t_oproc = zsstart; + tp->t_param = zsparam; + tp->t_stop = zsstop; + tp->t_dev = cdev; return 0; } @@ -224,7 +236,6 @@ sprintf(zs_consdev.cn_name, "zs0"); zs_consdev.cn_unit = 0; zs_consdev.cn_pri = CN_NORMAL; - make_dev(&zs_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, "zs0"); cnadd(&zs_consdev); return (0); } @@ -259,20 +270,17 @@ static int zsopen(struct cdev *dev, int flag, int mode, struct thread *td) { - struct zs_softc *sc = ZS_SOFTC(minor(dev)); + struct zs_softc *sc; struct tty *tp; int error = 0, setuptimeout = 0; int s; + sc = dev->si_drv1; if (!sc) return ENXIO; s = spltty(); - tp = sc->tp = dev->si_tty = ttymalloc(sc->tp); - tp->t_oproc = zsstart; - tp->t_param = zsparam; - tp->t_stop = zsstop; - tp->t_dev = dev; + tp = dev->si_tty; if ((tp->t_state & TS_ISOPEN) == 0) { tp->t_state |= TS_CARR_ON; ttychars(tp); ==== //depot/projects/smpng/sys/amd64/amd64/db_trace.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.62 2004/07/21 05:07:08 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.63 2004/09/20 19:05:31 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#34 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.498 2004/09/12 20:20:40 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.502 2004/09/22 05:01:48 alc Exp $"); /* * Manages physical address maps. @@ -965,8 +965,8 @@ pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m) { - vm_page_unhold(m); - if (m->hold_count == 0) + --m->wire_count; + if (m->wire_count == 0) return _pmap_unwire_pte_hold(pmap, va, m); else return 0; @@ -1014,22 +1014,15 @@ pdppg = PHYS_TO_VM_PAGE(*pmap_pml4e(pmap, va) & PG_FRAME); pmap_unwire_pte_hold(pmap, va, pdppg); } - if (pmap_is_current(pmap)) { - /* - * Do an invltlb to make the invalidated mapping - * take effect immediately. - */ - pmap_invalidate_page(pmap, pteva); - } /* - * If the page is finally unwired, simply free it. + * Do an invltlb to make the invalidated mapping + * take effect immediately. */ - --m->wire_count; - if (m->wire_count == 0) { - vm_page_free_zero(m); - atomic_subtract_int(&cnt.v_wire_count, 1); - } + pmap_invalidate_page(pmap, pteva); + + vm_page_free_zero(m); + atomic_subtract_int(&cnt.v_wire_count, 1); return 1; } @@ -1134,15 +1127,6 @@ if ((m->flags & PG_ZERO) == 0) pmap_zero_page(m); - KASSERT(m->queue == PQ_NONE, - ("_pmap_allocpte: %p->queue != PQ_NONE", m)); - - /* - * Increment the hold count for the page table page - * (denoting a new mapping.) - */ - m->hold_count++; - /* * Map the pagetable page into the process address space, if * it isn't already there. @@ -1173,14 +1157,14 @@ if ((*pml4 & PG_V) == 0) { /* Have to allocate a new pdp, recurse */ if (_pmap_allocpte(pmap, NUPDE + NUPDPE + pml4index) == NULL) { - vm_page_unhold(m); + --m->wire_count; vm_page_free(m); return (NULL); } } else { /* Add reference to pdp page */ pdppg = PHYS_TO_VM_PAGE(*pml4 & PG_FRAME); - pdppg->hold_count++; + pdppg->wire_count++; } pdp = (pdp_entry_t *)PHYS_TO_DMAP(*pml4 & PG_FRAME); @@ -1204,7 +1188,7 @@ if ((*pml4 & PG_V) == 0) { /* Have to allocate a new pd, recurse */ if (_pmap_allocpte(pmap, NUPDE + pdpindex) == NULL) { - vm_page_unhold(m); + --m->wire_count; vm_page_free(m); return (NULL); } @@ -1216,14 +1200,14 @@ if ((*pdp & PG_V) == 0) { /* Have to allocate a new pd, recurse */ if (_pmap_allocpte(pmap, NUPDE + pdpindex) == NULL) { - vm_page_unhold(m); + --m->wire_count; vm_page_free(m); return (NULL); } } else { /* Add reference to the pd page */ pdpg = PHYS_TO_VM_PAGE(*pdp & PG_FRAME); - pdpg->hold_count++; + pdpg->wire_count++; } } pd = (pd_entry_t *)PHYS_TO_DMAP(*pdp & PG_FRAME); @@ -1269,7 +1253,7 @@ */ if (pd != 0 && (*pd & PG_V) != 0) { m = PHYS_TO_VM_PAGE(*pd & PG_FRAME); - m->hold_count++; + m->wire_count++; } else { /* * Here if the pte page isn't mapped, or if it has been @@ -1565,6 +1549,8 @@ if (pmap->pm_stats.resident_count == 0) return; + anyvalid = 0; + vm_page_lock_queues(); PMAP_LOCK(pmap); @@ -1581,8 +1567,6 @@ } } - anyvalid = 0; - for (; sva < eva; sva = va_next) { if (pmap->pm_stats.resident_count == 0) @@ -1644,11 +1628,10 @@ break; } } - +out: + vm_page_unlock_queues(); if (anyvalid) pmap_invalidate_all(pmap); -out: - vm_page_unlock_queues(); PMAP_UNLOCK(pmap); } @@ -1818,9 +1801,9 @@ } } } + vm_page_unlock_queues(); if (anychanged) pmap_invalidate_all(pmap); - vm_page_unlock_queues(); PMAP_UNLOCK(pmap); } @@ -1920,7 +1903,7 @@ * Remove extra pte reference */ if (mpte) - mpte->hold_count--; + mpte->wire_count--; /* * We might be turning off write access to the page, @@ -2028,7 +2011,7 @@ */ ptepindex = pmap_pde_pindex(va); if (mpte && (mpte->pindex == ptepindex)) { - mpte->hold_count++; + mpte->wire_count++; } else { retry: /* @@ -2044,7 +2027,7 @@ if (*ptepa & PG_PS) panic("pmap_enter_quick: unexpected mapping into 2MB page"); mpte = PHYS_TO_VM_PAGE(*ptepa & PG_FRAME); - mpte->hold_count++; + mpte->wire_count++; } else { mpte = _pmap_allocpte(pmap, ptepindex); if (mpte == NULL) @@ -2301,7 +2284,7 @@ } srcmpte = PHYS_TO_VM_PAGE(srcptepaddr & PG_FRAME); - if (srcmpte->hold_count == 0) + if (srcmpte->wire_count == 0) panic("pmap_copy: source page table page is unused"); if (va_next > end_addr) @@ -2334,7 +2317,7 @@ pmap_insert_entry(dst_pmap, addr, m); } else pmap_unwire_pte_hold(dst_pmap, addr, dstmpte); - if (dstmpte->hold_count >= srcmpte->hold_count) + if (dstmpte->wire_count >= srcmpte->wire_count) break; } addr += PAGE_SIZE; ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#24 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.424 2004/09/10 20:57:46 wpaul Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.425 2004/09/22 00:44:13 peter Exp $ machine amd64 cpu HAMMER @@ -98,6 +98,7 @@ device ahd # AHA39320/29320 and onboard AIC79xx devices device amd # AMD 53C974 (Tekram DC-390(T)) device isp # Qlogic family +#device ispfw # Firmware for QLogic HBAs- normally a module device mpt # LSI-Logic MPT-Fusion #device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') ==== //depot/projects/smpng/sys/amd64/conf/NOTES#10 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.19 2004/08/27 21:29:20 arved Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.20 2004/09/22 01:04:54 peter Exp $ # # @@ -217,7 +217,7 @@ # for AGP r128 and radeon cards. device mgadrm -device "r128drm" +device r128drm device radeondrm device sisdrm device tdfxdrm @@ -365,20 +365,20 @@ # ifpi2 driver for AVM Fritz!Card PCI version 2 # # AVM Fritz!Card PCI version 2 -#XXX#device "ifpi2" +#XXX#device ifpi2 # #--------------------------------------------------------------------------- # iwic driver for Winbond W6692 chipset # # ASUSCOM P-IN100-ST-D (and other Winbond W6692 based cards) -#XXX#device iwic +#XXX#device iwic # #--------------------------------------------------------------------------- # itjc driver for Siemens ISAC / TJNet Tiger300/320 chipset # # Traverse Technologies NETjet-S # Teles PCI-TJ -#XXX#device itjc +#XXX#device itjc # #--------------------------------------------------------------------------- # iavc driver (AVM active cards, needs i4bcapi driver!) @@ -389,34 +389,38 @@ # ISDN Protocol Stack - mandatory for all hardware drivers # # Q.921 / layer 2 - i4b passive cards D channel handling -#XXX#device "i4bq921" +#XXX#device i4bq921 # # Q.931 / layer 3 - i4b passive cards D channel handling -#XXX#device "i4bq931" +#XXX#device i4bq931 # # layer 4 - i4b common passive and active card handling -#XXX#device "i4b" +#XXX#device i4b # #--------------------------------------------------------------------------- # ISDN devices - mandatory for all hardware drivers # # userland driver to do ISDN tracing (for passive cards only) -#XXX#device "i4btrc" 4 +#XXX#device i4btrc +#XXX#options NI4BTRC=4 # # userland driver to control the whole thing -#XXX#device "i4bctl" +#XXX#device i4bctl # #--------------------------------------------------------------------------- # ISDN devices - optional # # userland driver for access to raw B channel -#XXX#device "i4brbch" 4 +#XXX#device i4brbch +#XXX#options NI4BRBCH=4 # # userland driver for telephony -#XXX#device "i4btel" 2 +#XXX#device i4btel +#XXX#options NI4BTEL=2 # # network driver for IP over raw HDLC ISDN -#XXX#device "i4bipr" 4 +#XXX#device i4bipr +#XXX#options NI4BIPR=4 # enable VJ header compression detection for ipr i/f options IPR_VJ # enable logging of the first n IP packets to isdnd (n=32 here) @@ -424,10 +428,15 @@ # # network driver for sync PPP over ISDN; requires an equivalent # number of sppp device to be configured -#XXX#device "i4bisppp" 4 +#XXX#device i4bisppp +#XXX#options NI4BISPPP=4 # # B-channel interface to the netgraph subsystem -#XXX#device "i4bing" 2 +#XXX#device i4bing +#XXX#options NI4BING=2 +# +# CAPI driver needed for active ISDN cards (see iavc driver above) +#XXX#device i4bcapi # #--------------------------------------------------------------------------- ==== //depot/projects/smpng/sys/amd64/include/db_machdep.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * any improvements or extensions that they make and grant Carnegie Mellon * the rights to redistribute these changes. * - * $FreeBSD: src/sys/amd64/include/db_machdep.h,v 1.20 2004/07/10 23:47:18 marcel Exp $ + * $FreeBSD: src/sys/amd64/include/db_machdep.h,v 1.21 2004/09/22 01:27:06 peter Exp $ */ #ifndef _MACHINE_DB_MACHDEP_H_ @@ -41,9 +41,17 @@ #define BKPT_SIZE (1) /* size of breakpoint inst */ #define BKPT_SET(inst) (BKPT_INST) -#define BKPT_SKIP kdb_frame->tf_rip += 1 +#define BKPT_SKIP \ +do { \ + kdb_frame->tf_rip += 1; \ + kdb_thrctx->pcb_rip += 1; \ +} while(0) -#define FIXUP_PC_AFTER_BREAK kdb_frame->tf_rip -= 1; +#define FIXUP_PC_AFTER_BREAK \ +do { \ + kdb_frame->tf_rip -= 1; \ + kdb_thrctx->pcb_rip -= 1; \ +} while(0); #define db_clear_single_step kdb_cpu_clear_singlestep #define db_set_single_step kdb_cpu_set_singlestep ==== //depot/projects/smpng/sys/amd64/isa/isa_dma.c#7 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/isa/isa_dma.c,v 1.19 2004/08/16 22:51:13 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/isa_dma.c,v 1.20 2004/09/15 12:09:49 phk Exp $"); /* * code to manage AT bus @@ -96,15 +96,13 @@ /* * Setup a DMA channel's bounce buffer. */ -void -isa_dmainit(chan, bouncebufsize) - int chan; - u_int bouncebufsize; +int +isa_dma_init(int chan, u_int bouncebufsize, int flag) { void *buf; /* - * If a DMA channel is shared, both drivers have to call isa_dmainit + * If a DMA channel is shared, both drivers have to call isa_dma_init * since they don't know that the other driver will do it. * Just return if we're already set up good. * XXX: this only works if they agree on the bouncebuf size. This @@ -112,30 +110,30 @@ * XXX: the same driver. */ if (dma_bouncebuf[chan] != NULL) - return; + return (0); #ifdef DIAGNOSTIC if (chan & ~VALID_DMA_MASK) - panic("isa_dmainit: channel out of range"); + panic("isa_dma_init: channel out of range"); #endif dma_bouncebufsize[chan] = bouncebufsize; /* Try malloc() first. It works better if it works. */ - buf = malloc(bouncebufsize, M_DEVBUF, M_NOWAIT); + buf = malloc(bouncebufsize, M_DEVBUF, flag); if (buf != NULL) { if (isa_dmarangecheck(buf, bouncebufsize, chan) == 0) { dma_bouncebuf[chan] = buf; - return; + return (0); } free(buf, M_DEVBUF); } - buf = contigmalloc(bouncebufsize, M_DEVBUF, M_NOWAIT, 0ul, 0xfffffful, + buf = contigmalloc(bouncebufsize, M_DEVBUF, flag, 0ul, 0xfffffful, 1ul, chan & 4 ? 0x20000ul : 0x10000ul); if (buf == NULL) - printf("isa_dmainit(%d, %d) failed\n", chan, bouncebufsize); - else - dma_bouncebuf[chan] = buf; + return (ENOMEM); + dma_bouncebuf[chan] = buf; + return (0); } /* ==== //depot/projects/smpng/sys/arm/arm/db_trace.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/db_trace.c,v 1.4 2004/07/21 05:07:09 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/db_trace.c,v 1.5 2004/09/20 19:05:31 jhb Exp $"); #include <sys/param.h> #include <sys/systm.h> ==== //depot/projects/smpng/sys/boot/i386/boot2/boot2.c#24 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.70 2004/07/30 00:33:09 kan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.71 2004/09/18 02:07:00 jhb Exp $"); #include <sys/param.h> #include <sys/disklabel.h> @@ -321,7 +321,7 @@ return; } if (fmt == 0) { - addr = hdr.ex.a_entry & 0xffffff; + addr = hdr.ex.a_entry; p = PTOV(addr); fs_off = PAGE_SIZE; if (xfsread(ino, p, hdr.ex.a_text)) @@ -355,7 +355,7 @@ j++; } for (i = 0; i < 2; i++) { - p = PTOV(ep[i].p_paddr & 0xffffff); + p = PTOV(ep[i].p_paddr); fs_off = ep[i].p_offset; if (xfsread(ino, p, ep[i].p_filesz)) return; @@ -376,7 +376,7 @@ p += es[i].sh_size; } } - addr = hdr.eh.e_entry & 0xffffff; + addr = hdr.eh.e_entry; } bootinfo.bi_esymtab = VTOP(p); bootinfo.bi_kernelname = VTOP(kname); ==== //depot/projects/smpng/sys/boot/i386/libi386/biosdisk.c#11 (text+ko) ==== @@ -25,7 +25,7 @@ */ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200409221532.i8MFW5P6044370>