PERFORCE change 41379 for review

Sam Leffler sam at FreeBSD.org
Tue Nov 4 12:37:35 PST 2003


http://perforce.freebsd.org/chv.cgi?CH=41379

Change 41379 by sam at sam_ebb on 2003/11/04 12:37:11

	IFC @ 41378

Affected files ...

.. //depot/projects/netperf/sys/boot/common/dev_net.c#3 integrate
.. //depot/projects/netperf/sys/conf/files#20 integrate
.. //depot/projects/netperf/sys/conf/files.i386#7 integrate
.. //depot/projects/netperf/sys/conf/files.pc98#6 integrate
.. //depot/projects/netperf/sys/conf/kern.post.mk#3 integrate
.. //depot/projects/netperf/sys/conf/majors#6 integrate
.. //depot/projects/netperf/sys/conf/options#16 integrate
.. //depot/projects/netperf/sys/conf/options.i386#4 integrate
.. //depot/projects/netperf/sys/conf/options.pc98#3 integrate
.. //depot/projects/netperf/sys/contrib/dev/ath/ah.h#4 integrate
.. //depot/projects/netperf/sys/contrib/dev/ath/ah_devid.h#2 integrate
.. //depot/projects/netperf/sys/contrib/dev/ath/freebsd/ah_osdep.c#3 integrate
.. //depot/projects/netperf/sys/contrib/dev/ath/freebsd/ah_osdep.h#3 integrate
.. //depot/projects/netperf/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#4 integrate
.. //depot/projects/netperf/sys/contrib/dev/ath/version.h#4 integrate
.. //depot/projects/netperf/sys/contrib/ngatm/FREEBSD-upgrade#2 integrate
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/addr.h#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/genfiles#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/misc/straddr.c#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/geniec.awk#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/genieh.awk#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/genmsgc.awk#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/genmsgh.awk#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/ie.def#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/msg.def#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/parseie.awk#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/parsemsg.awk#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/priv.h#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/privmsg.c#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/traffic.c#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/uni_config.h#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/uni_hdr.h#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/uni_ie.c#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/uni_ie.h#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/uni_ietab.h#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/uni_msg.c#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/uni_msg.h#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/unimsglib.h#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/uniprint.h#1 branch
.. //depot/projects/netperf/sys/contrib/ngatm/netnatm/msg/unistruct.h#1 branch
.. //depot/projects/netperf/sys/dev/aac/aac_pci.c#5 integrate
.. //depot/projects/netperf/sys/dev/aic7xxx/ahc_pci.c#5 integrate
.. //depot/projects/netperf/sys/dev/aic7xxx/ahd_pci.c#5 integrate
.. //depot/projects/netperf/sys/dev/ata/ata-all.c#9 integrate
.. //depot/projects/netperf/sys/dev/ata/ata-chipset.c#9 integrate
.. //depot/projects/netperf/sys/dev/ata/ata-disk.c#6 integrate
.. //depot/projects/netperf/sys/dev/ata/ata-lowlevel.c#11 integrate
.. //depot/projects/netperf/sys/dev/ata/atapi-cd.c#10 integrate
.. //depot/projects/netperf/sys/dev/ata/atapi-cd.h#7 integrate
.. //depot/projects/netperf/sys/dev/ath/if_ath.c#32 integrate
.. //depot/projects/netperf/sys/dev/ath/if_ath_pci.c#6 integrate
.. //depot/projects/netperf/sys/dev/cardbus/cardbus.c#4 integrate
.. //depot/projects/netperf/sys/dev/cs/if_cs.c#5 integrate
.. //depot/projects/netperf/sys/dev/cs/if_csreg.h#2 integrate
.. //depot/projects/netperf/sys/dev/drm/drm_drv.h#4 integrate
.. //depot/projects/netperf/sys/dev/drm/drm_os_freebsd.h#5 integrate
.. //depot/projects/netperf/sys/dev/ep/if_ep.c#9 integrate
.. //depot/projects/netperf/sys/dev/ep/if_ep_pccard.c#6 integrate
.. //depot/projects/netperf/sys/dev/ep/if_epreg.h#4 integrate
.. //depot/projects/netperf/sys/dev/firewire/fwohci_pci.c#5 integrate
.. //depot/projects/netperf/sys/dev/firewire/if_fwe.c#6 integrate
.. //depot/projects/netperf/sys/dev/fxp/if_fxp.c#12 integrate
.. //depot/projects/netperf/sys/dev/led/led.c#1 branch
.. //depot/projects/netperf/sys/dev/led/led.h#1 branch
.. //depot/projects/netperf/sys/dev/null/null.c#5 integrate
.. //depot/projects/netperf/sys/dev/pccard/pccard.c#8 integrate
.. //depot/projects/netperf/sys/dev/pccard/pccarddevs#9 integrate
.. //depot/projects/netperf/sys/dev/pccard/pccarddevs.h#9 integrate
.. //depot/projects/netperf/sys/dev/pccard/pccardvar.h#6 integrate
.. //depot/projects/netperf/sys/dev/pci/pci.c#8 integrate
.. //depot/projects/netperf/sys/dev/puc/puc_pci.c#5 integrate
.. //depot/projects/netperf/sys/dev/random/randomdev.c#3 integrate
.. //depot/projects/netperf/sys/dev/re/if_re.c#4 integrate
.. //depot/projects/netperf/sys/dev/sio/sio_pci.c#4 integrate
.. //depot/projects/netperf/sys/dev/snc/dp83932.c#3 integrate
.. //depot/projects/netperf/sys/dev/uart/uart_bus_pci.c#3 integrate
.. //depot/projects/netperf/sys/dev/usb/ehci_pci.c#4 integrate
.. //depot/projects/netperf/sys/dev/usb/ohci_pci.c#5 integrate
.. //depot/projects/netperf/sys/dev/usb/uhci_pci.c#4 integrate
.. //depot/projects/netperf/sys/dev/wi/if_wi.c#12 integrate
.. //depot/projects/netperf/sys/dev/xe/if_xe_pccard.c#6 integrate
.. //depot/projects/netperf/sys/fs/msdosfs/msdosfs_vfsops.c#7 integrate
.. //depot/projects/netperf/sys/fs/unionfs/union_vfsops.c#2 integrate
.. //depot/projects/netperf/sys/gnu/ext2fs/alpha-bitops.h#2 delete
.. //depot/projects/netperf/sys/gnu/ext2fs/ext2_vfsops.c#6 integrate
.. //depot/projects/netperf/sys/i386/acpica/Makefile#3 integrate
.. //depot/projects/netperf/sys/i386/acpica/acpi_machdep.c#6 integrate
.. //depot/projects/netperf/sys/i386/acpica/acpi_wakecode.S#6 integrate
.. //depot/projects/netperf/sys/i386/acpica/acpi_wakeup.c#7 integrate
.. //depot/projects/netperf/sys/i386/acpica/madt.c#1 branch
.. //depot/projects/netperf/sys/i386/conf/GENERIC#5 integrate
.. //depot/projects/netperf/sys/i386/conf/NOTES#8 integrate
.. //depot/projects/netperf/sys/i386/conf/PAE#3 integrate
.. //depot/projects/netperf/sys/i386/conf/SMP#2 delete
.. //depot/projects/netperf/sys/i386/i386/apic_vector.s#1 branch
.. //depot/projects/netperf/sys/i386/i386/autoconf.c#2 integrate
.. //depot/projects/netperf/sys/i386/i386/bios.c#4 integrate
.. //depot/projects/netperf/sys/i386/i386/critical.c#4 integrate
.. //depot/projects/netperf/sys/i386/i386/db_interface.c#4 integrate
.. //depot/projects/netperf/sys/i386/i386/db_trace.c#3 integrate
.. //depot/projects/netperf/sys/i386/i386/elan-mmcr.c#5 integrate
.. //depot/projects/netperf/sys/i386/i386/exception.s#4 integrate
.. //depot/projects/netperf/sys/i386/i386/genassym.c#3 integrate
.. //depot/projects/netperf/sys/i386/i386/identcpu.c#6 integrate
.. //depot/projects/netperf/sys/i386/i386/initcpu.c#4 integrate
.. //depot/projects/netperf/sys/i386/i386/intr_machdep.c#1 branch
.. //depot/projects/netperf/sys/i386/i386/io_apic.c#1 branch
.. //depot/projects/netperf/sys/i386/i386/local_apic.c#1 branch
.. //depot/projects/netperf/sys/i386/i386/locore.s#8 integrate
.. //depot/projects/netperf/sys/i386/i386/machdep.c#10 integrate
.. //depot/projects/netperf/sys/i386/i386/mp_machdep.c#9 integrate
.. //depot/projects/netperf/sys/i386/i386/mpapic.c#4 delete
.. //depot/projects/netperf/sys/i386/i386/mpboot.s#4 integrate
.. //depot/projects/netperf/sys/i386/i386/mptable.c#1 branch
.. //depot/projects/netperf/sys/i386/i386/mptable_pci.c#1 branch
.. //depot/projects/netperf/sys/i386/i386/nexus.c#3 integrate
.. //depot/projects/netperf/sys/i386/i386/pmap.c#22 integrate
.. //depot/projects/netperf/sys/i386/i386/support.s#4 integrate
.. //depot/projects/netperf/sys/i386/i386/trap.c#6 integrate
.. //depot/projects/netperf/sys/i386/include/apic.h#5 delete
.. //depot/projects/netperf/sys/i386/include/apicreg.h#1 branch
.. //depot/projects/netperf/sys/i386/include/apicvar.h#1 branch
.. //depot/projects/netperf/sys/i386/include/asmacros.h#2 integrate
.. //depot/projects/netperf/sys/i386/include/clock.h#5 integrate
.. //depot/projects/netperf/sys/i386/include/critical.h#4 integrate
.. //depot/projects/netperf/sys/i386/include/intr_machdep.h#1 branch
.. //depot/projects/netperf/sys/i386/include/md_var.h#4 integrate
.. //depot/projects/netperf/sys/i386/include/mptable.h#1 branch
.. //depot/projects/netperf/sys/i386/include/pcpu.h#3 integrate
.. //depot/projects/netperf/sys/i386/include/proc.h#2 integrate
.. //depot/projects/netperf/sys/i386/include/segments.h#4 integrate
.. //depot/projects/netperf/sys/i386/include/smp.h#2 integrate
.. //depot/projects/netperf/sys/i386/include/smptests.h#2 integrate
.. //depot/projects/netperf/sys/i386/isa/apic_ipl.s#2 delete
.. //depot/projects/netperf/sys/i386/isa/apic_vector.s#3 delete
.. //depot/projects/netperf/sys/i386/isa/atpic.c#1 branch
.. //depot/projects/netperf/sys/i386/isa/atpic_vector.s#1 branch
.. //depot/projects/netperf/sys/i386/isa/bs/bsif.h#2 integrate
.. //depot/projects/netperf/sys/i386/isa/clock.c#6 integrate
.. //depot/projects/netperf/sys/i386/isa/icu.h#2 integrate
.. //depot/projects/netperf/sys/i386/isa/icu_ipl.s#2 delete
.. //depot/projects/netperf/sys/i386/isa/icu_vector.s#2 delete
.. //depot/projects/netperf/sys/i386/isa/if_le.c#3 integrate
.. //depot/projects/netperf/sys/i386/isa/if_rdp.c#5 integrate
.. //depot/projects/netperf/sys/i386/isa/intr_machdep.c#2 delete
.. //depot/projects/netperf/sys/i386/isa/intr_machdep.h#2 delete
.. //depot/projects/netperf/sys/i386/isa/isa_compat.c#4 integrate
.. //depot/projects/netperf/sys/i386/isa/ithread.c#2 delete
.. //depot/projects/netperf/sys/i386/isa/nmi.c#1 branch
.. //depot/projects/netperf/sys/i386/isa/npx.c#3 integrate
.. //depot/projects/netperf/sys/i386/isa/vector.s#2 delete
.. //depot/projects/netperf/sys/i386/pci/pci_bus.c#5 integrate
.. //depot/projects/netperf/sys/i386/pci/pci_cfgreg.c#5 integrate
.. //depot/projects/netperf/sys/ia64/ia64/unaligned.c#4 integrate
.. //depot/projects/netperf/sys/ia64/include/_types.h#2 integrate
.. //depot/projects/netperf/sys/ia64/include/pc/bios.h#2 delete
.. //depot/projects/netperf/sys/ia64/include/pc/msdos.h#2 delete
.. //depot/projects/netperf/sys/ia64/include/pc/vesa.h#2 delete
.. //depot/projects/netperf/sys/kern/kern_event.c#3 integrate
.. //depot/projects/netperf/sys/kern/kern_intr.c#3 integrate
.. //depot/projects/netperf/sys/kern/kern_timeout.c#3 integrate
.. //depot/projects/netperf/sys/kern/sched_ule.c#15 integrate
.. //depot/projects/netperf/sys/kern/subr_bus.c#8 integrate
.. //depot/projects/netperf/sys/kern/subr_witness.c#5 integrate
.. //depot/projects/netperf/sys/kern/sys_pipe.c#9 integrate
.. //depot/projects/netperf/sys/kern/vfs_bio.c#13 integrate
.. //depot/projects/netperf/sys/kern/vfs_default.c#4 integrate
.. //depot/projects/netperf/sys/modules/Makefile#8 integrate
.. //depot/projects/netperf/sys/modules/cs/Makefile#1 branch
.. //depot/projects/netperf/sys/modules/netgraph/atm/atmbase/Makefile#2 integrate
.. //depot/projects/netperf/sys/modules/ppbus/Makefile#2 integrate
.. //depot/projects/netperf/sys/net/net_osdep.h#4 integrate
.. //depot/projects/netperf/sys/netinet/in.c#2 integrate
.. //depot/projects/netperf/sys/netinet/in_pcb.c#10 integrate
.. //depot/projects/netperf/sys/netinet/in_rmx.c#13 integrate
.. //depot/projects/netperf/sys/netinet/ip_input.c#17 integrate
.. //depot/projects/netperf/sys/netinet/ip_output.c#12 integrate
.. //depot/projects/netperf/sys/netinet/tcp_output.c#5 integrate
.. //depot/projects/netperf/sys/netinet/tcp_subr.c#8 integrate
.. //depot/projects/netperf/sys/netinet/tcp_syncache.c#8 integrate
.. //depot/projects/netperf/sys/netinet/tcp_var.h#4 integrate
.. //depot/projects/netperf/sys/netinet6/icmp6.c#15 integrate
.. //depot/projects/netperf/sys/netinet6/in6.c#13 integrate
.. //depot/projects/netperf/sys/netinet6/in6_src.c#17 integrate
.. //depot/projects/netperf/sys/netinet6/ip6_forward.c#12 integrate
.. //depot/projects/netperf/sys/netinet6/ip6_output.c#21 integrate
.. //depot/projects/netperf/sys/netinet6/ipsec.c#6 integrate
.. //depot/projects/netperf/sys/netinet6/ipsec.h#3 integrate
.. //depot/projects/netperf/sys/netinet6/ipsec6.h#2 integrate
.. //depot/projects/netperf/sys/netinet6/nd6.c#14 integrate
.. //depot/projects/netperf/sys/netinet6/nd6_nbr.c#8 integrate
.. //depot/projects/netperf/sys/netinet6/raw_ip6.c#8 integrate
.. //depot/projects/netperf/sys/netinet6/udp6_output.c#6 integrate
.. //depot/projects/netperf/sys/netinet6/udp6_usrreq.c#5 integrate
.. //depot/projects/netperf/sys/netkey/key.c#6 integrate
.. //depot/projects/netperf/sys/netkey/key.h#2 integrate
.. //depot/projects/netperf/sys/netkey/key_debug.c#3 integrate
.. //depot/projects/netperf/sys/netkey/keydb.c#2 integrate
.. //depot/projects/netperf/sys/netkey/keydb.h#2 integrate
.. //depot/projects/netperf/sys/netkey/keysock.c#4 integrate
.. //depot/projects/netperf/sys/netkey/keysock.h#2 integrate
.. //depot/projects/netperf/sys/nfsclient/nfs_vfsops.c#5 integrate
.. //depot/projects/netperf/sys/pc98/conf/GENERIC#3 integrate
.. //depot/projects/netperf/sys/pc98/conf/NOTES#5 integrate
.. //depot/projects/netperf/sys/pc98/i386/machdep.c#8 integrate
.. //depot/projects/netperf/sys/pc98/pc98/clock.c#7 integrate
.. //depot/projects/netperf/sys/pc98/pc98/nmi.c#1 branch
.. //depot/projects/netperf/sys/pci/if_dc.c#11 integrate
.. //depot/projects/netperf/sys/pci/if_rl.c#10 integrate
.. //depot/projects/netperf/sys/pci/if_xl.c#8 integrate
.. //depot/projects/netperf/sys/pci/xrpu.c#4 integrate
.. //depot/projects/netperf/sys/sys/resource.h#2 integrate
.. //depot/projects/netperf/sys/sys/sched.h#3 integrate
.. //depot/projects/netperf/sys/ufs/ffs/ffs_vfsops.c#6 integrate
.. //depot/projects/netperf/sys/ufs/ufs/ufs_quota.c#4 integrate
.. //depot/projects/netperf/sys/vm/swap_pager.c#12 integrate
.. //depot/projects/netperf/sys/vm/vm_map.c#11 integrate
.. //depot/projects/netperf/sys/vm/vm_map.h#7 integrate
.. //depot/projects/netperf/sys/vm/vm_object.c#10 integrate
.. //depot/projects/netperf/sys/vm/vm_object.h#3 integrate
.. //depot/projects/netperf/sys/vm/vm_page.c#11 integrate

