PERFORCE change 28928 for review
John Baldwin
jhb at FreeBSD.org
Mon Apr 14 08:28:34 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=28928
Change 28928 by jhb at jhb_laptop on 2003/04/14 08:28:28
IFC @28927.
Affected files ...
.. //depot/projects/smpng/sys/alpha/alpha/busdma_machdep.c#14 integrate
.. //depot/projects/smpng/sys/alpha/alpha/pmap.c#44 integrate
.. //depot/projects/smpng/sys/alpha/include/bus.h#8 integrate
.. //depot/projects/smpng/sys/alpha/include/pmap.h#15 integrate
.. //depot/projects/smpng/sys/alpha/isa/isa.c#8 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#36 integrate
.. //depot/projects/smpng/sys/conf/NOTES#41 integrate
.. //depot/projects/smpng/sys/conf/files#71 integrate
.. //depot/projects/smpng/sys/conf/files.i386#38 integrate
.. //depot/projects/smpng/sys/conf/files.ia64#25 integrate
.. //depot/projects/smpng/sys/conf/options#50 integrate
.. //depot/projects/smpng/sys/conf/options.i386#26 integrate
.. //depot/projects/smpng/sys/conf/options.ia64#13 integrate
.. //depot/projects/smpng/sys/conf/options.pc98#27 integrate
.. //depot/projects/smpng/sys/conf/options.powerpc#7 integrate
.. //depot/projects/smpng/sys/conf/options.x86_64#5 integrate
.. //depot/projects/smpng/sys/ddb/db_ps.c#18 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi.c#41 integrate
.. //depot/projects/smpng/sys/dev/adlink/adlink.c#2 integrate
.. //depot/projects/smpng/sys/dev/advansys/advansys.c#4 integrate
.. //depot/projects/smpng/sys/dev/advansys/adwcam.c#4 integrate
.. //depot/projects/smpng/sys/dev/aha/aha.c#7 integrate
.. //depot/projects/smpng/sys/dev/ahb/ahb.c#5 integrate
.. //depot/projects/smpng/sys/dev/aic/aic_pccard.c#5 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx_osm.c#7 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx_osm.c#7 integrate
.. //depot/projects/smpng/sys/dev/amd/amd.c#2 integrate
.. //depot/projects/smpng/sys/dev/an/if_an.c#29 integrate
.. //depot/projects/smpng/sys/dev/an/if_an_isa.c#7 integrate
.. //depot/projects/smpng/sys/dev/an/if_an_pccard.c#8 integrate
.. //depot/projects/smpng/sys/dev/an/if_an_pci.c#11 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#8 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-pci.h#5 integrate
.. //depot/projects/smpng/sys/dev/awi/if_awi_pccard.c#6 integrate
.. //depot/projects/smpng/sys/dev/buslogic/bt.c#7 integrate
.. //depot/projects/smpng/sys/dev/ccd/ccd.c#24 integrate
.. //depot/projects/smpng/sys/dev/cs/if_cs_pccard.c#4 integrate
.. //depot/projects/smpng/sys/dev/dpt/dpt_scsi.c#5 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed_pccard.c#14 integrate
.. //depot/projects/smpng/sys/dev/ep/if_ep_pccard.c#7 integrate
.. //depot/projects/smpng/sys/dev/fe/if_fe_pccard.c#6 integrate
.. //depot/projects/smpng/sys/dev/firewire/sbp.c#12 integrate
.. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#29 integrate
.. //depot/projects/smpng/sys/dev/ida/ida.c#9 integrate
.. //depot/projects/smpng/sys/dev/iir/iir.c#5 integrate
.. //depot/projects/smpng/sys/dev/md/md.c#34 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpt_freebsd.c#5 integrate
.. //depot/projects/smpng/sys/dev/ncv/ncr53c500_pccard.c#9 integrate
.. //depot/projects/smpng/sys/dev/pccard/pccard.c#20 integrate
.. //depot/projects/smpng/sys/dev/pccard/pccarddevs#22 integrate
.. //depot/projects/smpng/sys/dev/pccard/pccarddevs.h#22 integrate
.. //depot/projects/smpng/sys/dev/pccard/pccardvar.h#12 integrate
.. //depot/projects/smpng/sys/dev/sbsh/if_sbsh.c#1 branch
.. //depot/projects/smpng/sys/dev/sbsh/if_sbshreg.h#1 branch
.. //depot/projects/smpng/sys/dev/sn/if_sn_pccard.c#6 integrate
.. //depot/projects/smpng/sys/dev/stg/tmc18c30_pccard.c#9 integrate
.. //depot/projects/smpng/sys/dev/sym/sym_hipd.c#11 integrate
.. //depot/projects/smpng/sys/dev/trm/trm.c#5 integrate
.. //depot/projects/smpng/sys/dev/usb/FILES#4 integrate
.. //depot/projects/smpng/sys/dev/usb/ehci.c#1 branch
.. //depot/projects/smpng/sys/dev/usb/ehci_pci.c#1 branch
.. //depot/projects/smpng/sys/dev/usb/ehcireg.h#1 branch
.. //depot/projects/smpng/sys/dev/usb/ehcivar.h#1 branch
.. //depot/projects/smpng/sys/dev/usb/uhid.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/umass.c#22 integrate
.. //depot/projects/smpng/sys/dev/usb/usb.c#19 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_quirks.c#5 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#28 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs.h#29 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs_data.h#29 integrate
.. //depot/projects/smpng/sys/dev/wi/if_wi.c#49 integrate
.. //depot/projects/smpng/sys/dev/wi/if_wi_pccard.c#14 integrate
.. //depot/projects/smpng/sys/dev/xe/if_xe_pccard.c#6 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_denode.c#11 integrate
.. //depot/projects/smpng/sys/geom/geom.h#24 integrate
.. //depot/projects/smpng/sys/geom/geom_aes.c#9 integrate
.. //depot/projects/smpng/sys/geom/geom_apple.c#4 integrate
.. //depot/projects/smpng/sys/geom/geom_bsd.c#25 integrate
.. //depot/projects/smpng/sys/geom/geom_dump.c#17 integrate
.. //depot/projects/smpng/sys/geom/geom_event.c#15 integrate
.. //depot/projects/smpng/sys/geom/geom_gpt.c#10 integrate
.. //depot/projects/smpng/sys/geom/geom_io.c#18 integrate
.. //depot/projects/smpng/sys/geom/geom_mbr.c#18 integrate
.. //depot/projects/smpng/sys/geom/geom_mbr_enc.c#1 branch
.. //depot/projects/smpng/sys/geom/geom_mirror.c#3 integrate
.. //depot/projects/smpng/sys/geom/geom_pc98.c#16 integrate
.. //depot/projects/smpng/sys/geom/geom_slice.c#17 integrate
.. //depot/projects/smpng/sys/geom/geom_slice.h#10 integrate
.. //depot/projects/smpng/sys/geom/geom_subr.c#23 integrate
.. //depot/projects/smpng/sys/geom/geom_sunlabel.c#17 integrate
.. //depot/projects/smpng/sys/geom/geom_vol_ffs.c#3 integrate
.. //depot/projects/smpng/sys/i386/conf/NOTES#55 integrate
.. //depot/projects/smpng/sys/i386/conf/PAE#2 integrate
.. //depot/projects/smpng/sys/i386/i386/busdma_machdep.c#15 integrate
.. //depot/projects/smpng/sys/i386/i386/genassym.c#21 integrate
.. //depot/projects/smpng/sys/i386/i386/identcpu.c#19 integrate
.. //depot/projects/smpng/sys/i386/i386/sys_machdep.c#26 integrate
.. //depot/projects/smpng/sys/i386/i386/tsc.c#4 integrate
.. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#33 integrate
.. //depot/projects/smpng/sys/i386/include/bus_dma.h#4 integrate
.. //depot/projects/smpng/sys/ia64/ia32/syscalls.master#9 integrate
.. //depot/projects/smpng/sys/ia64/ia64/busdma_machdep.c#14 integrate
.. //depot/projects/smpng/sys/ia64/include/bus.h#7 integrate
.. //depot/projects/smpng/sys/kern/init_main.c#32 integrate
.. //depot/projects/smpng/sys/kern/init_sysent.c#28 integrate
.. //depot/projects/smpng/sys/kern/kern_clock.c#25 integrate
.. //depot/projects/smpng/sys/kern/kern_conf.c#19 integrate
.. //depot/projects/smpng/sys/kern/kern_event.c#18 integrate
.. //depot/projects/smpng/sys/kern/kern_exit.c#60 integrate
.. //depot/projects/smpng/sys/kern/kern_fork.c#55 integrate
.. //depot/projects/smpng/sys/kern/kern_jail.c#25 integrate
.. //depot/projects/smpng/sys/kern/kern_mutex.c#67 integrate
.. //depot/projects/smpng/sys/kern/kern_proc.c#48 integrate
.. //depot/projects/smpng/sys/kern/kern_resource.c#33 integrate
.. //depot/projects/smpng/sys/kern/kern_sig.c#57 integrate
.. //depot/projects/smpng/sys/kern/kern_thr.c#4 integrate
.. //depot/projects/smpng/sys/kern/kern_thread.c#24 integrate
.. //depot/projects/smpng/sys/kern/sched_4bsd.c#7 integrate
.. //depot/projects/smpng/sys/kern/sched_ule.c#5 integrate
.. //depot/projects/smpng/sys/kern/subr_smp.c#18 integrate
.. //depot/projects/smpng/sys/kern/subr_witness.c#97 integrate
.. //depot/projects/smpng/sys/kern/syscalls.c#28 integrate
.. //depot/projects/smpng/sys/kern/syscalls.master#27 integrate
.. //depot/projects/smpng/sys/kern/sysv_shm.c#15 integrate
.. //depot/projects/smpng/sys/kern/uipc_cow.c#11 integrate
.. //depot/projects/smpng/sys/kern/uipc_socket.c#35 integrate
.. //depot/projects/smpng/sys/kern/vfs_bio.c#42 integrate
.. //depot/projects/smpng/sys/kern/vfs_subr.c#47 integrate
.. //depot/projects/smpng/sys/kern/vfs_syscalls.c#53 integrate
.. //depot/projects/smpng/sys/modules/Makefile#48 integrate
.. //depot/projects/smpng/sys/modules/sbsh/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/usb/Makefile#3 integrate
.. //depot/projects/smpng/sys/net/route.c#11 integrate
.. //depot/projects/smpng/sys/netinet/ip_output.c#36 integrate
.. //depot/projects/smpng/sys/netinet/tcp_subr.c#30 integrate
.. //depot/projects/smpng/sys/pci/if_vr.c#13 integrate
.. //depot/projects/smpng/sys/pci/if_xl.c#23 integrate
.. //depot/projects/smpng/sys/powerpc/include/bus.h#8 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/busdma_machdep.c#9 integrate
.. //depot/projects/smpng/sys/sparc64/conf/GENERIC#27 integrate
.. //depot/projects/smpng/sys/sparc64/include/bus.h#13 integrate
.. //depot/projects/smpng/sys/sparc64/include/iommuvar.h#9 integrate
.. //depot/projects/smpng/sys/sparc64/include/pmap.h#23 integrate
.. //depot/projects/smpng/sys/sparc64/include/tlb.h#16 integrate
.. //depot/projects/smpng/sys/sparc64/pci/psycho.c#19 integrate
.. //depot/projects/smpng/sys/sparc64/sbus/sbus.c#8 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/bus_machdep.c#15 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/cache.c#11 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/cheetah.c#3 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/iommu.c#14 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#47 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#37 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/spitfire.c#3 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/swtch.S#5 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/tlb.c#7 integrate
.. //depot/projects/smpng/sys/sys/bio.h#15 integrate
.. //depot/projects/smpng/sys/sys/diskmbr.h#5 integrate
.. //depot/projects/smpng/sys/sys/jail.h#7 integrate
.. //depot/projects/smpng/sys/sys/mbuf.h#21 integrate
.. //depot/projects/smpng/sys/sys/mdioctl.h#6 integrate
.. //depot/projects/smpng/sys/sys/param.h#37 integrate
.. //depot/projects/smpng/sys/sys/proc.h#77 integrate
.. //depot/projects/smpng/sys/sys/sched.h#3 integrate
.. //depot/projects/smpng/sys/sys/syscall.h#28 integrate
.. //depot/projects/smpng/sys/sys/syscall.mk#28 integrate
.. //depot/projects/smpng/sys/sys/sysproto.h#30 integrate
.. //depot/projects/smpng/sys/sys/timetc.h#11 integrate
.. //depot/projects/smpng/sys/sys/vnode.h#31 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_snapshot.c#26 integrate
.. //depot/projects/smpng/sys/vm/pmap.h#17 integrate
.. //depot/projects/smpng/sys/vm/vm_contig.c#12 integrate
.. //depot/projects/smpng/sys/vm/vm_kern.c#11 integrate
.. //depot/projects/smpng/sys/vm/vm_map.c#32 integrate
.. //depot/projects/smpng/sys/vm/vm_meter.c#14 integrate
.. //depot/projects/smpng/sys/vm/vm_object.c#29 integrate
.. //depot/projects/smpng/sys/vm/vm_object.h#15 integrate
.. //depot/projects/smpng/sys/vm/vm_page.c#34 integrate
Differences ...
==== //depot/projects/smpng/sys/alpha/alpha/busdma_machdep.c#14 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.34 2003/04/08 14:25:44 des Exp $
+ * $FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.35 2003/04/10 23:03:32 mux Exp $
*/
#include <sys/param.h>
@@ -787,7 +787,7 @@
}
void
-_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op)
+_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, int op)
{
struct bounce_page *bpage;
@@ -798,28 +798,22 @@
* want to add support for invalidating
* the caches on broken hardware
*/
- switch (op) {
- case BUS_DMASYNC_PREWRITE:
+ if (op & BUS_DMASYNC_PREWRITE) {
while (bpage != NULL) {
bcopy((void *)bpage->datavaddr,
(void *)bpage->vaddr,
bpage->datacount);
bpage = STAILQ_NEXT(bpage, links);
}
- break;
+ }
- case BUS_DMASYNC_POSTREAD:
+ if (op & BUS_DMASYNC_POSTREAD) {
while (bpage != NULL) {
bcopy((void *)bpage->vaddr,
(void *)bpage->datavaddr,
bpage->datacount);
bpage = STAILQ_NEXT(bpage, links);
}
- break;
- case BUS_DMASYNC_PREREAD:
- case BUS_DMASYNC_POSTWRITE:
- /* No-ops */
- break;
}
}
}
==== //depot/projects/smpng/sys/alpha/alpha/pmap.c#44 (text+ko) ====
@@ -43,7 +43,7 @@
* from: @(#)pmap.c 7.7 (Berkeley) 5/12/91
* from: i386 Id: pmap.c,v 1.193 1998/04/19 15:22:48 bde Exp
* with some ideas from NetBSD's alpha pmap
- * $FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.121 2003/02/25 03:21:18 mux Exp $
+ * $FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.122 2003/04/10 18:42:06 jhb Exp $
*/
/*
==== //depot/projects/smpng/sys/alpha/include/bus.h#8 (text+ko) ====
@@ -67,7 +67,7 @@
* (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/alpha/include/bus.h,v 1.17 2003/02/26 02:16:05 mux Exp $ */
+/* $FreeBSD: src/sys/alpha/include/bus.h,v 1.18 2003/04/10 23:03:32 mux Exp $ */
#ifndef _ALPHA_BUS_H_
#define _ALPHA_BUS_H_
@@ -480,16 +480,12 @@
struct uio;
/*
- * bus_dmasync_op_t
- *
* Operations performed by bus_dmamap_sync().
*/
-typedef enum {
- BUS_DMASYNC_PREREAD,
- BUS_DMASYNC_POSTREAD,
- BUS_DMASYNC_PREWRITE,
- BUS_DMASYNC_POSTWRITE
-} bus_dmasync_op_t;
+#define BUS_DMASYNC_PREREAD 1
+#define BUS_DMASYNC_POSTREAD 2
+#define BUS_DMASYNC_PREWRITE 4
+#define BUS_DMASYNC_POSTWRITE 8
/*
* bus_dma_tag_t
@@ -625,7 +621,7 @@
/*
* Perform a syncronization operation on the given map.
*/
-void _bus_dmamap_sync(bus_dma_tag_t, bus_dmamap_t, bus_dmasync_op_t);
+void _bus_dmamap_sync(bus_dma_tag_t, bus_dmamap_t, int);
#define bus_dmamap_sync(dmat, dmamap, op) \
if ((dmamap) != NULL) \
_bus_dmamap_sync(dmat, dmamap, op)
==== //depot/projects/smpng/sys/alpha/include/pmap.h#15 (text+ko) ====
@@ -43,7 +43,7 @@
* from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90
* from: @(#)pmap.h 7.4 (Berkeley) 5/12/91
* from: i386 pmap.h,v 1.54 1997/11/20 19:30:35 bde Exp
- * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.22 2003/03/29 18:22:29 gallatin Exp $
+ * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.23 2003/04/10 18:42:06 jhb Exp $
*/
#ifndef _MACHINE_PMAP_H_
==== //depot/projects/smpng/sys/alpha/isa/isa.c#8 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/alpha/isa/isa.c,v 1.29 2002/02/08 18:30:36 jhb Exp $
+ * $FreeBSD: src/sys/alpha/isa/isa.c,v 1.31 2003/04/11 13:30:32 gallatin Exp $
*/
#include <sys/param.h>
@@ -389,17 +389,31 @@
struct resource *irq, void *cookie)
{
struct isa_intr *ii = cookie;
+ struct intrhand *ih, *handler = (struct intrhand *)ii->ih;
+ struct ithd *ithread = handler->ih_ithread;
+ int num_handlers = 0;
+
+ mtx_lock(&ithread->it_lock);
+ TAILQ_FOREACH(ih, &ithread->it_handlers, ih_next)
+ num_handlers++;
+ mtx_unlock(&ithread->it_lock);
+
+ /*
+ * Only disable the interrupt in hardware if there are no
+ * other handlers sharing it.
+ */
- mtx_lock_spin(&icu_lock);
- isa_intr_disable(irq->r_start);
- mtx_unlock_spin(&icu_lock);
+ if (num_handlers == 1) {
+ mtx_lock_spin(&icu_lock);
+ isa_intr_disable(irq->r_start);
+ mtx_unlock_spin(&icu_lock);
+ if (platform.isa_teardown_intr) {
+ platform.isa_teardown_intr(dev, child, irq,
+ cookie);
+ return 0;
+ }
- if (platform.isa_teardown_intr) {
- platform.isa_teardown_intr(dev, child, irq, cookie);
- return 0;
}
-
alpha_teardown_intr(ii->ih);
-
return 0;
}
==== //depot/projects/smpng/sys/cam/scsi/scsi_da.c#36 (text+ko) ====
@@ -25,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.136 2003/04/01 15:06:21 phk Exp $
+ * $FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.137 2003/04/12 08:44:54 phk Exp $
*/
#ifdef _KERNEL
@@ -763,37 +763,6 @@
return;
}
-/* For 2.2-stable support */
-#ifndef ENOIOCTL
-#define ENOIOCTL -1
-#endif
-
-static int
-daioctl(struct disk *dp, u_long cmd, void *addr, int flag, struct thread *td)
-{
- struct cam_periph *periph;
- struct da_softc *softc;
- int error;
-
- periph = (struct cam_periph *)dp->d_drv1;
- if (periph == NULL)
- return (ENXIO);
-
- softc = (struct da_softc *)periph->softc;
-
- CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("daioctl\n"));
-
- if ((error = cam_periph_lock(periph, PRIBIO|PCATCH)) != 0) {
- return (error); /* error code from tsleep */
- }
-
- error = cam_periph_ioctl(periph, cmd, addr, daerror);
-
- cam_periph_unlock(periph);
-
- return (error);
-}
-
static int
dadump(void *arg, void *virtual, vm_offset_t physical, off_t offset, size_t length)
{
@@ -1205,7 +1174,6 @@
softc->disk.d_open = daopen;
softc->disk.d_close = daclose;
softc->disk.d_strategy = dastrategy;
- softc->disk.d_ioctl = daioctl;
softc->disk.d_dump = dadump;
softc->disk.d_name = "da";
softc->disk.d_drv1 = periph;
==== //depot/projects/smpng/sys/conf/NOTES#41 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1142 2003/03/29 05:46:34 silby Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1146 2003/04/14 14:04:07 ticso Exp $
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
@@ -568,12 +568,11 @@
options PFIL_HOOKS
options TCPDEBUG
-# MBUF_FRAG_TEST option allows you to tell the IP stack to
-# fragment all outgoing packets into mbuf fragments of size
-# net.inet.ip.mbuf_frag_size (bytes). It is used for testing
-# if network drivers can properly handle long chains of mbufs.
-# The sysctl is '0' (no fragmentation) by default.
-options MBUF_FRAG_TEST
+# The MBUF_STRESS_TEST option enables options which create
+# various random failures / extreme cases related to mbuf
+# functions. See the mbuf(9) manpage for a list of available
+# test cases.
+options MBUF_STRESS_TEST
# RANDOM_IP_ID causes the ID field in IP packets to be randomized
# instead of incremented by 1 with each packet generated. This
@@ -1541,6 +1540,7 @@
# card which is 32-bit.
# sis: Support for NICs based on the Silicon Integrated Systems SiS 900,
# SiS 7016 and NS DP83815 PCI fast ethernet controller chips.
+# sbsh: Support for Granch SBNI16 SHDSL modem PCI adapters
# sk: Support for the SysKonnect SK-984x series PCI gigabit ethernet NICs.
# This includes the SK-9841 and SK-9842 single port cards (single mode
# and multimode fiber) and the SK-9843 and SK-9844 dual port cards
@@ -1617,6 +1617,7 @@
device rl # RealTek 8129/8139
device pcn # AMD Am79C97x PCI 10/100 NICs
device sf # Adaptec AIC-6915 (``Starfire'')
+device sbsh # Granch SBNI16 SHDSL modem
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device ste # Sundance ST201 (D-Link DFE-550TX)
device tl # Texas Instruments ThunderLAN
@@ -2039,8 +2040,9 @@
options HW_WDOG
#
-# Disable swapping. This option removes all code which actually performs
-# swapping, so it's not possible to turn it back on at run-time.
+# Disable swapping of upages and stack pages. This option removes all
+# code which actually performs swapping, so it's not possible to turn
+# it back on at run-time.
#
# This is sometimes usable for systems which don't have any swap space
# (see also sysctls "vm.defer_swapspace_pageouts" and
@@ -2072,6 +2074,8 @@
device uhci
# OHCI controller
device ohci
+# EHCI controller
+device ehci
# General USB code (mandatory for USB)
device usb
#
==== //depot/projects/smpng/sys/conf/files#71 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.778 2003/04/07 10:13:25 mdodd Exp $
+# $FreeBSD: src/sys/conf/files,v 1.781 2003/04/14 14:04:07 ticso Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -636,6 +636,7 @@
dev/rp/rp_isa.c optional rp isa
dev/rp/rp_pci.c optional rp pci
dev/sab/sab.c optional sab ebus
+dev/sbsh/if_sbsh.c optional sbsh
dev/scd/scd.c optional scd isa
dev/scd/scd_isa.c optional scd isa
dev/si/si.c optional si
@@ -754,6 +755,8 @@
dev/usb/if_aue.c optional aue
dev/usb/if_cue.c optional cue
dev/usb/if_kue.c optional kue
+dev/usb/ehci.c optional ehci
+dev/usb/ehci_pci.c optional ehci
dev/usb/ohci.c optional ohci
dev/usb/ohci_pci.c optional ohci
dev/usb/ubsa.c optional ubsa ucom
@@ -897,6 +900,7 @@
geom/geom_io.c standard
geom/geom_kern.c standard
geom/geom_mbr.c optional geom_mbr
+geom/geom_mbr_enc.c optional geom_mbr
geom/geom_mirror.c optional geom_mirror
geom/geom_pc98.c optional geom_pc98
geom/geom_slice.c standard
==== //depot/projects/smpng/sys/conf/files.i386#38 (text+ko) ====
@@ -1,7 +1,7 @@
# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
-# $FreeBSD: src/sys/conf/files.i386,v 1.441 2003/03/24 19:40:54 mdodd Exp $
+# $FreeBSD: src/sys/conf/files.i386,v 1.442 2003/04/12 08:34:40 phk Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -148,6 +148,7 @@
dev/syscons/sysmouse.c optional sc
geom/geom_bsd.c standard
geom/geom_mbr.c standard
+geom/geom_mbr_enc.c standard
gnu/i386/fpemul/div_small.s optional gpl_math_emulate \
warning "kernel contains GPL contaminated math emulator"
gnu/i386/fpemul/errors.c optional gpl_math_emulate
==== //depot/projects/smpng/sys/conf/files.ia64#25 (text+ko) ====
@@ -1,7 +1,7 @@
# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
-# $FreeBSD: src/sys/conf/files.ia64,v 1.48 2003/02/28 21:59:13 ru Exp $
+# $FreeBSD: src/sys/conf/files.ia64,v 1.49 2003/04/12 08:34:40 phk Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -95,6 +95,7 @@
geom/geom_bsd.c standard
geom/geom_gpt.c standard
geom/geom_mbr.c standard
+geom/geom_mbr_enc.c standard
isa/atkbd_isa.c optional atkbd
isa/atkbdc_isa.c optional atkbdc
isa/fd.c optional fdc
==== //depot/projects/smpng/sys/conf/options#50 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.385 2003/03/26 23:40:41 tegge Exp $
+# $FreeBSD: src/sys/conf/options,v 1.387 2003/04/12 09:40:37 des Exp $
#
# On the handling of kernel options
#
@@ -72,7 +72,7 @@
# mapped I/O
# Miscellaneous options.
-ALQ opt_alq.h
+ALQ
ADAPTIVE_MUTEXES
COMPAT_43 opt_compat.h
COMPAT_FREEBSD4 opt_compat.h
@@ -153,7 +153,7 @@
# SECURITY POLICY PARAMETERS
# Support for Mandatory Access Control (MAC)
-MAC opt_mac.h
+MAC
MAC_BIBA opt_dontuse.h
MAC_BSDEXTENDED opt_dontuse.h
MAC_DEBUG opt_mac.h
@@ -349,10 +349,10 @@
IPV6FIREWALL_VERBOSE_LIMIT opt_ip6fw.h
IPV6FIREWALL_DEFAULT_TO_ACCEPT opt_ip6fw.h
IPSTEALTH
-IPX opt_ipx.h
+IPX
IPXIP opt_ipx.h
LIBMCHAIN
-NCP opt_ncp.h
+NCP
NETATALK opt_atalk.h
PPP_BSDCOMP opt_ppp.h
PPP_DEFLATE opt_ppp.h
@@ -362,7 +362,7 @@
TCPDEBUG
TCP_DROP_SYNFIN opt_tcp_input.h
XBONEHACK
-MBUF_FRAG_TEST opt_mbuf_frag_test.h
+MBUF_STRESS_TEST opt_mbuf_stress_test.h
# Netgraph(4). Use option NETGRAPH to enable the base netgraph code.
# Each netgraph node type can be either be compiled into the kernel
@@ -417,7 +417,7 @@
# XXX Conflict: # of devices vs network protocol (Native ATM).
# This makes "atm.h" unusable.
-NATM opt_natm.h
+NATM
DPT_ALLOW_MEMIO opt_dpt.h # Allow PCI devices to use memory
# mapped I/O
==== //depot/projects/smpng/sys/conf/options.i386#26 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.i386,v 1.189 2003/04/04 23:54:46 tegge Exp $
+# $FreeBSD: src/sys/conf/options.i386,v 1.191 2003/04/12 09:40:37 des Exp $
# Options specific to the i386 platform kernels
MATH_EMULATE opt_math_emulate.h
@@ -41,7 +41,6 @@
CLK_CALIBRATION_LOOP opt_clock.h
CLK_USE_I8254_CALIBRATION opt_clock.h
CLK_USE_TSC_CALIBRATION opt_clock.h
-SMP_TSC opt_clock.h
TIMER_FREQ opt_clock.h
NO_F00F_HACK opt_cpu.h
@@ -110,7 +109,7 @@
VGA_SLOW_IOACCESS opt_vga.h
VGA_WIDTH90 opt_vga.h
-VESA opt_vesa.h
+VESA
VESA_DEBUG opt_vesa.h
PSM_HOOKRESUME opt_psm.h
==== //depot/projects/smpng/sys/conf/options.ia64#13 (text+ko) ====
@@ -1,10 +1,10 @@
-# $FreeBSD: src/sys/conf/options.ia64,v 1.16 2002/11/24 19:50:15 marcel Exp $
+# $FreeBSD: src/sys/conf/options.ia64,v 1.17 2003/04/12 09:40:37 des Exp $
# Options specific to the ia64 platform kernels
ITANIUM opt_global.h
ITANIUM2 opt_global.h
-IA32 opt_ia32.h
+IA32
PAGE_SIZE_4K opt_global.h
PAGE_SIZE_8K opt_global.h
==== //depot/projects/smpng/sys/conf/options.pc98#27 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.pc98,v 1.161 2003/04/03 12:39:51 nyan Exp $
+# $FreeBSD: src/sys/conf/options.pc98,v 1.162 2003/04/12 09:40:37 des Exp $
# Options specific to the pc98 platform kernels
MATH_EMULATE opt_math_emulate.h
@@ -94,7 +94,7 @@
SC_TWOBUTTON_MOUSE opt_syscons.h
SC_NO_SUSPEND_VTYSWITCH opt_syscons.h
-GDC opt_gdc.h
+GDC
KBD_DISABLE_KEYMAP_LOAD opt_kbd.h
KBD_INSTALL_CDEV opt_kbd.h
==== //depot/projects/smpng/sys/conf/options.powerpc#7 (text+ko) ====
@@ -1,8 +1,8 @@
-# $FreeBSD: src/sys/conf/options.powerpc,v 1.6 2003/02/05 11:37:58 benno Exp $
+# $FreeBSD: src/sys/conf/options.powerpc,v 1.7 2003/04/12 09:40:37 des Exp $
# Options specific to the powerpc platform kernels
OEA opt_global.h
-IPKDB opt_ipkdb.h
+IPKDB
POWERMAC opt_platform.h
-PSIM opt_psim.h
+PSIM
==== //depot/projects/smpng/sys/conf/options.x86_64#5 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.x86_64,v 1.4 2002/11/18 06:17:07 jmallett Exp $
+# $FreeBSD: src/sys/conf/options.x86_64,v 1.5 2003/04/12 09:40:37 des Exp $
# Options specific to the AMD x86-64 platform kernels
MAXMEM
@@ -40,7 +40,7 @@
VGA_SLOW_IOACCESS opt_vga.h
VGA_WIDTH90 opt_vga.h
-VESA opt_vesa.h
+VESA
VESA_DEBUG opt_vesa.h
ATKBD_DFLT_KEYMAP opt_atkbd.h
==== //depot/projects/smpng/sys/ddb/db_ps.c#18 (text+ko) ====
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/ddb/db_ps.c,v 1.40 2003/02/27 02:05:16 julian Exp $
+ * $FreeBSD: src/sys/ddb/db_ps.c,v 1.41 2003/04/10 17:35:43 julian Exp $
*/
#include <sys/param.h>
#include <sys/systm.h>
@@ -178,7 +178,7 @@
db_printf("[RUNQ]");
break;
case TDS_RUNNING:
- db_printf("[CPU %d]", td->td_kse->ke_oncpu);
+ db_printf("[CPU %d]", td->td_oncpu);
break;
default:
panic("unknown thread state");
==== //depot/projects/smpng/sys/dev/acpica/acpi.c#41 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.87 2003/03/06 14:40:15 takawata Exp $
+ * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.88 2003/04/11 16:53:56 iwasaki Exp $
*/
#include "opt_acpi.h"
@@ -120,6 +120,7 @@
static void acpi_system_eventhandler_sleep(void *arg, int state);
static void acpi_system_eventhandler_wakeup(void *arg, int state);
+static int acpi_supported_sleep_state_sysctl(SYSCTL_HANDLER_ARGS);
static int acpi_sleep_state_sysctl(SYSCTL_HANDLER_ARGS);
static int acpi_pm_func(u_long cmd, void *arg, ...);
@@ -398,6 +399,9 @@
SYSCTL_STATIC_CHILDREN(_hw), OID_AUTO,
device_get_name(dev), CTLFLAG_RD, 0, "");
SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
+ OID_AUTO, "supported_sleep_state", CTLTYPE_STRING | CTLFLAG_RD,
+ 0, 0, acpi_supported_sleep_state_sysctl, "A", "");
+ SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
OID_AUTO, "power_button_state", CTLTYPE_STRING | CTLFLAG_RW,
&sc->acpi_power_button_sx, 0, acpi_sleep_state_sysctl, "A", "");
SYSCTL_ADD_PROC(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
@@ -1914,6 +1918,25 @@
}
static int
+acpi_supported_sleep_state_sysctl(SYSCTL_HANDLER_ARGS)
+{
+ char sleep_state[4];
+ char buf[16];
+ int error;
+ UINT8 state, TypeA, TypeB;
+
+ buf[0] = '\0';
+ for (state = ACPI_STATE_S1; state < ACPI_S_STATES_MAX+1; state++) {
+ if (ACPI_SUCCESS(AcpiGetSleepTypeData(state, &TypeA, &TypeB))) {
+ sprintf(sleep_state, "S%d ", state);
+ strcat(buf, sleep_state);
+ }
+ }
+ error = sysctl_handle_string(oidp, buf, sizeof(buf), req);
+ return(error);
+}
+
+static int
acpi_sleep_state_sysctl(SYSCTL_HANDLER_ARGS)
{
char sleep_state[10];
==== //depot/projects/smpng/sys/dev/adlink/adlink.c#2 (text+ko) ====
@@ -26,13 +26,15 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/adlink/adlink.c,v 1.1 2003/04/04 18:53:04 phk Exp $
+ * $FreeBSD: src/sys/dev/adlink/adlink.c,v 1.2 2003/04/08 19:12:48 phk Exp $
*/
+#ifdef _KERNEL
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/malloc.h>
#include <sys/kernel.h>
+#include <sys/kthread.h>
#include <sys/conf.h>
#include <sys/bus.h>
#include <machine/bus.h>
@@ -44,17 +46,54 @@
#include <vm/vm.h>
#include <vm/pmap.h>
+#endif /* _KERNEL */
+
+#include <sys/ioccom.h>
+
+struct wave {
+ int index;
+ int period;
+ int offset;
+ int length;
+ int avg;
+ off_t mapvir;
+ int flags;
+
+ int npages;
+ void **virtual;
+};
+
+#define ADLINK_SETWAVE _IOWR('A', 232, struct wave)
+#define ADLINK_GETWAVE _IOWR('A', 233, struct wave)
+
+#ifdef _KERNEL
+
+#define INTPERPAGE (PAGE_SIZE / sizeof(int))
+#define I16PERPAGE (PAGE_SIZE / sizeof(int16_t))
+
/*
- * We sample one channel (= 16 bits) at 1 msps giving 2Mbyte/sec,
- * 50 pages will give us about 1/10 second buffering.
+ * Sample rate
+ */
+#define SPS 1250000
+
+/*
+ * We sample one channel (= 16 bits) at 1.25 msps giving 2.5Mbyte/sec,
+ * 100 pages will give us about 1/6 second buffering.
*/
-#define NRING 50
+#define NRING 100
-#define IN4(sc, offset) bus_space_read_4(sc->t_io, sc->h_io, offset)
+/*
+ * How many waves are we willing to entertain
+ */
+#define NWAVE 25
struct info {
int nring;
off_t o_ring;
+
+ int ngri;
+ int ppgri;
+ off_t o_gri;
};
struct softc {
@@ -64,21 +103,145 @@
bus_space_tag_t t0, t1;
bus_space_handle_t h0, h1;
dev_t dev;
+ off_t mapvir;
+ struct proc *procp;
+
struct info *info;
+ struct wave *wave[NWAVE];
+
int idx;
void *ring[NRING];
- vm_paddr_t phys[NRING];
+ vm_paddr_t pring[NRING];
int stat[NRING];
+
+ uint64_t cnt;
+
+ u_char flags[I16PERPAGE];
};
+static void
+adlink_wave(struct softc *sc, struct wave *wp, int16_t *sp)
+{
+ int f, i, k, m, *ip;
+
+ f = 0;
+ for (i = 0; i < I16PERPAGE; ) {
+ k = (sc->cnt - wp->offset + i) % wp->period;
+ if (k >= wp->length) {
+ i += wp->period - k;
+ sp += wp->period - k;
+ continue;
+ }
+ m = k % INTPERPAGE;
+ ip = (int *)(wp->virtual[k / INTPERPAGE]) + m;
+ while (m < INTPERPAGE && i < I16PERPAGE && k < wp->length) {
+ if (sc->flags[i] >= wp->index)
+ *ip += (*sp * 8 - *ip) >> wp->avg;
+ if (wp->flags & 1)
+ sc->flags[i] = wp->index;
+ sp++;
+ ip++;
+ m++;
+ i++;
+ k++;
+ }
+ }
+}
+
+static void
+adlink_tickle(struct softc *sc)
+{
+
+ wakeup(sc);
+ tsleep(&sc->ring, PUSER | PCATCH, "tickle", 1);
+}
+
static int
+adlink_new_wave(struct softc *sc, int index, int period, int offset, int length, int avg, int flags)
+{
+ struct wave *wp;
+ int l, i;
+ void **oldvir, **newvir;
+
+ if (index < 0 || index >= NWAVE)
+ return (EINVAL);
+ wp = sc->wave[index];
+ if (wp == NULL) {
+ adlink_tickle(sc);
+ wp = malloc(sizeof *wp, M_DEVBUF, M_WAITOK | M_ZERO);
+ }
+ l = howmany(length, INTPERPAGE);
+ /* Setting a high average here to neuter the realtime bits */
+ wp->avg = 31;
+ if (wp->npages < l) {
+ oldvir = wp->virtual;
+ adlink_tickle(sc);
+ newvir = malloc(sizeof(void *) * l, M_DEVBUF, M_WAITOK | M_ZERO);
+ if (wp->npages > 0) {
+ adlink_tickle(sc);
+ bcopy(oldvir, newvir, wp->npages * sizeof(void *));
+ }
+ for (i = wp->npages; i < l; i++) {
+ adlink_tickle(sc);
+ newvir[i] = malloc(PAGE_SIZE, M_DEVBUF, M_WAITOK);
+ }
+ wp->virtual = newvir;
+ wp->npages = l;
+ wp->mapvir = sc->mapvir;
+ sc->mapvir += l * PAGE_SIZE;
+ } else {
+ oldvir = NULL;
+ }
+ wp->index = index;
+ wp->period = period;
+ wp->offset = offset;
+ wp->length = length;
+ wp->flags = flags;
+
+ for (i = 0; i < l; i++) {
+ adlink_tickle(sc);
+ bzero(wp->virtual[i], PAGE_SIZE);
+ }
+ wp->avg = avg;
+ sc->wave[index] = wp;
+ printf("Wave[%d] {period %d, offset %d, length %d, avg %d, flags %x}\n",
+ wp->index, wp->period, wp->offset, wp->length, wp->avg, wp->flags);
+ free(oldvir, M_DEVBUF);
+ return (0);
+}
+
+static void
+adlink_loran(void *arg)
+{
+ struct softc *sc;
+ int idx, i;
+
+ sc = arg;
+ idx = 0;
+ for (;;) {
+ while (sc->stat[idx] == 0)
+ msleep(sc, NULL, PRIBIO, "loran", 1);
+ memset(sc->flags, NWAVE, sizeof sc->flags);
+ for (i = 0; i < NWAVE; i++) {
+ if (sc->wave[i] != NULL)
+ adlink_wave(sc, sc->wave[i], sc->ring[idx]);
+ }
+ sc->cnt += I16PERPAGE;
+ sc->stat[idx] = 0;
+ idx++;
+ idx %= NRING;
+ }
+ kthread_exit(0);
+}
+
+static int
adlink_open(dev_t dev, int oflags, int devtype, struct thread *td)
{
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list