PERFORCE change 67662 for review
Julian Elischer
julian at FreeBSD.org
Fri Dec 24 22:41:20 PST 2004
http://perforce.freebsd.org/chv.cgi?CH=67662
Change 67662 by julian at julian_ref on 2004/12/25 06:40:46
IFC at 67661
Affected files ...
.. //depot/projects/nsched/sys/alpha/alpha/pmap.c#13 integrate
.. //depot/projects/nsched/sys/amd64/amd64/pmap.c#27 integrate
.. //depot/projects/nsched/sys/amd64/isa/isa.c#2 integrate
.. //depot/projects/nsched/sys/arm/arm/intr.c#5 integrate
.. //depot/projects/nsched/sys/arm/arm/pmap.c#10 integrate
.. //depot/projects/nsched/sys/arm/arm/swtch.S#6 integrate
.. //depot/projects/nsched/sys/arm/conf/SIMICS#5 integrate
.. //depot/projects/nsched/sys/arm/include/atomic.h#3 integrate
.. //depot/projects/nsched/sys/arm/sa11x0/assabet_machdep.c#8 integrate
.. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_irqhandler.c#3 integrate
.. //depot/projects/nsched/sys/arm/xscale/i80321/i80321_pci.c#2 integrate
.. //depot/projects/nsched/sys/boot/Makefile#5 integrate
.. //depot/projects/nsched/sys/boot/alpha/boot1/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/alpha/cdboot/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/alpha/common/Makefile.common#3 integrate
.. //depot/projects/nsched/sys/boot/alpha/netboot/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/arc/loader/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/i386/boot0/Makefile#4 integrate
.. //depot/projects/nsched/sys/boot/i386/btx/btx/Makefile#3 integrate
.. //depot/projects/nsched/sys/boot/i386/btx/btxldr/Makefile#3 integrate
.. //depot/projects/nsched/sys/boot/i386/btx/lib/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/i386/cdboot/Makefile#3 integrate
.. //depot/projects/nsched/sys/boot/i386/kgzldr/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/i386/loader/Makefile#3 integrate
.. //depot/projects/nsched/sys/boot/i386/mbr/Makefile#4 integrate
.. //depot/projects/nsched/sys/boot/ia64/efi/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/ia64/ski/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/pc98/boot0.5/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/pc98/boot0/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/pc98/boot2/Makefile#3 integrate
.. //depot/projects/nsched/sys/boot/pc98/btx/btx/Makefile#3 integrate
.. //depot/projects/nsched/sys/boot/pc98/btx/btxldr/Makefile#3 integrate
.. //depot/projects/nsched/sys/boot/pc98/btx/lib/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/pc98/kgzldr/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/pc98/loader/Makefile#3 integrate
.. //depot/projects/nsched/sys/boot/powerpc/loader/Makefile#4 integrate
.. //depot/projects/nsched/sys/boot/sparc64/boot1/Makefile#2 integrate
.. //depot/projects/nsched/sys/boot/sparc64/loader/Makefile#3 integrate
.. //depot/projects/nsched/sys/conf/NOTES#25 integrate
.. //depot/projects/nsched/sys/conf/files.amd64#12 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/fil.c#5 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_auth.c#3 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_compat.h#4 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_fil.c#7 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_fil.h#5 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_frag.c#3 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_log.c#3 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_nat.c#3 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_nat.h#3 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_proxy.c#2 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_state.c#3 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/ip_state.h#3 integrate
.. //depot/projects/nsched/sys/contrib/ipfilter/netinet/mlfk_ipl.c#3 integrate
.. //depot/projects/nsched/sys/contrib/pf/net/pf.c#11 integrate
.. //depot/projects/nsched/sys/crypto/rijndael/Makefile#3 integrate
.. //depot/projects/nsched/sys/dev/aac/aac_pci.c#7 integrate
.. //depot/projects/nsched/sys/dev/acpica/acpi_cmbat.c#10 integrate
.. //depot/projects/nsched/sys/dev/acpica/acpi_pci_link.c#11 integrate
.. //depot/projects/nsched/sys/dev/aic7xxx/aicasm/Makefile#3 integrate
.. //depot/projects/nsched/sys/dev/ata/ata-chipset.c#18 integrate
.. //depot/projects/nsched/sys/dev/ata/ata-lowlevel.c#11 integrate
.. //depot/projects/nsched/sys/dev/ath/ath_rate/amrr/amrr.c#2 integrate
.. //depot/projects/nsched/sys/dev/ath/ath_rate/onoe/onoe.c#2 integrate
.. //depot/projects/nsched/sys/dev/ath/if_ath.c#6 integrate
.. //depot/projects/nsched/sys/dev/bge/if_bge.c#11 integrate
.. //depot/projects/nsched/sys/dev/bge/if_bgereg.h#6 integrate
.. //depot/projects/nsched/sys/dev/bktr/bktr_card.c#3 integrate
.. //depot/projects/nsched/sys/dev/bktr/bktr_card.h#3 integrate
.. //depot/projects/nsched/sys/dev/bktr/bktr_tuner.c#3 integrate
.. //depot/projects/nsched/sys/dev/bktr/bktr_tuner.h#2 integrate
.. //depot/projects/nsched/sys/dev/bktr/msp34xx.c#3 integrate
.. //depot/projects/nsched/sys/dev/cp/if_cp.c#9 integrate
.. //depot/projects/nsched/sys/dev/drm/drm_sysctl.h#2 integrate
.. //depot/projects/nsched/sys/dev/fb/vga.c#6 integrate
.. //depot/projects/nsched/sys/dev/fxp/if_fxp.c#10 integrate
.. //depot/projects/nsched/sys/dev/hptmv/entry.c#2 integrate
.. //depot/projects/nsched/sys/dev/ida/ida.c#3 integrate
.. //depot/projects/nsched/sys/dev/ida/ida_pci.c#3 integrate
.. //depot/projects/nsched/sys/dev/ida/idavar.h#3 integrate
.. //depot/projects/nsched/sys/dev/kbd/atkbd.c#3 integrate
.. //depot/projects/nsched/sys/dev/kbd/atkbdreg.h#2 integrate
.. //depot/projects/nsched/sys/dev/kbd/kbd.c#3 integrate
.. //depot/projects/nsched/sys/dev/mpt/mpt_pci.c#2 integrate
.. //depot/projects/nsched/sys/dev/nmdm/nmdm.c#10 integrate
.. //depot/projects/nsched/sys/dev/ofw/ofw_disk.c#4 integrate
.. //depot/projects/nsched/sys/dev/patm/genrtab/Makefile#3 integrate
.. //depot/projects/nsched/sys/dev/pccbb/pccbb_pci.c#2 integrate
.. //depot/projects/nsched/sys/dev/pccbb/pccbbdevid.h#3 integrate
.. //depot/projects/nsched/sys/dev/random/randomdev.c#9 integrate
.. //depot/projects/nsched/sys/dev/random/randomdev_soft.c#7 integrate
.. //depot/projects/nsched/sys/dev/snp/snp.c#8 integrate
.. //depot/projects/nsched/sys/dev/sound/usb/uaudio.c#2 integrate
.. //depot/projects/nsched/sys/dev/sound/usb/uaudio.h#2 integrate
.. //depot/projects/nsched/sys/dev/sound/usb/uaudio_pcm.c#4 integrate
.. //depot/projects/nsched/sys/dev/sound/usb/uaudioreg.h#2 integrate
.. //depot/projects/nsched/sys/dev/twe/twe.c#4 integrate
.. //depot/projects/nsched/sys/dev/twe/tweio.h#2 integrate
.. //depot/projects/nsched/sys/dev/usb/ehci.c#8 integrate
.. //depot/projects/nsched/sys/dev/usb/ugen.c#10 integrate
.. //depot/projects/nsched/sys/dev/usb/uhid.c#9 integrate
.. //depot/projects/nsched/sys/dev/usb/ums.c#7 integrate
.. //depot/projects/nsched/sys/dev/usb/usb.c#6 integrate
.. //depot/projects/nsched/sys/dev/usb/usbdevs#18 integrate
.. //depot/projects/nsched/sys/dev/vkbd/vkbd.c#2 integrate
.. //depot/projects/nsched/sys/dev/wi/if_wi.c#5 integrate
.. //depot/projects/nsched/sys/fs/devfs/devfs_vnops.c#7 integrate
.. //depot/projects/nsched/sys/geom/bde/g_bde_lock.c#3 integrate
.. //depot/projects/nsched/sys/geom/geom.h#8 integrate
.. //depot/projects/nsched/sys/geom/mirror/g_mirror.c#13 integrate
.. //depot/projects/nsched/sys/geom/mirror/g_mirror.h#5 integrate
.. //depot/projects/nsched/sys/geom/mirror/g_mirror_ctl.c#2 integrate
.. //depot/projects/nsched/sys/geom/raid3/g_raid3.c#11 integrate
.. //depot/projects/nsched/sys/gnu/ext2fs/ext2_vnops.c#8 integrate
.. //depot/projects/nsched/sys/i386/i386/intr_machdep.c#8 integrate
.. //depot/projects/nsched/sys/i386/i386/local_apic.c#4 integrate
.. //depot/projects/nsched/sys/i386/i386/mp_machdep.c#12 integrate
.. //depot/projects/nsched/sys/i386/i386/pmap.c#30 integrate
.. //depot/projects/nsched/sys/i386/include/apicreg.h#2 integrate
.. //depot/projects/nsched/sys/i386/include/apicvar.h#5 integrate
.. //depot/projects/nsched/sys/i386/include/intr_machdep.h#4 integrate
.. //depot/projects/nsched/sys/i386/isa/isa.c#4 integrate
.. //depot/projects/nsched/sys/ia64/ia64/pmap.c#16 integrate
.. //depot/projects/nsched/sys/isa/isa_common.c#2 integrate
.. //depot/projects/nsched/sys/isa/isa_common.h#2 integrate
.. //depot/projects/nsched/sys/isa/pnp.c#2 integrate
.. //depot/projects/nsched/sys/isa/pnpvar.h#2 integrate
.. //depot/projects/nsched/sys/kern/init_sysent.c#9 integrate
.. //depot/projects/nsched/sys/kern/kern_descrip.c#13 integrate
.. //depot/projects/nsched/sys/kern/kern_exec.c#16 integrate
.. //depot/projects/nsched/sys/kern/kern_fork.c#19 integrate
.. //depot/projects/nsched/sys/kern/kern_switch.c#43 integrate
.. //depot/projects/nsched/sys/kern/kern_thread.c#48 integrate
.. //depot/projects/nsched/sys/kern/kern_umtx.c#5 integrate
.. //depot/projects/nsched/sys/kern/sched_4bsd.c#63 integrate
.. //depot/projects/nsched/sys/kern/sched_ule.c#45 integrate
.. //depot/projects/nsched/sys/kern/syscalls.c#9 integrate
.. //depot/projects/nsched/sys/kern/syscalls.master#9 integrate
.. //depot/projects/nsched/sys/kern/tty.c#16 integrate
.. //depot/projects/nsched/sys/kern/tty_pty.c#12 integrate
.. //depot/projects/nsched/sys/kern/uipc_mbuf.c#9 integrate
.. //depot/projects/nsched/sys/kern/uipc_sem.c#3 integrate
.. //depot/projects/nsched/sys/kern/uipc_socket.c#17 integrate
.. //depot/projects/nsched/sys/kern/uipc_socket2.c#12 integrate
.. //depot/projects/nsched/sys/kern/uipc_usrreq.c#15 integrate
.. //depot/projects/nsched/sys/kern/vfs_mount.c#13 integrate
.. //depot/projects/nsched/sys/kern/vfs_subr.c#18 integrate
.. //depot/projects/nsched/sys/modules/Makefile#17 integrate
.. //depot/projects/nsched/sys/modules/acpi/acpi_video/Makefile#4 integrate
.. //depot/projects/nsched/sys/modules/cp/Makefile#3 integrate
.. //depot/projects/nsched/sys/modules/if_gif/Makefile#3 integrate
.. //depot/projects/nsched/sys/modules/ipfilter/Makefile#4 integrate
.. //depot/projects/nsched/sys/modules/netgraph/Makefile#6 integrate
.. //depot/projects/nsched/sys/modules/netgraph/fec/sample_startup#2 delete
.. //depot/projects/nsched/sys/modules/pf/Makefile#6 integrate
.. //depot/projects/nsched/sys/modules/wlan_ccmp/Makefile#2 integrate
.. //depot/projects/nsched/sys/net/bpf.c#11 integrate
.. //depot/projects/nsched/sys/net/if_spppsubr.c#9 integrate
.. //depot/projects/nsched/sys/net/if_tap.c#8 integrate
.. //depot/projects/nsched/sys/net/if_tun.c#8 integrate
.. //depot/projects/nsched/sys/net/ppp_tty.c#6 integrate
.. //depot/projects/nsched/sys/netgraph/ng_base.c#9 integrate
.. //depot/projects/nsched/sys/netgraph/ng_bridge.c#5 integrate
.. //depot/projects/nsched/sys/netgraph/ng_sample.c#5 integrate
.. //depot/projects/nsched/sys/netinet/tcp_subr.c#13 integrate
.. //depot/projects/nsched/sys/netinet/tcp_timer.c#7 integrate
.. //depot/projects/nsched/sys/netinet/tcp_var.h#9 integrate
.. //depot/projects/nsched/sys/nfsclient/nfs.h#8 integrate
.. //depot/projects/nsched/sys/nfsclient/nfs_bio.c#11 integrate
.. //depot/projects/nsched/sys/nfsclient/nfs_nfsiod.c#6 integrate
.. //depot/projects/nsched/sys/nfsclient/nfs_vfsops.c#9 integrate
.. //depot/projects/nsched/sys/nfsclient/nfs_vnops.c#11 integrate
.. //depot/projects/nsched/sys/nfsclient/nfsnode.h#7 integrate
.. //depot/projects/nsched/sys/pc98/pc98/fd.c#9 integrate
.. //depot/projects/nsched/sys/pci/if_sk.c#9 integrate
.. //depot/projects/nsched/sys/powerpc/powerpc/pmap.c#12 integrate
.. //depot/projects/nsched/sys/sparc64/include/ver.h#2 integrate
.. //depot/projects/nsched/sys/sparc64/sparc64/identcpu.c#3 integrate
.. //depot/projects/nsched/sys/sparc64/sparc64/pmap.c#9 integrate
.. //depot/projects/nsched/sys/sys/filedesc.h#6 integrate
.. //depot/projects/nsched/sys/sys/proc.h#43 integrate
.. //depot/projects/nsched/sys/sys/syscall.h#9 integrate
.. //depot/projects/nsched/sys/sys/syscall.mk#9 integrate
.. //depot/projects/nsched/sys/sys/sysproto.h#9 integrate
.. //depot/projects/nsched/sys/sys/umtx.h#3 integrate
.. //depot/projects/nsched/sys/sys/vnode.h#12 integrate
.. //depot/projects/nsched/sys/ufs/ffs/ffs_vnops.c#10 integrate
.. //depot/projects/nsched/sys/ufs/ufs/ufs_vnops.c#8 integrate
.. //depot/projects/nsched/sys/vm/vm_fault.c#9 integrate
.. //depot/projects/nsched/sys/vm/vm_map.c#10 integrate
.. //depot/projects/nsched/sys/vm/vm_meter.c#6 integrate
.. //depot/projects/nsched/sys/vm/vm_object.c#9 integrate
.. //depot/user/julian/julian_ipi/sys/dev/usb/usbdevs#7 edit
Differences ...
==== //depot/projects/nsched/sys/alpha/alpha/pmap.c#13 (text+ko) ====
@@ -148,11 +148,12 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.174 2004/11/27 06:51:32 das Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.176 2004/12/23 20:16:09 alc Exp $");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
+#include <sys/malloc.h>
#include <sys/proc.h>
#include <sys/msgbuf.h>
#include <sys/vmmeter.h>
@@ -334,7 +335,7 @@
static vm_page_t pmap_allocpte(pmap_t pmap, vm_offset_t va);
-static vm_page_t _pmap_allocpte(pmap_t pmap, unsigned ptepindex);
+static vm_page_t _pmap_allocpte(pmap_t pmap, unsigned ptepindex, int flags);
static int _pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m);
static int pmap_unuse_pt(pmap_t, vm_offset_t, vm_page_t);
#ifdef SMP
@@ -1038,24 +1039,28 @@
* mapped correctly.
*/
static vm_page_t
-_pmap_allocpte(pmap, ptepindex)
- pmap_t pmap;
- unsigned ptepindex;
+_pmap_allocpte(pmap_t pmap, unsigned ptepindex, int flags)
{
pt_entry_t* pte;
vm_offset_t ptepa;
vm_page_t m;
+ KASSERT((flags & (M_NOWAIT | M_WAITOK)) == M_NOWAIT ||
+ (flags & (M_NOWAIT | M_WAITOK)) == M_WAITOK,
+ ("_pmap_allocpte: flags is neither M_NOWAIT nor M_WAITOK"));
+
/*
* Find or fabricate a new pagetable page
*/
if ((m = vm_page_alloc(NULL, ptepindex, VM_ALLOC_NOOBJ |
VM_ALLOC_WIRED | VM_ALLOC_ZERO)) == NULL) {
- PMAP_UNLOCK(pmap);
- vm_page_unlock_queues();
- VM_WAIT;
- vm_page_lock_queues();
- PMAP_LOCK(pmap);
+ if (flags & M_WAITOK) {
+ PMAP_UNLOCK(pmap);
+ vm_page_unlock_queues();
+ VM_WAIT;
+ vm_page_lock_queues();
+ PMAP_LOCK(pmap);
+ }
/*
* Indicate the need to retry. While waiting, the page table
@@ -1082,7 +1087,8 @@
pt_entry_t* l1pte = &pmap->pm_lev1[l1index];
pt_entry_t* l2map;
if (!pmap_pte_v(l1pte)) {
- if (_pmap_allocpte(pmap, NUSERLEV3MAPS + l1index) == NULL) {
+ if (_pmap_allocpte(pmap, NUSERLEV3MAPS + l1index,
+ flags) == NULL) {
--m->wire_count;
vm_page_free(m);
return (NULL);
@@ -1146,7 +1152,7 @@
* Here if the pte page isn't mapped, or if it has been
* deallocated.
*/
- m = _pmap_allocpte(pmap, ptepindex);
+ m = _pmap_allocpte(pmap, ptepindex, M_WAITOK);
if (m == NULL)
goto retry;
}
@@ -1793,7 +1799,6 @@
* 2. Not wired.
* 3. Read access.
* 4. No page table pages.
- * 5. Tlbflush is deferred to calling procedure.
* 6. Page IS managed.
* but is *MUCH* faster than pmap_enter...
*/
@@ -1804,7 +1809,8 @@
register pt_entry_t *pte;
int managed;
- vm_page_lock_queues();
+ mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+ VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
PMAP_LOCK(pmap);
/*
@@ -1842,9 +1848,20 @@
}
mpte->wire_count++;
} else {
- mpte = _pmap_allocpte(pmap, ptepindex);
- if (mpte == NULL)
+ mpte = _pmap_allocpte(pmap, ptepindex,
+ M_NOWAIT);
+ if (mpte == NULL) {
+ PMAP_UNLOCK(pmap);
+ vm_page_busy(m);
+ vm_page_unlock_queues();
+ VM_OBJECT_UNLOCK(m->object);
+ VM_WAIT;
+ VM_OBJECT_LOCK(m->object);
+ vm_page_lock_queues();
+ vm_page_wakeup(m);
+ PMAP_LOCK(pmap);
goto retry;
+ }
}
}
} else {
@@ -1888,7 +1905,6 @@
*pte = pmap_phys_to_pte(VM_PAGE_TO_PHYS(m)) | PG_V | PG_KRE | PG_URE | managed;
out:
alpha_pal_imb(); /* XXX overkill? */
- vm_page_unlock_queues();
PMAP_UNLOCK(pmap);
return mpte;
}
==== //depot/projects/nsched/sys/amd64/amd64/pmap.c#27 (text+ko) ====
@@ -75,7 +75,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.511 2004/12/04 22:02:31 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.514 2004/12/23 20:16:09 alc Exp $");
/*
* Manages physical address maps.
@@ -858,7 +858,7 @@
if (va >= DMAP_MIN_ADDRESS && va < DMAP_MAX_ADDRESS) {
pa = DMAP_TO_PHYS(va);
} else {
- pde = pmap_pde(kernel_pmap, va);
+ pde = vtopde(va);
if (*pde & PG_PS) {
pa = (*pde & ~(NBPDR - 1)) | (va & (NBPDR - 1));
} else {
@@ -2007,7 +2007,6 @@
* 2. Not wired.
* 3. Read access.
* 4. No page table pages.
- * 5. Tlbflush is deferred to calling procedure.
* 6. Page IS managed.
* but is *MUCH* faster than pmap_enter...
*/
@@ -2018,7 +2017,8 @@
pt_entry_t *pte;
vm_paddr_t pa;
- vm_page_lock_queues();
+ mtx_assert(&vm_page_queue_mtx, MA_OWNED);
+ VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED);
PMAP_LOCK(pmap);
/*
@@ -2053,9 +2053,19 @@
mpte->wire_count++;
} else {
mpte = _pmap_allocpte(pmap, ptepindex,
- M_WAITOK);
- if (mpte == NULL)
+ M_NOWAIT);
+ if (mpte == NULL) {
+ PMAP_UNLOCK(pmap);
+ vm_page_busy(m);
+ vm_page_unlock_queues();
+ VM_OBJECT_UNLOCK(m->object);
+ VM_WAIT;
+ VM_OBJECT_LOCK(m->object);
+ vm_page_lock_queues();
+ vm_page_wakeup(m);
+ PMAP_LOCK(pmap);
goto retry;
+ }
}
}
} else {
@@ -2100,7 +2110,6 @@
else
pte_store(pte, pa | PG_V | PG_U | PG_MANAGED);
out:
- vm_page_unlock_queues();
PMAP_UNLOCK(pmap);
return mpte;
}
==== //depot/projects/nsched/sys/amd64/isa/isa.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/isa/isa.c,v 1.146 2004/03/17 21:45:55 jmg Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/isa.c,v 1.147 2004/12/24 23:03:17 imp Exp $");
/*
* Modifications for Intel architecture by Garrett A. Wollman.
@@ -59,7 +59,9 @@
#include <sys/param.h>
#include <sys/bus.h>
+#include <sys/kernel.h>
#include <sys/malloc.h>
+#include <sys/module.h>
#include <machine/bus.h>
#include <sys/rman.h>
@@ -157,3 +159,8 @@
{
return (BUS_TEARDOWN_INTR(device_get_parent(bus), child, r, cookie));
}
+
+/*
+ * On this platform, isa can also attach to the legacy bus.
+ */
+DRIVER_MODULE(isa, legacy, isa_driver, isa_devclass, 0, 0);
==== //depot/projects/nsched/sys/arm/arm/intr.c#5 (text+ko) ====
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.5 2004/11/23 16:31:16 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.6 2004/12/14 18:57:21 cognet Exp $");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/syslog.h>
@@ -122,7 +122,7 @@
arm_handler_execute(void *frame, int irqnb)
{
struct ithd *ithd;
- int i, oldirqstate;
+ int i;
struct intrhand *ih;
struct thread *td = curthread;
@@ -130,6 +130,7 @@
if (irqnb == 0)
irqnb = arm_get_irqnb(frame);
arm_mask_irqs(irqnb);
+ enable_interrupts(I32_bit|F32_bit);
while (irqnb != 0) {
i = ffs(irqnb) - 1;
intrcnt[intrcnt_tab[i]]++;
@@ -139,13 +140,11 @@
continue;
ih = TAILQ_FIRST(&ithd->it_handlers);
if (ih && ih->ih_flags & IH_FAST) {
- oldirqstate = disable_interrupts(I32_bit);
TAILQ_FOREACH(ih, &ithd->it_handlers,
ih_next) {
ih->ih_handler(ih->ih_argument ?
ih->ih_argument : frame);
}
- restore_interrupts(oldirqstate);
arm_unmask_irqs(1 << i);
} else if (ih)
ithread_schedule(ithd);
==== //depot/projects/nsched/sys/arm/arm/pmap.c#10 (text+ko) ====
@@ -147,7 +147,7 @@
#include "opt_vm.h"
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.20 2004/12/05 22:47:25 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.22 2004/12/23 20:16:10 alc Exp $");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
@@ -3409,7 +3409,6 @@
* 2. Not wired.
* 3. Read access.
* 4. No page table pages.
- * 5. Tlbflush is deferred to calling procedure.
* 6. Page IS managed.
* but is *MUCH* faster than pmap_enter...
*/
@@ -3417,8 +3416,17 @@
vm_page_t
pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t mpte)
{
+
+ vm_page_busy(m);
+ vm_page_unlock_queues();
+ VM_OBJECT_UNLOCK(m->object);
+ mtx_lock(&Giant);
pmap_enter(pmap, va, m, VM_PROT_READ|VM_PROT_EXECUTE, FALSE);
pmap_dcache_wbinv_all(pmap); /* XXX: shouldn't be needed */
+ mtx_unlock(&Giant);
+ VM_OBJECT_LOCK(m->object);
+ vm_page_lock_queues();
+ vm_page_wakeup(m);
return (NULL);
}
==== //depot/projects/nsched/sys/arm/arm/swtch.S#6 (text+ko) ====
@@ -83,7 +83,7 @@
#include <machine/asm.h>
#include <machine/asmacros.h>
#include <machine/armreg.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.9 2004/12/12 19:21:58 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.10 2004/12/14 18:45:05 cognet Exp $");
/*
@@ -205,7 +205,7 @@
ldr r6, .Lcurpcb
str r7, [r6]
- ldmfd sp, {r4-r7, pc}
+ ldmfd sp!, {r4-r7, pc}
ENTRY(cpu_switch)
stmfd sp!, {r4-r7, lr}
==== //depot/projects/nsched/sys/arm/conf/SIMICS#5 (text+ko) ====
@@ -15,7 +15,7 @@
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
-# $FreeBSD: src/sys/arm/conf/SIMICS,v 1.6 2004/11/07 23:02:15 cognet Exp $
+# $FreeBSD: src/sys/arm/conf/SIMICS,v 1.7 2004/12/18 17:58:49 cognet Exp $
machine arm
ident SIMICS
@@ -40,7 +40,6 @@
options UFS_ACL #Support for access control lists
options UFS_DIRHASH #Improve performance on big directories
options MD_ROOT #MD is a potential root device
-options MD_ROOT_SIZE=65535
options ROOTDEVNAME=\"ufs:md0\"
options NFSCLIENT #Network Filesystem Client
options NFSSERVER #Network Filesystem Server
==== //depot/projects/nsched/sys/arm/include/atomic.h#3 (text+ko) ====
@@ -33,7 +33,7 @@
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/arm/include/atomic.h,v 1.3 2004/11/05 23:48:12 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/atomic.h,v 1.4 2004/12/18 17:43:01 cognet Exp $
*/
#ifndef _MACHINE_ATOMIC_H_
@@ -75,7 +75,7 @@
__swp(uint32_t val, volatile uint32_t *ptr)
{
__asm __volatile("swp %0, %1, [%2]"
- : "=r" (val) : "r" (val) , "r" (ptr) : "memory");
+ : "=&r" (val) : "r" (val) , "r" (ptr) : "memory");
return (val);
}
==== //depot/projects/nsched/sys/arm/sa11x0/assabet_machdep.c#8 (text+ko) ====
@@ -47,7 +47,7 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.7 2004/11/20 16:51:32 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.8 2004/12/18 17:58:49 cognet Exp $");
#include "opt_md.h"
@@ -134,7 +134,7 @@
struct pcpu *pcpup = &__pcpu;
#ifndef MD_ROOT_SIZE
-#error SIMICS needs MD_ROOT and MD_ROOT_SIZE
+#define MD_ROOT_SIZE 65535
#endif
/* Physical and virtual addresses for some global pages */
@@ -400,14 +400,14 @@
pmap_curmaxkvaddr = freemempos + KERNEL_PT_VMDATA_NUM * 0x400000;
- pmap_bootstrap(KERNEL_VM_BASE,
+ pmap_bootstrap(freemempos,
0xd0000000, &kernel_l1pt);
mutex_init();
- phys_avail[0] = round_page(freemempos);
+ phys_avail[0] = round_page(virtual_avail);
phys_avail[1] = 0xc0000000 + 0x02000000 - 1;
phys_avail[2] = 0;
phys_avail[3] = 0;
==== //depot/projects/nsched/sys/arm/sa11x0/sa11x0_irqhandler.c#3 (text+ko) ====
@@ -76,7 +76,7 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/sa11x0/sa11x0_irqhandler.c,v 1.2 2004/09/23 22:33:38 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/sa11x0/sa11x0_irqhandler.c,v 1.3 2004/12/18 17:58:49 cognet Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -115,16 +115,26 @@
return(bus_space_read_4(sc->sc_iot, sc->sc_ioh, SAIPIC_IP));
}
+static uint32_t sa11x0_irq_mask = 0xfffffff;
+
+extern vm_offset_t saipic_base;
+
void
arm_mask_irqs(int irq)
{
- /* XXX */
+
+ sa11x0_irq_mask &= ~irq;
+ __asm __volatile("str %0, [%1, #0x04]" /* SAIPIC_MR */
+ : : "r" (sa11x0_irq_mask), "r" (saipic_base));
}
void
arm_unmask_irqs(int irq)
{
- /* XXX */
+
+ sa11x0_irq_mask |= irq;
+ __asm __volatile("str %0, [%1, #0x04]" /* SAIPIC_MR */
+ : : "r" (sa11x0_irq_mask), "r" (saipic_base));
}
void stray_irqhandler(void *);
==== //depot/projects/nsched/sys/arm/xscale/i80321/i80321_pci.c#2 (text+ko) ====
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_pci.c,v 1.1 2004/09/23 22:45:36 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_pci.c,v 1.2 2004/12/21 11:36:09 cognet Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -236,7 +236,7 @@
struct i80321_pci_softc *sc = device_get_softc(dev);
uint32_t addr;
- if (i80321_pci_conf_setup(sc, bus, slot, func, reg, &addr))
+ if (i80321_pci_conf_setup(sc, bus, slot, func, reg & ~3, &addr))
return;
@@ -244,10 +244,12 @@
addr);
switch (bytes) {
case 1:
- bus_space_write_1(sc->sc_st, sc->sc_atu_sh, ATU_OCCDR, data);
+ bus_space_write_1(sc->sc_st, sc->sc_atu_sh, ATU_OCCDR +
+ (reg & 3), data);
break;
case 2:
- bus_space_write_2(sc->sc_st, sc->sc_atu_sh, ATU_OCCDR, data);
+ bus_space_write_2(sc->sc_st, sc->sc_atu_sh, ATU_OCCDR +
+ (reg & 3), data);
break;
case 4:
bus_space_write_4(sc->sc_st, sc->sc_atu_sh, ATU_OCCDR, data);
@@ -266,7 +268,6 @@
int func;
uint32_t busno;
struct i80321_pci_softc *sc = device_get_softc(pcib);
-
bus = pci_get_bus(dev);
device = pci_get_slot(dev);
func = pci_get_function(dev);
@@ -293,6 +294,10 @@
goto no_mapping;
/* IQ80321 PCI */
case 4: /* i82544 Gig-E */
+ case 8: /*
+ * Apparently you can set the device for the ethernet adapter
+ * to 8 with a jumper, so handle that as well
+ */
if (pin == 1)
return (ICU_INT_XINT(0));
goto no_mapping;
@@ -362,7 +367,10 @@
case SYS_RES_MEMORY:
rm = &sc->sc_mem_rman;
bt = sc->sc_pcimem;
- bh = sc->sc_mem;
+ bh = (start >= 0x80000000 && start < 0x84000000) ? 0x80000000 :
+ sc->sc_mem;
+ start &= (0x1000000 - 1);
+ end &= (0x1000000 - 1);
break;
case SYS_RES_IOPORT:
rm = &sc->sc_io_rman;
==== //depot/projects/nsched/sys/boot/Makefile#5 (text+ko) ====
@@ -1,6 +1,6 @@
-# $FreeBSD: src/sys/boot/Makefile,v 1.25 2004/11/23 05:52:00 marcel Exp $
+# $FreeBSD: src/sys/boot/Makefile,v 1.26 2004/12/21 12:32:13 ru Exp $
-.if !defined(NOFORTH)
+.if !defined(NO_FORTH)
# Build the add-in FORTH interpreter.
SUBDIR+= ficl
.endif
==== //depot/projects/nsched/sys/boot/alpha/boot1/Makefile#2 (text+ko) ====
@@ -1,9 +1,9 @@
# $NetBSD: Makefile,v 1.15 1998/03/28 00:21:35 thorpej Exp $
-# $FreeBSD: src/sys/boot/alpha/boot1/Makefile,v 1.17 2004/02/11 22:01:17 ru Exp $
+# $FreeBSD: src/sys/boot/alpha/boot1/Makefile,v 1.18 2004/12/21 08:47:11 ru Exp $
PROG= boot1.sym
INTERNALPROG=
-NOMAN=
+NO_MAN=
LINKS= ${BINDIR}/boot1 ${BINDIR}/boot
.PATH: ${.CURDIR}/../libalpha
==== //depot/projects/nsched/sys/boot/alpha/cdboot/Makefile#2 (text+ko) ====
@@ -1,7 +1,7 @@
-# $FreeBSD: src/sys/boot/alpha/cdboot/Makefile,v 1.8 2004/02/11 22:01:17 ru Exp $
+# $FreeBSD: src/sys/boot/alpha/cdboot/Makefile,v 1.9 2004/12/21 08:47:12 ru Exp $
BOOT= cdboot
-NOMAN=
+NO_MAN=
NEWVERSWHAT= "SRM CD9660 boot" alpha
LOAD_ADDRESS= ${PRIMARY_LOAD_ADDRESS}
==== //depot/projects/nsched/sys/boot/alpha/common/Makefile.common#3 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/alpha/common/Makefile.common,v 1.19 2004/08/22 00:26:01 marcel Exp $
+# $FreeBSD: src/sys/boot/alpha/common/Makefile.common,v 1.20 2004/12/21 12:32:13 ru Exp $
#
# Common Alpha loader build rules
@@ -15,7 +15,7 @@
.PATH: ${.CURDIR}/../libalpha
-.if !defined(NOFORTH)
+.if !defined(NO_FORTH)
# Enable BootForth
BOOT_FORTH= yes
CFLAGS+= -DBOOT_FORTH
==== //depot/projects/nsched/sys/boot/alpha/netboot/Makefile#2 (text+ko) ====
@@ -1,8 +1,8 @@
-# $FreeBSD: src/sys/boot/alpha/netboot/Makefile,v 1.11 2004/02/11 22:01:17 ru Exp $
+# $FreeBSD: src/sys/boot/alpha/netboot/Makefile,v 1.12 2004/12/21 08:47:12 ru Exp $
# $NetBSD: Makefile,v 1.12 1998/02/19 14:18:36 drochner Exp $
BOOT= netboot
-NOMAN=
+NO_MAN=
NEWVERSWHAT= "SRM net boot" alpha
LOAD_ADDRESS= ${PRIMARY_LOAD_ADDRESS}
==== //depot/projects/nsched/sys/boot/arc/loader/Makefile#2 (text+ko) ====
@@ -1,9 +1,9 @@
# $NetBSD: Makefile,v 1.12 1998/02/19 14:18:36 drochner Exp $
-# $FreeBSD: src/sys/boot/arc/loader/Makefile,v 1.7 2002/05/10 09:26:30 obrien Exp $
+# $FreeBSD: src/sys/boot/arc/loader/Makefile,v 1.8 2004/12/21 08:47:12 ru Exp $
BASE= loader
PROG= ${BASE}.exe
-NOMAN=
+NO_MAN=
NEWVERSWHAT= "ARC disk boot" ${MACHINE_ARCH}
.PATH: ${.CURDIR}/../common
==== //depot/projects/nsched/sys/boot/i386/boot0/Makefile#4 (text+ko) ====
@@ -1,9 +1,9 @@
-# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.30 2004/08/27 00:18:03 obrien Exp $
+# $FreeBSD: src/sys/boot/i386/boot0/Makefile,v 1.31 2004/12/21 08:47:13 ru Exp $
PROG?= boot0
STRIP=
BINMODE=${NOBINMODE}
-NOMAN=
+NO_MAN=
SRCS= ${PROG}.S
# The default set of flags compiled into boot0. This enables update (writing
==== //depot/projects/nsched/sys/boot/i386/btx/btx/Makefile#3 (text+ko) ====
@@ -1,8 +1,8 @@
-# $FreeBSD: src/sys/boot/i386/btx/btx/Makefile,v 1.18 2004/04/27 19:45:15 ru Exp $
+# $FreeBSD: src/sys/boot/i386/btx/btx/Makefile,v 1.19 2004/12/21 08:47:13 ru Exp $
PROG= btx
INTERNALPROG=
-NOMAN=
+NO_MAN=
SRCS= btx.S
.if defined(PAGING)
==== //depot/projects/nsched/sys/boot/i386/btx/btxldr/Makefile#3 (text+ko) ====
@@ -1,8 +1,8 @@
-# $FreeBSD: src/sys/boot/i386/btx/btxldr/Makefile,v 1.17 2004/04/27 19:45:16 ru Exp $
+# $FreeBSD: src/sys/boot/i386/btx/btxldr/Makefile,v 1.18 2004/12/21 08:47:13 ru Exp $
PROG= btxldr
INTERNALPROG=
-NOMAN=
+NO_MAN=
SRCS= btxldr.S
CFLAGS+=-DLOADER_ADDRESS=${LOADER_ADDRESS}
==== //depot/projects/nsched/sys/boot/i386/btx/lib/Makefile#2 (text+ko) ====
@@ -1,8 +1,8 @@
-# $FreeBSD: src/sys/boot/i386/btx/lib/Makefile,v 1.12 2004/02/09 14:11:57 ru Exp $
+# $FreeBSD: src/sys/boot/i386/btx/lib/Makefile,v 1.13 2004/12/21 08:47:14 ru Exp $
PROG= crt0.o
INTERNALPROG=
-NOMAN=
+NO_MAN=
SRCS= btxcsu.s btxsys.s btxv86.s
LDFLAGS=-Wl,-r
==== //depot/projects/nsched/sys/boot/i386/cdboot/Makefile#3 (text+ko) ====
@@ -1,9 +1,9 @@
-# $FreeBSD: src/sys/boot/i386/cdboot/Makefile,v 1.12 2004/04/28 21:31:20 ru Exp $
+# $FreeBSD: src/sys/boot/i386/cdboot/Makefile,v 1.13 2004/12/21 08:47:14 ru Exp $
PROG= cdboot
STRIP=
BINMODE=${NOBINMODE}
-NOMAN=
+NO_MAN=
SRCS= ${PROG}.s
ORG= 0x7c00
==== //depot/projects/nsched/sys/boot/i386/kgzldr/Makefile#2 (text+ko) ====
@@ -1,15 +1,15 @@
-# $FreeBSD: src/sys/boot/i386/kgzldr/Makefile,v 1.20 2004/02/12 22:06:33 ru Exp $
+# $FreeBSD: src/sys/boot/i386/kgzldr/Makefile,v 1.22 2004/12/21 09:59:44 ru Exp $
PROG= kgzldr.o
STRIP=
BINMODE=${LIBMODE}
BINDIR= ${LIBDIR}
-NOMAN=
+NO_MAN=
SRCS= start.s boot.c inflate.c lib.c crt.s sio.s
CFLAGS= -Os
CFLAGS+=-DKZIP
-NOSHARED=
+NO_SHARED=
LDFLAGS=-Wl,-r
.PATH: ${.CURDIR}/../../../kern
==== //depot/projects/nsched/sys/boot/i386/loader/Makefile#3 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.78 2004/11/29 09:31:04 ru Exp $
+# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.79 2004/12/21 12:32:14 ru Exp $
PROG= loader.sym
INTERNALPROG=
@@ -18,7 +18,7 @@
HAVE_PNP= yes
HAVE_ISABUS= yes
-.if !defined(NOFORTH)
+.if !defined(NO_FORTH)
# Enable BootForth
BOOT_FORTH= yes
CFLAGS+= -DBOOT_FORTH -I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/i386
==== //depot/projects/nsched/sys/boot/i386/mbr/Makefile#4 (text+ko) ====
@@ -1,9 +1,9 @@
-# $FreeBSD: src/sys/boot/i386/mbr/Makefile,v 1.14 2004/08/28 08:39:35 yar Exp $
+# $FreeBSD: src/sys/boot/i386/mbr/Makefile,v 1.15 2004/12/21 08:47:15 ru Exp $
PROG= mbr
STRIP=
BINMODE=${NOBINMODE}
-NOMAN=
+NO_MAN=
SRCS= ${PROG}.s
# MBR flags: 0x80 -- try packet interface (also known as EDD or LBA)
==== //depot/projects/nsched/sys/boot/ia64/efi/Makefile#2 (text+ko) ====
@@ -1,9 +1,9 @@
-# $FreeBSD: src/sys/boot/ia64/efi/Makefile,v 1.24 2004/11/28 00:26:11 marcel Exp $
+# $FreeBSD: src/sys/boot/ia64/efi/Makefile,v 1.26 2004/12/21 12:32:14 ru Exp $
PROG= loader.sym
INTERNALPROG=
SRCS= conf.c dev_net.c efimd.c main.c start.S vers.c
-NOMAN=
+NO_MAN=
CFLAGS+= -DLOADER
CFLAGS+= -I${.CURDIR}/../../efi/include
@@ -11,7 +11,7 @@
CFLAGS+= -I${.CURDIR}/../../efi/libefi
CFLAGS+= -I${.CURDIR}/../../../../lib/libstand
-.if !defined(NOFORTH)
+.if !defined(NO_FORTH)
BOOT_FORTH= yes
CFLAGS+= -DBOOT_FORTH
CFLAGS+= -I${.CURDIR}/../../ficl
==== //depot/projects/nsched/sys/boot/ia64/ski/Makefile#2 (text+ko) ====
@@ -1,7 +1,7 @@
-# $FreeBSD: src/sys/boot/ia64/ski/Makefile,v 1.16 2004/09/24 04:06:22 marcel Exp $
+# $FreeBSD: src/sys/boot/ia64/ski/Makefile,v 1.18 2004/12/21 12:32:14 ru Exp $
PROG= skiload
-NOMAN=
+NO_MAN=
NEWVERSWHAT= "ia64 SKI boot" ${MACHINE_ARCH}
STRIP= # We must not strip skiload at install time.
@@ -16,7 +16,7 @@
CFLAGS+= -I${.CURDIR}/../../efi/include/${MACHINE_ARCH}
LDFLAGS= -Wl,-T${.CURDIR}/ldscript.ia64
-.if !defined(NOFORTH)
+.if !defined(NO_FORTH)
CFLAGS+= -DBOOT_FORTH
CFLAGS+= -I${.CURDIR}/../../ficl
CFLAGS+= -I${.CURDIR}/../../ficl/${MACHINE_ARCH}
==== //depot/projects/nsched/sys/boot/pc98/boot0.5/Makefile#2 (text+ko) ====
@@ -1,9 +1,9 @@
-# $FreeBSD: src/sys/boot/pc98/boot0.5/Makefile,v 1.3 2004/02/09 16:01:45 nyan Exp $
+# $FreeBSD: src/sys/boot/pc98/boot0.5/Makefile,v 1.4 2004/12/21 08:47:16 ru Exp $
PROG= ${BOOT}.out
INTERNALPROG=
FILES= ${BOOT}
-NOMAN=
+NO_MAN=
SRCS= start.s boot.s boot0.5.s disk.s selector.s support.s syscons.s
CLEANFILES= ${BOOT} ${BOOT}.bin
==== //depot/projects/nsched/sys/boot/pc98/boot0/Makefile#2 (text+ko) ====
@@ -1,9 +1,9 @@
-# $FreeBSD: src/sys/boot/pc98/boot0/Makefile,v 1.3 2004/02/09 16:01:45 nyan Exp $
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list