Differences ...

==== //depot/projects/netperf/sys/boot/common/dev_net.c#3 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/common/dev_net.c,v 1.12 2003/08/25 23:30:41 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/common/dev_net.c,v 1.13 2003/11/03 19:45:05 iedowse Exp $");
 
 /*-
  * This module implements a "raw device" interface suitable for
@@ -270,22 +270,22 @@
 	return (EIO);
     }
  exit:
-    printf("net_open: server addr: %s\n", inet_ntoa(rootip));
-
     /*  
      * If present, strip the server's address off of the rootpath
      * before passing it along.  This allows us to be compatible with
      * the kernel's diskless (BOOTP_NFSROOT) booting conventions
      */
-
-    for(i=0; i<FNAME_SIZE; i++)
-	    if(rootpath[i] == ':')
+    for (i = 0; rootpath[i] != '\0' && i < FNAME_SIZE; i++)
+	    if (rootpath[i] == ':')
 		    break;
-    if(i && i != FNAME_SIZE) {
-	    i++;
+    if (i && i != FNAME_SIZE && rootpath[i] == ':') {
+	    rootpath[i++] = '\0';
+	    if (inet_addr(&rootpath[0]) != INADDR_NONE)
+		    rootip.s_addr = inet_addr(&rootpath[0]);
 	    bcopy(&rootpath[i], &temp[0], strlen(&rootpath[i])+1);
 	    bcopy(&temp[0], &rootpath[0], strlen(&rootpath[i])+1);	    
     }
+    printf("net_open: server addr: %s\n", inet_ntoa(rootip));
     printf("net_open: server path: %s\n", rootpath);	    
 
     d = socktodesc(sock);
@@ -294,6 +294,8 @@
     setenv("boot.netif.netmask", intoa(netmask), 1);
     setenv("boot.netif.gateway", inet_ntoa(gateip), 1);
     setenv("boot.netif.hwaddr", temp, 1);
+    setenv("boot.nfsroot.server", inet_ntoa(rootip), 1);
+    setenv("boot.nfsroot.path", rootpath, 1);
 
     return (0);
 }

