PERFORCE change 61839 for review
Julian Elischer
julian at FreeBSD.org
Mon Sep 20 00:27:54 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=61839
Change 61839 by julian at julian_ref on 2004/09/20 07:27:16
IFC at 61837
Affected files ...
.. //depot/projects/nsched/sys/alpha/alpha/pmap.c#10 integrate
.. //depot/projects/nsched/sys/alpha/alpha/promcons.c#5 integrate
.. //depot/projects/nsched/sys/alpha/tlsb/zs_tlsb.c#5 integrate
.. //depot/projects/nsched/sys/amd64/amd64/pmap.c#21 integrate
.. //depot/projects/nsched/sys/boot/i386/boot2/boot2.c#3 integrate
.. //depot/projects/nsched/sys/boot/ia64/skiload/start.S#2 integrate
.. //depot/projects/nsched/sys/boot/pc98/boot2/Makefile#2 integrate
.. //depot/projects/nsched/sys/compat/ndis/subr_ndis.c#8 integrate
.. //depot/projects/nsched/sys/compat/ndis/subr_ntoskrnl.c#6 integrate
.. //depot/projects/nsched/sys/conf/NOTES#20 integrate
.. //depot/projects/nsched/sys/conf/files#25 integrate
.. //depot/projects/nsched/sys/conf/kern.post.mk#5 integrate
.. //depot/projects/nsched/sys/conf/newvers.sh#5 integrate
.. //depot/projects/nsched/sys/conf/options#17 integrate
.. //depot/projects/nsched/sys/contrib/pf/net/pf_ioctl.c#9 integrate
.. //depot/projects/nsched/sys/dev/acpica/acpi_pci_link.c#8 integrate
.. //depot/projects/nsched/sys/dev/adlink/adlink.c#4 integrate
.. //depot/projects/nsched/sys/dev/ata/ata-all.c#12 integrate
.. //depot/projects/nsched/sys/dev/bge/if_bge.c#6 integrate
.. //depot/projects/nsched/sys/dev/fdc/fdc.c#10 integrate
.. //depot/projects/nsched/sys/dev/fdc/fdc_acpi.c#5 integrate
.. //depot/projects/nsched/sys/dev/fdc/fdc_isa.c#5 integrate
.. //depot/projects/nsched/sys/dev/fdc/fdcvar.h#4 integrate
.. //depot/projects/nsched/sys/dev/fxp/if_fxp.c#8 integrate
.. //depot/projects/nsched/sys/dev/md/md.c#12 integrate
.. //depot/projects/nsched/sys/dev/mk48txx/mk48txx.c#2 integrate
.. //depot/projects/nsched/sys/dev/mk48txx/mk48txxreg.h#2 integrate
.. //depot/projects/nsched/sys/dev/re/if_re.c#9 integrate
.. //depot/projects/nsched/sys/dev/rp/rp.c#8 integrate
.. //depot/projects/nsched/sys/dev/sab/sab.c#8 integrate
.. //depot/projects/nsched/sys/dev/si/si.c#8 integrate
.. //depot/projects/nsched/sys/dev/sio/sio.c#11 integrate
.. //depot/projects/nsched/sys/dev/sound/pci/ich.c#4 integrate
.. //depot/projects/nsched/sys/dev/uart/uart_tty.c#7 integrate
.. //depot/projects/nsched/sys/dev/usb/if_axe.c#8 integrate
.. //depot/projects/nsched/sys/dev/usb/ubser.c#9 integrate
.. //depot/projects/nsched/sys/dev/usb/ucom.c#9 integrate
.. //depot/projects/nsched/sys/dev/usb/ucomvar.h#4 integrate
.. //depot/projects/nsched/sys/dev/usb/umodem.c#5 integrate
.. //depot/projects/nsched/sys/dev/usb/uplcom.c#6 integrate
.. //depot/projects/nsched/sys/dev/usb/usbdevs#13 integrate
.. //depot/projects/nsched/sys/dev/usb/uvscom.c#5 integrate
.. //depot/projects/nsched/sys/dev/vinum/vinumext.h#3 integrate
.. //depot/projects/nsched/sys/dev/vinum/vinummemory.c#3 integrate
.. //depot/projects/nsched/sys/dev/zs/zs.c#8 integrate
.. //depot/projects/nsched/sys/fs/specfs/spec_vnops.c#8 integrate
.. //depot/projects/nsched/sys/geom/nop/g_nop.c#4 integrate
.. //depot/projects/nsched/sys/geom/uzip/g_uzip.c#3 integrate
.. //depot/projects/nsched/sys/geom/vinum/geom_vinum.h#5 integrate
.. //depot/projects/nsched/sys/geom/vinum/geom_vinum_init.c#3 integrate
.. //depot/projects/nsched/sys/geom/vinum/geom_vinum_plex.c#6 integrate
.. //depot/projects/nsched/sys/geom/vinum/geom_vinum_raid5.c#4 integrate
.. //depot/projects/nsched/sys/geom/vinum/geom_vinum_raid5.h#3 integrate
.. //depot/projects/nsched/sys/geom/vinum/geom_vinum_rm.c#4 integrate
.. //depot/projects/nsched/sys/geom/vinum/geom_vinum_state.c#4 integrate
.. //depot/projects/nsched/sys/geom/vinum/geom_vinum_subr.c#6 integrate
.. //depot/projects/nsched/sys/geom/vinum/geom_vinum_var.h#3 integrate
.. //depot/projects/nsched/sys/geom/vinum/geom_vinum_volume.c#5 integrate
.. //depot/projects/nsched/sys/i386/conf/GENERIC#9 integrate
.. //depot/projects/nsched/sys/i386/i386/pmap.c#23 integrate
.. //depot/projects/nsched/sys/ia64/acpica/OsdEnvironment.c#3 integrate
.. //depot/projects/nsched/sys/ia64/ia64/dump_machdep.c#2 integrate
.. //depot/projects/nsched/sys/ia64/ia64/efi.c#2 integrate
.. //depot/projects/nsched/sys/ia64/ia64/eficlock.c#2 integrate
.. //depot/projects/nsched/sys/ia64/ia64/locore.S#4 integrate
.. //depot/projects/nsched/sys/ia64/ia64/machdep.c#7 integrate
.. //depot/projects/nsched/sys/ia64/ia64/pmap.c#12 integrate
.. //depot/projects/nsched/sys/ia64/ia64/sal.c#3 integrate
.. //depot/projects/nsched/sys/ia64/ia64/trap.c#6 integrate
.. //depot/projects/nsched/sys/ia64/include/efi.h#2 integrate
.. //depot/projects/nsched/sys/ia64/include/fpu.h#2 integrate
.. //depot/projects/nsched/sys/ia64/include/sal.h#2 integrate
.. //depot/projects/nsched/sys/kern/kern_proc.c#13 integrate
.. //depot/projects/nsched/sys/kern/kern_switch.c#36 integrate
.. //depot/projects/nsched/sys/kern/subr_kdb.c#4 integrate
.. //depot/projects/nsched/sys/kern/tty.c#9 integrate
.. //depot/projects/nsched/sys/kern/tty_pty.c#9 integrate
.. //depot/projects/nsched/sys/modules/netgraph/Makefile#4 integrate
.. //depot/projects/nsched/sys/modules/netgraph/netflow/Makefile#1 branch
.. //depot/projects/nsched/sys/net/if.c#13 integrate
.. //depot/projects/nsched/sys/net/if_tap.c#6 integrate
.. //depot/projects/nsched/sys/netgraph/netflow/netflow.c#1 branch
.. //depot/projects/nsched/sys/netgraph/netflow/netflow.h#1 branch
.. //depot/projects/nsched/sys/netgraph/netflow/ng_netflow.c#1 branch
.. //depot/projects/nsched/sys/netgraph/netflow/ng_netflow.h#1 branch
.. //depot/projects/nsched/sys/netgraph/ng_tty.c#7 integrate
.. //depot/projects/nsched/sys/netinet/ip_input.c#10 integrate
.. //depot/projects/nsched/sys/pc98/pc98/ppc.c#3 integrate
.. //depot/projects/nsched/sys/pc98/pc98/sio.c#11 integrate
.. //depot/projects/nsched/sys/pci/if_rlreg.h#6 integrate
.. //depot/projects/nsched/sys/sys/conf.h#10 integrate
.. //depot/projects/nsched/sys/sys/mdioctl.h#4 integrate
.. //depot/projects/nsched/sys/sys/sched.h#21 integrate
.. //depot/projects/nsched/sys/sys/tty.h#9 integrate
.. //depot/projects/nsched/sys/ufs/ffs/ffs_snapshot.c#8 integrate
.. //depot/projects/nsched/sys/ufs/ffs/ffs_vnops.c#5 integrate
.. //depot/projects/nsched/sys/vm/vm_glue.c#8 integrate
Differences ...
==== //depot/projects/nsched/sys/alpha/alpha/pmap.c#10 (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/nsched/sys/alpha/alpha/promcons.c#5 (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/nsched/sys/alpha/tlsb/zs_tlsb.c#5 (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/nsched/sys/amd64/amd64/pmap.c#21 (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.501 2004/09/19 21:20:01 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;
@@ -1022,14 +1022,8 @@
pmap_invalidate_page(pmap, pteva);
}
- /*
- * 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;
}
@@ -1134,15 +1128,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 +1158,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 +1189,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 +1201,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 +1254,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 +1550,8 @@
if (pmap->pm_stats.resident_count == 0)
return;
+ anyvalid = 0;
+
vm_page_lock_queues();
PMAP_LOCK(pmap);
@@ -1581,8 +1568,6 @@
}
}
- anyvalid = 0;
-
for (; sva < eva; sva = va_next) {
if (pmap->pm_stats.resident_count == 0)
@@ -1644,11 +1629,10 @@
break;
}
}
-
+out:
+ vm_page_unlock_queues();
if (anyvalid)
pmap_invalidate_all(pmap);
-out:
- vm_page_unlock_queues();
PMAP_UNLOCK(pmap);
}
@@ -1818,9 +1802,9 @@
}
}
}
+ vm_page_unlock_queues();
if (anychanged)
pmap_invalidate_all(pmap);
- vm_page_unlock_queues();
PMAP_UNLOCK(pmap);
}
@@ -1920,7 +1904,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 +2012,7 @@
*/
ptepindex = pmap_pde_pindex(va);
if (mpte && (mpte->pindex == ptepindex)) {
- mpte->hold_count++;
+ mpte->wire_count++;
} else {
retry:
/*
@@ -2044,7 +2028,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 +2285,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 +2318,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/nsched/sys/boot/i386/boot2/boot2.c#3 (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/nsched/sys/boot/ia64/skiload/start.S#2 (text+ko) ====
@@ -23,11 +23,9 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/boot/ia64/skiload/start.S,v 1.1 2003/07/17 01:49:59 marcel Exp $
+ * $FreeBSD: src/sys/boot/ia64/skiload/start.S,v 1.2 2004/09/18 21:18:44 marcel Exp $
*/
-#include <machine/fpu.h>
-
#define STACKSIZE 16384
#define FPSR_DEFAULT 0x0009804c0270033f
==== //depot/projects/nsched/sys/boot/pc98/boot2/Makefile#2 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/pc98/boot2/Makefile,v 1.18 2004/02/09 16:01:45 nyan Exp $
+# $FreeBSD: src/sys/boot/pc98/boot2/Makefile,v 1.19 2004/09/18 00:12:04 nyan Exp $
#
PROG= boot
@@ -9,6 +9,7 @@
BINMODE= 444
CFLAGS= -Os -mrtd \
-fno-guess-branch-probability \
+ -fno-unit-at-a-time \
-D_KERNEL -DPC98 -DBOOTWAIT=${BOOTWAIT} -DTIMEOUT=${TIMEOUT}
CFLAGS+= -DBOOTSEG=${BOOTSEG} -DBOOTSTACK=${BOOTSTACK}
CFLAGS+= ${CWARNFLAGS}
==== //depot/projects/nsched/sys/compat/ndis/subr_ndis.c#8 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.67 2004/08/16 19:25:27 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.68 2004/09/17 19:54:26 bms Exp $");
/*
* This file implements a translation layer between the BSD networking
@@ -2875,7 +2875,7 @@
__stdcall ndis_proc workfunc;
work = ctx;
- workfunc = work->nwi_func;
+ workfunc = (__stdcall ndis_proc) work->nwi_func;
workfunc(work, work->nwi_ctx);
return;
}
==== //depot/projects/nsched/sys/compat/ndis/subr_ntoskrnl.c#6 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.43 2004/08/16 18:52:37 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.44 2004/09/17 19:54:26 bms Exp $");
#include <sys/ctype.h>
#include <sys/unistd.h>
@@ -1694,7 +1694,7 @@
uint8_t irql;
dpc = arg;
- dpcfunc = (kdpc_func)dpc->k_deferedfunc;
+ dpcfunc = (__stdcall kdpc_func) dpc->k_deferedfunc;
irql = ntoskrnl_raise_irql(DISPATCH_LEVEL);
dpcfunc(dpc, dpc->k_deferredctx, dpc->k_sysarg1, dpc->k_sysarg2);
ntoskrnl_lower_irql(irql);
==== //depot/projects/nsched/sys/conf/NOTES#20 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1277 2004/09/12 12:13:29 ceri Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1278 2004/09/16 20:35:27 glebius Exp $
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
@@ -483,6 +483,7 @@
# MPPC compression requires proprietary files (not included)
#options NETGRAPH_MPPC_COMPRESSION
options NETGRAPH_MPPC_ENCRYPTION
+options NETGRAPH_NETFLOW
options NETGRAPH_ONE2MANY
options NETGRAPH_PPP
options NETGRAPH_PPPOE
==== //depot/projects/nsched/sys/conf/files#25 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.952 2004/09/10 20:57:45 wpaul Exp $
+# $FreeBSD: src/sys/conf/files,v 1.953 2004/09/16 20:35:27 glebius Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -1453,6 +1453,8 @@
netgraph/ng_l2tp.c optional netgraph_l2tp
netgraph/ng_mppc.c optional netgraph_mppc_compression
netgraph/ng_mppc.c optional netgraph_mppc_encryption
+netgraph/netflow/ng_netflow.c optional netgraph_netflow
+netgraph/netflow/netflow.c optional netgraph_netflow
crypto/rc4/rc4.c optional wlan
crypto/rc4/rc4.c optional netgraph_mppc_encryption
crypto/sha1.c optional netgraph_mppc_encryption
==== //depot/projects/nsched/sys/conf/kern.post.mk#5 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kern.post.mk,v 1.68 2004/06/27 23:03:43 imp Exp $
+# $FreeBSD: src/sys/conf/kern.post.mk,v 1.69 2004/09/17 09:17:33 ru Exp $
# Part of a unified Makefile for building kernels. This part includes all
# the definitions that need to be after all the % directives except %RULES
@@ -221,7 +221,7 @@
${AWK} -f $S/conf/majors.awk $S/conf/majors > ${.TARGET}
vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP}
- sh $S/conf/newvers.sh ${KERN_IDENT}
+ MAKE=${MAKE} sh $S/conf/newvers.sh ${KERN_IDENT}
vnode_if.c: $S/tools/vnode_if.awk $S/kern/vnode_if.src
${AWK} -f $S/tools/vnode_if.awk $S/kern/vnode_if.src -c
==== //depot/projects/nsched/sys/conf/newvers.sh#5 (text+ko) ====
@@ -28,7 +28,7 @@
# SUCH DAMAGE.
#
# @(#)newvers.sh 8.1 (Berkeley) 4/20/94
-# $FreeBSD: src/sys/conf/newvers.sh,v 1.63 2004/08/18 00:21:12 scottl Exp $
+# $FreeBSD: src/sys/conf/newvers.sh,v 1.64 2004/09/17 09:17:33 ru Exp $
TYPE="FreeBSD"
REVISION="6.0"
@@ -82,7 +82,7 @@
touch version
v=`cat version` u=${USER-root} d=`pwd` h=${HOSTNAME-`hostname`} t=`date`
-i=`make -V KERN_IDENT`
+i=`${MAKE:-make} -V KERN_IDENT`
cat << EOF > vers.c
$COPYRIGHT
char sccspad[32 - 4 /* sizeof(sccs) */] = { '\\0' };
==== //depot/projects/nsched/sys/conf/options#17 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.483 2004/09/02 20:44:56 alfred Exp $
+# $FreeBSD: src/sys/conf/options,v 1.484 2004/09/16 20:35:27 glebius Exp $
#
# On the handling of kernel options
#
@@ -409,6 +409,7 @@
# MPPC compression requires proprietary files (not included)
NETGRAPH_MPPC_COMPRESSION opt_netgraph.h
NETGRAPH_MPPC_ENCRYPTION opt_netgraph.h
+NETGRAPH_NETFLOW opt_netgraph.h
NETGRAPH_ONE2MANY opt_netgraph.h
NETGRAPH_PPP opt_netgraph.h
NETGRAPH_PPPOE opt_netgraph.h
==== //depot/projects/nsched/sys/contrib/pf/net/pf_ioctl.c#9 (text+ko) ====
@@ -1,5 +1,6 @@
-/* $FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.14 2004/09/14 03:12:01 mlaier Exp $ */
+/* $FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.15 2004/09/17 02:15:05 mlaier Exp $ */
/* $OpenBSD: pf_ioctl.c,v 1.112.2.2 2004/07/24 18:28:12 brad Exp $ */
+/* add $OpenBSD: pf_ioctl.c,v 1.118 2004/05/03 07:51:59 kjc Exp $ */
/*
* Copyright (c) 2001 Daniel Hartmeier
@@ -132,6 +133,8 @@
int pf_begin_altq(u_int32_t *);
int pf_rollback_altq(u_int32_t);
int pf_commit_altq(u_int32_t);
+int pf_enable_altq(struct pf_altq *);
+int pf_disable_altq(struct pf_altq *);
#endif /* ALTQ */
int pf_begin_rules(u_int32_t *, int, char *, char *);
int pf_rollback_rules(u_int32_t, int, char *, char *);
@@ -144,6 +147,9 @@
#endif
struct pf_rule pf_default_rule;
+#ifdef ALTQ
+static int pf_altq_running;
+#endif
#define TAGID_MAX 50000
TAILQ_HEAD(pf_tags, pf_tagname) pf_tags = TAILQ_HEAD_INITIALIZER(pf_tags),
@@ -866,7 +872,9 @@
if (altq->qname[0] == 0) {
/* attach the discipline */
error = altq_pfattach(altq);
- if (error) {
+ if (error == 0 && pf_altq_running)
+ error = pf_enable_altq(altq);
+ if (error != 0) {
splx(s);
return (error);
}
@@ -878,6 +886,8 @@
TAILQ_REMOVE(pf_altqs_inactive, altq, entries);
if (altq->qname[0] == 0) {
/* detach and destroy the discipline */
+ if (pf_altq_running)
+ error = pf_disable_altq(altq);
err = altq_pfdetach(altq);
if (err != 0 && error == 0)
error = err;
@@ -893,6 +903,73 @@
altqs_inactive_open = 0;
return (error);
}
+
+int
+pf_enable_altq(struct pf_altq *altq)
+{
+ struct ifnet *ifp;
+ struct tb_profile tb;
+ int s, error = 0;
+
+ if ((ifp = ifunit(altq->ifname)) == NULL)
+ return (EINVAL);
+
+ if (ifp->if_snd.altq_type != ALTQT_NONE)
+ error = altq_enable(&ifp->if_snd);
+
+ /* set tokenbucket regulator */
+ if (error == 0 && ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd)) {
+ tb.rate = altq->ifbandwidth;
+ tb.depth = altq->tbrsize;
+ s = splimp();
+#ifdef __FreeBSD__
+ PF_UNLOCK();
+#endif
+ error = tbr_set(&ifp->if_snd, &tb);
+#ifdef __FreeBSD__
+ PF_LOCK();
+#endif
+ splx(s);
+ }
+
+ return (error);
+}
+
+int
+pf_disable_altq(struct pf_altq *altq)
+{
+ struct ifnet *ifp;
+ struct tb_profile tb;
+ int s, error;
+
+ if ((ifp = ifunit(altq->ifname)) == NULL)
+ return (EINVAL);
+
+ /*
+ * when the discipline is no longer referenced, it was overridden
+ * by a new one. if so, just return.
+ */
+ if (altq->altq_disc != ifp->if_snd.altq_disc)
+ return (0);
+
+ error = altq_disable(&ifp->if_snd);
+
+ if (error == 0) {
+ /* clear tokenbucket regulator */
+ tb.rate = 0;
+ s = splimp();
+#ifdef __FreeBSD__
+ PF_UNLOCK();
+#endif
+ error = tbr_set(&ifp->if_snd, &tb);
+#ifdef __FreeBSD__
+ PF_LOCK();
+#endif
+ splx(s);
+ }
+
+ return (error);
+}
#endif /* ALTQ */
int
@@ -1957,35 +2034,18 @@
#ifdef ALTQ
case DIOCSTARTALTQ: {
struct pf_altq *altq;
- struct ifnet *ifp;
- struct tb_profile tb;
/* enable all altq interfaces on active list */
s = splsoftnet();
TAILQ_FOREACH(altq, pf_altqs_active, entries) {
if (altq->qname[0] == 0) {
- if ((ifp = ifunit(altq->ifname)) == NULL) {
- error = EINVAL;
- break;
- }
- if (ifp->if_snd.altq_type != ALTQT_NONE)
- error = altq_enable(&ifp->if_snd);
+ error = pf_enable_altq(altq);
if (error != 0)
break;
- /* set tokenbucket regulator */
- tb.rate = altq->ifbandwidth;
- tb.depth = altq->tbrsize;
- PF_UNLOCK();
- error = tbr_set(&ifp->if_snd, &tb);
- PF_LOCK();
- if (error != 0)
- break;
}
}
-#ifndef __FreeBSD__
if (error == 0)
- pfaltq_running = 1;
-#endif
+ pf_altq_running = 1;
splx(s);
DPFPRINTF(PF_DEBUG_MISC, ("altq: started\n"));
break;
@@ -1993,36 +2053,18 @@
case DIOCSTOPALTQ: {
struct pf_altq *altq;
- struct ifnet *ifp;
- struct tb_profile tb;
- int err;
/* disable all altq interfaces on active list */
s = splsoftnet();
TAILQ_FOREACH(altq, pf_altqs_active, entries) {
if (altq->qname[0] == 0) {
- if ((ifp = ifunit(altq->ifname)) == NULL) {
- error = EINVAL;
+ error = pf_disable_altq(altq);
+ if (error != 0)
break;
- }
- if (ifp->if_snd.altq_type != ALTQT_NONE) {
- err = altq_disable(&ifp->if_snd);
- if (err != 0 && error == 0)
- error = err;
- }
- /* clear tokenbucket regulator */
- tb.rate = 0;
- PF_UNLOCK();
- err = tbr_set(&ifp->if_snd, &tb);
- PF_LOCK();
- if (err != 0 && error == 0)
- error = err;
}
}
-#ifndef __FreeBSD__
if (error == 0)
- pfaltq_running = 0;
-#endif
+ pf_altq_running = 0;
splx(s);
DPFPRINTF(PF_DEBUG_MISC, ("altq: stopped\n"));
break;
==== //depot/projects/nsched/sys/dev/acpica/acpi_pci_link.c#8 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.29 2004/09/01 17:59:29 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.31 2004/09/20 05:56:01 njl Exp $");
#include "opt_acpi.h"
#include <sys/param.h>
@@ -236,16 +236,14 @@
Interrupts = resources->Data.Irq.Interrupts;
break;
case ACPI_RSTYPE_EXT_IRQ:
- NumberOfInterrupts =
+ NumberOfInterrupts =
resources->Data.ExtendedIrq.NumberOfInterrupts;
- Interrupts = resources->Data.ExtendedIrq.Interrupts;
+ Interrupts = resources->Data.ExtendedIrq.Interrupts;
break;
}
-
- if (NumberOfInterrupts == 0) {
- printf("acpi link get: empty IRQ resource\n");
+
+ if (NumberOfInterrupts == 0)
return_ACPI_STATUS (AE_NULL_ENTRY);
- }
count = 0;
for (i = 0; i < NumberOfInterrupts; i++) {
@@ -382,7 +380,7 @@
}
if (buf.Pointer == NULL) {
ACPI_DEBUG_PRINT((ACPI_DB_WARN,
- "_PRS nuffer is empty - %s\n", acpi_name(handle)));
+ "_PRS buffer is empty - %s\n", acpi_name(handle)));
error = AE_NO_MEMORY;
goto out;
}
@@ -418,6 +416,13 @@
* zero and flags to indicate this link is not routed. If we can't
* run _DIS (i.e., the method doesn't exist), assume the initial
* IRQ was routed by the BIOS.
+ *
+ * XXX Since we detect link devices via _PRT entries but run long
+ * after APIC mode has been enabled, we don't get a chance to
+ * disable links that will be unused (especially in APIC mode).
+ * Leaving them enabled can cause duplicate interrupts for some
+ * devices. The right fix is to probe links via their PNPID, so we
+ * see them no matter what the _PRT says.
*/
if (ACPI_SUCCESS(AcpiEvaluateObject(handle, "_DIS", NULL, NULL))) {
link->current_irq = 0;
==== //depot/projects/nsched/sys/dev/adlink/adlink.c#4 (text+ko) ====
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2003 Poul-Henning Kamp
+ * Copyright (c) 2003-2004 Poul-Henning Kamp
* All rights reserved.
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list