==== //depot/projects/netperf/sys/conf/files#20 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.841 2003/10/27 11:19:08 harti Exp $
+# $FreeBSD: src/sys/conf/files,v 1.843 2003/11/03 12:05:58 harti Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -495,6 +495,7 @@
 dev/joy/joy.c		optional joy
 dev/joy/joy_isa.c	optional joy isa
 dev/joy/joy_pccard.c	optional joy pccard
+dev/led/led.c		optional cpu_soekris
 dev/lge/if_lge.c	optional lge
 dev/lmc/if_lmc.c	optional lmc nowerror
 dev/lnc/if_lnc.c	optional lnc
@@ -1372,6 +1373,10 @@
 netgraph/atm/atmpif/ng_atmpif_harp.c	optional netgraph_atm_atmpif
 netgraph/atm/ngatmbase.c			optional ngatm_atmbase
 contrib/ngatm/netnatm/misc/unimsg_common.c	optional ngatm_atmbase
+contrib/ngatm/netnatm/misc/straddr.c		optional ngatm_atmbase
+contrib/ngatm/netnatm/msg/traffic.c		optional ngatm_atmbase
+contrib/ngatm/netnatm/msg/uni_ie.c		optional ngatm_atmbase
+contrib/ngatm/netnatm/msg/uni_msg.c		optional ngatm_atmbase
 netgraph/atm/ng_atm.c		optional ngatm_atm
 netgraph/atm/sscfu/ng_sscfu.c		optional ngatm_sscfu
 contrib/ngatm/netnatm/saal/saal_sscfu.c	optional ngatm_sscfu

==== //depot/projects/netperf/sys/conf/files.i386#7 (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.454 2003/09/06 23:23:25 marcel Exp $
+# $FreeBSD: src/sys/conf/files.i386,v 1.456 2003/11/03 22:46:43 jhb Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -167,12 +167,14 @@
 	no-obj no-implicit-rule before-depend				\
 	clean		"acpi_wakecode.h acpi_wakecode.o acpi_wakecode.bin"
 #
+i386/acpica/madt.c		optional	acpi apic
 i386/bios/apm.c			optional	apm
 i386/bios/mca_machdep.c		optional	mca
 i386/bios/smapi.c		optional	smapi
 i386/bios/smapi_bios.S		optional	smapi
 i386/bios/smbios.c		optional	smbios
 i386/bios/vpd.c			optional	vpd
+i386/i386/apic_vector.s		optional	apic
 i386/i386/atomic.c		standard				\
 	compile-with	"${CC} -c ${CFLAGS} ${DEFINED_PROF:S/^$/-fomit-frame-pointer/} ${.IMPSRC}"
 i386/i386/autoconf.c		standard
@@ -185,6 +187,7 @@
 i386/i386/db_trace.c		optional	ddb
 i386/i386/dump_machdep.c	standard
 i386/i386/elan-mmcr.c		optional	cpu_elan
+i386/i386/elan-mmcr.c		optional	cpu_soekris
 i386/i386/elf_machdep.c		standard
 i386/i386/exception.s		standard
 i386/i386/geode.c		optional	cpu_geode
@@ -193,15 +196,19 @@
 i386/i386/identcpu.c		standard
 i386/i386/in_cksum.c		optional	inet
 i386/i386/initcpu.c		standard
+i386/i386/intr_machdep.c	standard
+i386/i386/io_apic.c		optional	apic
 i386/i386/k6_mem.c		standard
 i386/i386/legacy.c		standard
+i386/i386/local_apic.c		optional	apic
 i386/i386/locore.s		standard	no-obj
 i386/i386/machdep.c		standard
 i386/i386/mem.c			standard
 i386/i386/mp_clock.c		optional	smp
 i386/i386/mp_machdep.c		optional	smp
-i386/i386/mpapic.c		optional	smp
 i386/i386/mpboot.s		optional	smp
+i386/i386/mptable.c		optional	apic
+i386/i386/mptable_pci.c		optional	apic pci
 i386/i386/nexus.c		standard
 i386/i386/perfmon.c		optional	perfmon
 i386/i386/perfmon.c		optional	perfmon	profiling-routine
@@ -233,6 +240,8 @@
 i386/ibcs2/ibcs2_xenix_sysent.c	optional	ibcs2
 i386/ibcs2/imgact_coff.c	optional	ibcs2
 i386/isa/asc.c			count		asc
+i386/isa/atpic.c		standard
+i386/isa/atpic_vector.s		standard
 i386/isa/clock.c		standard
 i386/isa/cronyx.c		optional	cx
 i386/isa/ctx.c			optional	ctx
@@ -246,8 +255,6 @@
 i386/isa/if_el.c		count		el
 i386/isa/if_le.c		count		le
 i386/isa/if_rdp.c		count		rdp
-i386/isa/intr_machdep.c		standard
-i386/isa/ithread.c		standard
 i386/isa/isa.c			optional	isa
 i386/isa/isa_compat.c		optional	isa compat_oldisa	\
 	warning "Old ISA driver compatibility shims present."
@@ -255,6 +262,7 @@
 i386/isa/istallion.c		optional	stli nowerror
 i386/isa/loran.c		optional	loran
 i386/isa/mse.c			optional	mse
+i386/isa/nmi.c			standard
 i386/isa/npx.c			optional	npx
 i386/isa/pcf.c			optional	pcf
 i386/isa/pcvt/pcvt_drv.c	optional	vt

==== //depot/projects/netperf/sys/conf/files.pc98#6 (text+ko) ====

@@ -3,7 +3,7 @@
 #
 # modified for PC-9801
 #
-# $FreeBSD: src/sys/conf/files.pc98,v 1.279 2003/09/07 05:05:40 imp Exp $
+# $FreeBSD: src/sys/conf/files.pc98,v 1.280 2003/11/04 13:11:58 nyan Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -137,6 +137,7 @@
 geom/geom_pc98.c		standard
 geom/geom_pc98_enc.c		standard
 i386/bios/apm.c			optional	apm
+i386/i386/apic_vector.s		optional	apic
 i386/i386/atomic.c		standard				\
 	compile-with	"${CC} -c ${CFLAGS} ${DEFINED_PROF:S/^$/-fomit-frame-pointer/} ${.IMPSRC}"
 i386/i386/autoconf.c		standard
@@ -155,14 +156,18 @@
 i386/i386/identcpu.c		standard
 i386/i386/in_cksum.c		optional	inet
 i386/i386/initcpu.c		standard
+i386/i386/intr_machdep.c	standard
+i386/i386/io_apic.c		optional	apic
 i386/i386/k6_mem.c		standard
 i386/i386/legacy.c		standard
+i386/i386/local_apic.c		optional	apic
 i386/i386/locore.s		standard	no-obj
 i386/i386/mem.c			standard
 i386/i386/mp_clock.c		optional	smp
 i386/i386/mp_machdep.c		optional	smp
-i386/i386/mpapic.c		optional	smp
 i386/i386/mpboot.s		optional	smp
+i386/i386/mptable.c		optional	apic
+i386/i386/mptable_pci.c		optional	apic pci
 i386/i386/nexus.c		standard
 i386/i386/perfmon.c		optional	perfmon
 i386/i386/perfmon.c		optional	perfmon	profiling-routine
@@ -193,6 +198,8 @@
 i386/ibcs2/ibcs2_xenix.c	optional	ibcs2
 i386/ibcs2/ibcs2_xenix_sysent.c	optional	ibcs2
 i386/ibcs2/imgact_coff.c	optional	ibcs2
+i386/isa/atpic.c		standard
+i386/isa/atpic_vector.s		standard
 i386/isa/bs/bs.c		optional	bs
 i386/isa/bs/bsfunc.c		optional	bs
 i386/isa/bs/bshw.c		optional	bs
@@ -208,8 +215,6 @@
 i386/isa/if_el.c		count		el
 i386/isa/if_le.c		count		le
 i386/isa/if_rdp.c		count		rdp
-i386/isa/intr_machdep.c		standard
-i386/isa/ithread.c		standard
 i386/isa/isa.c			optional	isa
 i386/isa/isa_compat.c		optional	isa compat_oldisa	\
 	warning "Old ISA driver compatibility shims present."
@@ -345,6 +350,7 @@
 pc98/pc98/fd.c			optional	fdc
 pc98/pc98/isa_dma.c		optional	isa
 pc98/pc98/mse.c			optional	mse
+pc98/pc98/nmi.c			standard
 pc98/pc98/olpt.c		optional	olpt
 pc98/pc98/pc98gdc.c		optional	gdc
 pc98/pc98/pc98kbd.c		optional	pckbd

==== //depot/projects/netperf/sys/conf/kern.post.mk#3 (text+ko) ====

@@ -6,7 +6,7 @@
 # should be defined in the kern.pre.mk so that port makefiles can
 # override or augment them.
 #
-# $FreeBSD: src/sys/conf/kern.post.mk,v 1.49 2003/08/07 19:12:06 ru Exp $
+# $FreeBSD: src/sys/conf/kern.post.mk,v 1.50 2003/11/04 06:38:37 green Exp $
 #
 
 # In case the config had a makeoptions DESTDIR...
@@ -57,7 +57,7 @@
 
 gdbinit:
 	sed < ${S}/../tools/debugscripts/dot.gdbinit > .gdbinit \
-		"s:MODPATH:modules${S}/modules:"
+		"s:MODPATH:${.OBJDIR}/modules:"
 	cp ${S}/../tools/debugscripts/gdbinit.kernel \
 		${S}/../tools/debugscripts/gdbinit.vinum ${.CURDIR}
 	cp ${S}/../tools/debugscripts/gdbinit.${MACHINE_ARCH} \

==== //depot/projects/netperf/sys/conf/majors#6 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/majors,v 1.180 2003/10/06 09:13:08 phk Exp $
+# $FreeBSD: src/sys/conf/majors,v 1.181 2003/11/03 10:19:33 phk Exp $
 #
 # This list is semi-obsoleted by DEVFS, but for now it still contains
 # the current allocation of device major numbers.
@@ -105,7 +105,6 @@
 97	*prom		Alpha PROM console
 98	loe		Loopback pseudo-ethernet (sbabkin at dcn.att.com)
 99	ct		Cronyx/Tau serial adaptor
-100	*xrpu		Xilinx Reprogrammable Processing Unit
 103	*streams	SVR4 Streams emulation <newton at atdot.dotat.org>
 104	*xpt		CAM Transport Layer Services
 105	*iic		I2C bus generic i/o

==== //depot/projects/netperf/sys/conf/options#16 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.421 2003/10/29 14:22:09 iwasaki Exp $
+# $FreeBSD: src/sys/conf/options,v 1.422 2003/11/01 00:18:29 njl Exp $
 #
 #        On the handling of kernel options
 #
@@ -598,7 +598,6 @@
 # options for ACPI support
 ACPI_DEBUG		opt_acpi.h
 ACPI_MAX_THREADS	opt_acpi.h
-ACPI_NO_RESET_VIDEO	opt_acpi.h
 ACPI_NO_SEMAPHORES	opt_acpi.h
 ACPICA_PEDANTIC		opt_acpi.h
 

==== //depot/projects/netperf/sys/conf/options.i386#4 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.i386,v 1.198 2003/10/30 21:45:34 jhb Exp $
+# $FreeBSD: src/sys/conf/options.i386,v 1.200 2003/11/03 22:45:54 jhb Exp $
 # Options specific to the i386 platform kernels
 
 AUTO_EOI_1		opt_auto_eoi.h
@@ -7,6 +7,7 @@
 COMPAT_OLDISA
 I586_PMC_GUPROF		opt_i586_guprof.h
 MAXMEM
+NO_MIXED_MODE
 PERFMON
 DISABLE_PSE		opt_pmap.h
 DISABLE_PG_G		opt_pmap.h
@@ -25,8 +26,6 @@
 DEBUG_SVR4		opt_svr4.h
 PECOFF_SUPPORT		opt_dontuse.h
 PECOFF_DEBUG		opt_pecoff.h
-# i386 SMP options
-APIC_IO			opt_global.h
 
 # Change KVM size.  Changes things all over the kernel.
 KVA_PAGES		opt_global.h
@@ -47,6 +46,7 @@
 CPU_DIRECT_MAPPED_CACHE		opt_cpu.h
 CPU_DISABLE_5X86_LSSER		opt_cpu.h
 CPU_ELAN			opt_cpu.h
+CPU_SOEKRIS			opt_cpu.h
 CPU_FASTER_5X86_FPU		opt_cpu.h
 CPU_GEODE			opt_cpu.h
 CPU_I486_ON_386			opt_cpu.h
@@ -146,6 +146,8 @@
 IPR_LOG			opt_i4b.h
 
 # Device options
+DEV_ACPI		opt_acpi.h
+DEV_APIC		opt_apic.h
 DEV_NPX			opt_npx.h
 
 # -------------------------------

==== //depot/projects/netperf/sys/conf/options.pc98#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.pc98,v 1.168 2003/10/31 13:50:09 nyan Exp $
+# $FreeBSD: src/sys/conf/options.pc98,v 1.169 2003/11/04 12:19:54 nyan Exp $
 # Options specific to the pc98 platform kernels
 
 AUTO_EOI_1		opt_auto_eoi.h
@@ -7,6 +7,7 @@
 COMPAT_OLDISA
 I586_PMC_GUPROF		opt_i586_guprof.h
 MAXMEM
+NO_MIXED_MODE
 PERFMON
 DISABLE_PSE		opt_pmap.h
 DISABLE_PG_G		opt_pmap.h
@@ -25,8 +26,6 @@
 DEBUG_SVR4		opt_svr4.h
 PECOFF_SUPPORT		opt_dontuse.h
 PECOFF_DEBUG		opt_pecoff.h
-# i386 SMP options
-APIC_IO			opt_global.h
 
 # Change KVM size.  Changes things all over the kernel.
 KVA_PAGES		opt_global.h
@@ -102,6 +101,7 @@
 LINE30			opt_syscons.h
 
 # Device options
+DEV_APIC		opt_apic.h
 DEV_NPX			opt_npx.h
 DEV_MECIA		opt_mecia.h
 

==== //depot/projects/netperf/sys/contrib/dev/ath/ah.h#4 (text+ko) ====

@@ -33,7 +33,7 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGES.
  *
- * $Id: ah.h,v 1.35 2003/07/21 02:36:53 sam Exp $
+ * $Id: ah.h,v 1.41 2003/11/01 01:05:45 sam Exp $
  */
 
 #ifndef _ATH_AH_H_
@@ -54,22 +54,22 @@
  * error occurs--i.e. you cannot check it for success.
  */
 typedef enum {
-	HAL_OK = 0,		/* No error */
-	HAL_ENXIO,		/* No hardware present */
-	HAL_ENOMEM,		/* Memory allocation failed */
-	HAL_EIO,		/* Hardware didn't respond as expected */
-	HAL_EEMAGIC,		/* EEPROM magic number invalid */
-	HAL_EEVERSION,		/* EEPROM version invalid */
-	HAL_EELOCKED,		/* EEPROM unreadable */
-	HAL_EEBADSUM,		/* EEPROM checksum invalid */
-	HAL_EEREAD,		/* EEPROM read problem */
-	HAL_EEBADMAC,		/* EEPROM mac address invalid */
-	HAL_EESIZE,		/* EEPROM size not supported */
-	HAL_EEWRITE,		/* Attempt to change write-locked EEPROM */
-	HAL_EINVAL,		/* Invalid parameter to function */
-	HAL_ENOTSUPP,		/* Hardware revision not supported */
-	HAL_ESELFTEST,		/* Hardware self-test failed */
-	HAL_EINPROGRESS,	/* Operation incomplete */
+	HAL_OK		= 0,	/* No error */
+	HAL_ENXIO	= 1,	/* No hardware present */
+	HAL_ENOMEM	= 2,	/* Memory allocation failed */
+	HAL_EIO		= 3,	/* Hardware didn't respond as expected */
+	HAL_EEMAGIC	= 4,	/* EEPROM magic number invalid */
+	HAL_EEVERSION	= 5,	/* EEPROM version invalid */
+	HAL_EELOCKED	= 6,	/* EEPROM unreadable */
+	HAL_EEBADSUM	= 7,	/* EEPROM checksum invalid */
+	HAL_EEREAD	= 8,	/* EEPROM read problem */
+	HAL_EEBADMAC	= 9,	/* EEPROM mac address invalid */
+	HAL_EESIZE	= 10,	/* EEPROM size not supported */
+	HAL_EEWRITE	= 11,	/* Attempt to change write-locked EEPROM */
+	HAL_EINVAL	= 12,	/* Invalid parameter to function */
+	HAL_ENOTSUPP	= 13,	/* Hardware revision not supported */
+	HAL_ESELFTEST	= 14,	/* Hardware self-test failed */
+	HAL_EINPROGRESS	= 15,	/* Operation incomplete */
 } HAL_STATUS;
 
 typedef enum {
@@ -99,10 +99,10 @@
  */
 typedef enum {
 	HAL_TX_QUEUE_INACTIVE	= 0,		/* queue is inactive/unused */
-	HAL_TX_QUEUE_DATA,			/* data xmit q's */
-	HAL_TX_QUEUE_BEACON,			/* beacon xmit q */
-	HAL_TX_QUEUE_CAB,			/* "crap after beacon" xmit q */
-	HAL_TX_QUEUE_PSPOLL,			/* power-save poll xmit q */
+	HAL_TX_QUEUE_DATA	= 1,		/* data xmit q's */
+	HAL_TX_QUEUE_BEACON	= 2,		/* beacon xmit q */
+	HAL_TX_QUEUE_CAB	= 3,		/* "crap after beacon" xmit q */
+	HAL_TX_QUEUE_PSPOLL	= 4,		/* power-save poll xmit q */
 } HAL_TX_QUEUE;
 
 #define	HAL_NUM_TX_QUEUES	10		/* max possible # of queues */
@@ -189,9 +189,9 @@
 } HAL_INT;
 
 typedef enum {
-	HAL_RFGAIN_INACTIVE,
-	HAL_RFGAIN_READ_REQUESTED,
-	HAL_RFGAIN_NEED_CHANGE
+	HAL_RFGAIN_INACTIVE		= 0,
+	HAL_RFGAIN_READ_REQUESTED	= 1,
+	HAL_RFGAIN_NEED_CHANGE		= 2
 } HAL_RFGAIN;
 
 /*
@@ -278,9 +278,9 @@
 } HAL_RATE_SET;
 
 typedef enum {
-	HAL_ANT_VARIABLE,			/* variable by programming */
-	HAL_ANT_FIXED_A,			/* fixed to 11a frequencies */
-	HAL_ANT_FIXED_B,			/* fixed to 11b frequencies */
+	HAL_ANT_VARIABLE = 0,			/* variable by programming */
+	HAL_ANT_FIXED_A	 = 1,			/* fixed to 11a frequencies */
+	HAL_ANT_FIXED_B	 = 2,			/* fixed to 11b frequencies */
 } HAL_ANT_SETTING;
 
 typedef enum {
@@ -296,11 +296,16 @@
 } HAL_KEYVAL;
 
 typedef enum {
-	HAL_CIPHER_WEP,
-	HAL_CIPHER_AES_CCM,
-	HAL_CIPHER_CKIP
+	HAL_CIPHER_WEP		= 0,
+	HAL_CIPHER_AES_CCM	= 1,
+	HAL_CIPHER_CKIP		= 2
 } HAL_CIPHER;
 
+enum {
+	HAL_SLOT_TIME_9	 = 9,
+	HAL_SLOT_TIME_20 = 20,
+};
+
 /*
  * Per-station beacon timer state.
  */
@@ -325,10 +330,14 @@
  * Clients of the HAL call ath_hal_attach to obtain a reference to an
  * ath_hal structure for use with the device.  Hardware-related operations
  * that follow must call back into the HAL through interface, supplying
- * the reference as the first parameter.
+ * the reference as the first parameter.  Note that before using the
+ * reference returned by ath_hal_attach the caller should verify the
+ * ABI version number.
  */
 struct ath_hal {
 	u_int32_t	ah_magic;	/* consistency check magic number */
+	u_int32_t	ah_abi;		/* HAL ABI version */
+#define	HAL_ABI_VERSION	0x03103100	/* YYMMDDnn */
 	u_int16_t	ah_devid;	/* PCI device ID */
 	u_int16_t	ah_subvendorid;	/* PCI subvendor ID */
 	HAL_SOFTC	ah_sc;		/* back pointer to driver/os state */
@@ -336,6 +345,12 @@
 	HAL_BUS_HANDLE	ah_sh;
 	HAL_CTRY_CODE	ah_countryCode;
 
+	u_int32_t	ah_macVersion;	/* MAC version id */
+	u_int16_t	ah_macRev;	/* MAC revision */
+	u_int16_t	ah_phyRev;	/* PHY revision */
+	u_int16_t	ah_analog5GhzRev;/* 2GHz radio revision */
+	u_int16_t	ah_analog2GhzRev;/* 5GHz radio revision */
+
 	const HAL_RATE_TABLE *(*ah_getRateTable)(struct ath_hal *, u_int mode);
 	void		(*ah_detach)(struct ath_hal*);
 
@@ -424,6 +439,7 @@
 	u_int32_t	(*ah_getDefAntenna)(struct ath_hal*);
 	void		(*ah_setDefAntenna)(struct ath_hal*, u_int32_t antenna);
 #endif
+	HAL_BOOL	(*ah_setSlotTime)(struct ath_hal*, u_int);
 
 	/* Key Cache Functions */
 	u_int32_t	(*ah_getKeyCacheSize)(struct ath_hal*);
@@ -524,4 +540,9 @@
  */
 extern	u_int ath_hal_mhz2ieee(u_int mhz, u_int flags);
 extern	u_int ath_hal_ieee2mhz(u_int ieee, u_int flags);
+
+/*
+ * Return a version string for the HAL release.
+ */
+extern	char ath_hal_version[];
 #endif /* _ATH_AH_H_ */

==== //depot/projects/netperf/sys/contrib/dev/ath/ah_devid.h#2 (text+ko) ====

@@ -33,13 +33,19 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGES.
  *
- * $Id: ah_devid.h,v 1.6 2003/06/25 04:50:22 sam Exp $
+ * $Id: ah_devid.h,v 1.7 2003/10/22 21:17:40 sam Exp $
  */
 
 #ifndef _DEV_ATH_DEVID_H_
 #define _DEV_ATH_DEVID_H_
 
 #define ATHEROS_VENDOR_ID	0x168c		/* Atheros PCI vendor ID */
+/*
+ * NB: all Atheros-based devices should have a PCI vendor ID
+ *     of 0x168c, but some vendors, in their infinite wisdom
+ *     do not follow this so we must handle them specially.
+ */
+#define	ATHEROS_3COM_VENDOR_ID	0xa727		/* 3Com PCI vendor ID */
 
 /* AR5210 (for reference) */
 #define AR5210_DEFAULT          0x1107          /* No eeprom HW default */
@@ -57,6 +63,7 @@
 #define AR5212_DEFAULT          0x1113          /* No eeprom HW default */
 #define AR5212_DEVID            0x0013          /* Final ar5212 devid */
 #define AR5212_FPGA             0xf013          /* Emulation board */
+#define	AR5212_DEVID_IBM	0x1014          /* IBM minipci ID */
 
 #define	AR_SUBVENDOR_ID_NOG	0x0e11		/* No 11G subvendor ID */
 #endif /* _DEV_ATH_DEVID_H */

==== //depot/projects/netperf/sys/contrib/dev/ath/freebsd/ah_osdep.c#3 (text+ko) ====

@@ -33,7 +33,7 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGES.
  *
- * $Id: ah_osdep.c,v 1.22 2003/07/26 14:58:00 sam Exp $
+ * $Id: ah_osdep.c,v 1.28 2003/11/01 01:43:21 sam Exp $
  */
 #include "opt_ah.h"
 
@@ -51,10 +51,6 @@
 
 #include <contrib/dev/ath/ah.h>
 
-#define	AH_TIMEOUT	1000
-
-extern	HAL_BOOL ath_hal_wait(struct ath_hal *, u_int reg,
-		u_int32_t mask, u_int32_t val);
 extern	void ath_hal_printf(struct ath_hal *, const char*, ...)
 		__printflike(2,3);
 extern	void ath_hal_vprintf(struct ath_hal *, const char*, __va_list)
@@ -81,8 +77,6 @@
 	    0, "Atheros HAL debugging printfs");
 #endif /* AH_DEBUG */
 
-#include "version.h"
-static char ath_hal_version[] = ATH_HAL_VERSION;
 SYSCTL_STRING(_hw_ath_hal, OID_AUTO, version, CTLFLAG_RD, ath_hal_version, 0,
 	"Atheros HAL version");
 
@@ -99,25 +93,6 @@
 	   &ath_hal_additional_swba_backoff, 0,
 	   "Atheros HAL additional SWBA backoff time");
 
-/*
- * Poll the register looking for a specific value.
- */
-HAL_BOOL
-ath_hal_wait(struct ath_hal *ah, u_int reg, u_int32_t mask, u_int32_t val)
-{
-	int i;
-
-	for (i = 0; i < AH_TIMEOUT; i++) {
-		if ((OS_REG_READ(ah, reg) & mask) == val)
-			return AH_TRUE;
-		DELAY(10);
-	}
-	ath_hal_printf(ah, "ath_hal_wait: timeout on reg 0x%x: "
-		"0x%08x & 0x%08x != 0x%08x\n", reg, OS_REG_READ(ah, reg),
-		 mask, val);
-	return AH_FALSE;
-}
-
 void*
 ath_hal_malloc(size_t size)
 {
@@ -269,7 +244,7 @@
 }
 
 void
-OS_REG_WRITE(struct ath_hal *ah, u_int32_t reg, u_int32_t val)
+ath_hal_reg_write(struct ath_hal *ah, u_int32_t reg, u_int32_t val)
 {
 	if (ath_hal_alq) {
 		struct ale *ale = ath_hal_alq_get(ah);
@@ -281,15 +256,24 @@
 			alq_post(ath_hal_alq, ale);
 		}
 	}
-	bus_space_write_4(ah->ah_st, ah->ah_sh, reg, val);
+#if _BYTE_ORDER == _BIG_ENDIAN
+	if (reg >= 0x4000 && reg < 0x5000)
+		bus_space_write_4(ah->ah_st, ah->ah_sh, reg, htole32(val));
+	else
+#endif
+		bus_space_write_4(ah->ah_st, ah->ah_sh, reg, val);
 }
 
 u_int32_t
-OS_REG_READ(struct ath_hal *ah, u_int32_t reg)
+ath_hal_reg_read(struct ath_hal *ah, u_int32_t reg)
 {
 	u_int32_t val;
 
 	val = bus_space_read_4(ah->ah_st, ah->ah_sh, reg);
+#if _BYTE_ORDER == _BIG_ENDIAN
+	if (reg >= 0x4000 && reg < 0x5000)
+		val = le32toh(val);
+#endif
 	if (ath_hal_alq) {
 		struct ale *ale = ath_hal_alq_get(ah);
 		if (ale) {
@@ -317,7 +301,42 @@
 		}
 	}
 }
-#endif /* AH_DEBUG_ALQ */
+#elif defined(AH_DEBUG) || defined(AH_REGOPS_FUNC)
+/*
+ * Memory-mapped device register read/write.  These are here
+ * as routines when debugging support is enabled and/or when
+ * explicitly configured to use function calls.  The latter is
+ * for architectures that might need to do something before
+ * referencing memory (e.g. remap an i/o window).
+ *
+ * NB: see the comments in ah_osdep.h about byte-swapping register
+ *     reads and writes to understand what's going on below.
+ */
+
+void
+ath_hal_reg_write(struct ath_hal *ah, u_int32_t reg, u_int32_t val)
+{
+#if _BYTE_ORDER == _BIG_ENDIAN
+	if (reg >= 0x4000 && reg < 0x5000)
+		bus_space_write_4(ah->ah_st, ah->ah_sh, reg, htole32(val));
+	else
+#endif
+		bus_space_write_4(ah->ah_st, ah->ah_sh, reg, val);
+}
+
+u_int32_t
+ath_hal_reg_read(struct ath_hal *ah, u_int32_t reg)
+{
+	u_int32_t val;
+
+	val = bus_space_read_4(ah->ah_st, ah->ah_sh, reg);
+#if _BYTE_ORDER == _BIG_ENDIAN
+	if (reg >= 0x4000 && reg < 0x5000)
+		val = le32toh(val);
+#endif
+	return val;
+}
+#endif /* AH_DEBUG || AH_REGOPS_FUNC */
 
 #ifdef AH_ASSERT
 void
@@ -329,8 +348,17 @@
 }
 #endif /* AH_ASSERT */
 
+/*
+ * Delay n microseconds.
+ */
+void
+ath_hal_delay(int n)
+{
+	DELAY(n);
+}
+
 u_int32_t
-OS_GETUPTIME(struct ath_hal *ah)
+ath_hal_getuptime(struct ath_hal *ah)
 {
 	struct bintime bt;
 	getbinuptime(&bt);
@@ -364,4 +392,3 @@
 };
 DECLARE_MODULE(ath_hal, ath_hal_mod, SI_SUB_DRIVERS, SI_ORDER_ANY);
 MODULE_VERSION(ath_hal, 1);
-MODULE_DEPEND(ath_hal, wlan, 1,1,1);

==== //depot/projects/netperf/sys/contrib/dev/ath/freebsd/ah_osdep.h#3 (text+ko) ====

@@ -33,7 +33,7 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGES.
  *
- * $Id: ah_osdep.h,v 1.9 2003/07/26 14:55:11 sam Exp $
+ * $Id: ah_osdep.h,v 1.10 2003/11/01 01:21:31 sam Exp $
  */
 #ifndef _ATH_AH_OSDEP_H_
 #define _ATH_AH_OSDEP_H_
@@ -42,6 +42,7 @@
  */
 #include <sys/param.h>
 #include <sys/systm.h>
+#include <sys/endian.h>
 
 #include <machine/bus.h>
 
@@ -50,25 +51,75 @@
 typedef bus_space_handle_t HAL_BUS_HANDLE;
 typedef bus_addr_t HAL_BUS_ADDR;
 
-#define	OS_DELAY(_n)	DELAY(_n)
+/*
+ * Delay n microseconds.
+ */
+extern	void ath_hal_delay(int);
+#define	OS_DELAY(_n)	ath_hal_delay(_n)
+
 #define	OS_INLINE	__inline
 #define	OS_MEMZERO(_a, _size)		bzero((_a), (_size))
 #define	OS_MEMCPY(_dst, _src, _size)	bcopy((_src), (_dst), (_size))
 #define	OS_MACEQU(_a, _b) \
 	(bcmp((_a), (_b), IEEE80211_ADDR_LEN) == 0)
+#define	OS_QSORT(_a, _n, _es, _cmp)	qsort((_a), (_n), (_es), (_cmp))
 
 struct ath_hal;
-extern 	u_int32_t OS_GETUPTIME(struct ath_hal *);
+extern	u_int32_t ath_hal_getuptime(struct ath_hal *);
+#define	OS_GETUPTIME(_ah)	ath_hal_getuptime(_ah)
+
+/*
+ * Register read/write; we assume the registers will always
+ * be memory-mapped.  Note that register accesses are done
+ * using target-specific functions when debugging is enabled
+ * (AH_DEBUG) or we are explicitly configured this way.  The
+ * latter is used on some platforms where the full i/o space
+ * cannot be directly mapped.
+ */
+#if defined(AH_DEBUG) || defined(AH_REGOPS_FUNC) || defined(AH_DEBUG_ALQ)
+#define	OS_REG_WRITE(_ah, _reg, _val)	ath_hal_reg_write(_ah, _reg, _val)
+#define	OS_REG_READ(_ah, _reg)		ath_hal_reg_read(_ah, _reg)
+
+extern	void ath_hal_reg_write(struct ath_hal *ah, u_int reg, u_int32_t val);
+extern	u_int32_t ath_hal_reg_read(struct ath_hal *ah, u_int reg);
+#else
+/*

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list