PERFORCE change 58740 for review
Robert Watson
rwatson at FreeBSD.org
Mon Aug 2 15:37:04 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=58740
Change 58740 by rwatson at rwatson_paprika on 2004/08/02 22:36:53
Integ netperf_socket from FreeBSD CVS:
/dev/null re-fixed for SMP.
/dev/io re-fixed.
More ALTQ driver support.
TLS definitions for ELF.
ATPIC interrupt optimizations.
More KSE commenting.
MBUMA/UMA now handle failed init.
MAX_SAFE_MAXVNODES.
Affected files ...
.. //depot/projects/netperf_socket/sys/amd64/amd64/mem.c#7 integrate
.. //depot/projects/netperf_socket/sys/amd64/include/elf.h#2 integrate
.. //depot/projects/netperf_socket/sys/arm/include/endian.h#3 integrate
.. //depot/projects/netperf_socket/sys/arm/include/vmparam.h#2 integrate
.. //depot/projects/netperf_socket/sys/boot/ofw/common/main.c#2 integrate
.. //depot/projects/netperf_socket/sys/boot/ofw/libofw/libofw.h#2 integrate
.. //depot/projects/netperf_socket/sys/boot/ofw/libofw/ofw_memory.c#2 integrate
.. //depot/projects/netperf_socket/sys/boot/powerpc/loader/Makefile#4 integrate
.. //depot/projects/netperf_socket/sys/dev/an/if_an.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/ath/if_ath.c#7 integrate
.. //depot/projects/netperf_socket/sys/dev/en/midway.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/hme/if_hme.c#9 integrate
.. //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis.c#16 integrate
.. //depot/projects/netperf_socket/sys/dev/io/iodev.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/mem/memdev.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/null/null.c#7 integrate
.. //depot/projects/netperf_socket/sys/dev/random/randomdev.c#12 integrate
.. //depot/projects/netperf_socket/sys/dev/syscons/syscons.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/ehci.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/ehci_pci.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/ehcireg.h#5 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/ehcivar.h#3 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/ohci.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/ohci_pci.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/ohcivar.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/uhci.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/uhci_pci.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/uhcivar.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/uhub.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/usb.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/usb_mem.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/wi/if_wi.c#6 integrate
.. //depot/projects/netperf_socket/sys/geom/nop/g_nop.c#5 integrate
.. //depot/projects/netperf_socket/sys/i386/i386/intr_machdep.c#6 integrate
.. //depot/projects/netperf_socket/sys/i386/i386/io_apic.c#5 integrate
.. //depot/projects/netperf_socket/sys/i386/i386/mem.c#9 integrate
.. //depot/projects/netperf_socket/sys/i386/include/elf.h#2 integrate
.. //depot/projects/netperf_socket/sys/i386/include/intr_machdep.h#3 integrate
.. //depot/projects/netperf_socket/sys/i386/isa/atpic.c#7 integrate
.. //depot/projects/netperf_socket/sys/ia64/conf/GENERIC#6 integrate
.. //depot/projects/netperf_socket/sys/ia64/conf/SKI#4 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/mem.c#7 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_kse.c#7 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_mbuf.c#3 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_proc.c#13 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_thread.c#20 integrate
.. //depot/projects/netperf_socket/sys/kern/sys_pipe.c#5 integrate
.. //depot/projects/netperf_socket/sys/kern/vfs_subr.c#18 integrate
.. //depot/projects/netperf_socket/sys/modules/Makefile#14 integrate
.. //depot/projects/netperf_socket/sys/pci/if_vr.c#11 integrate
.. //depot/projects/netperf_socket/sys/powerpc/conf/GENERIC#7 integrate
.. //depot/projects/netperf_socket/sys/powerpc/powerpc/trap.c#5 integrate
.. //depot/projects/netperf_socket/sys/security/mac/mac_label.c#2 integrate
.. //depot/projects/netperf_socket/sys/sys/gpt.h#2 integrate
.. //depot/projects/netperf_socket/sys/sys/mbuf.h#16 integrate
.. //depot/projects/netperf_socket/sys/sys/param.h#22 integrate
.. //depot/projects/netperf_socket/sys/vm/uma.h#4 integrate
.. //depot/projects/netperf_socket/sys/vm/uma_core.c#12 integrate
.. //depot/projects/netperf_socket/sys/vm/uma_dbg.c#3 integrate
.. //depot/projects/netperf_socket/sys/vm/uma_dbg.h#2 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_map.c#16 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_mmap.c#10 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_object.c#10 integrate
Differences ...
==== //depot/projects/netperf_socket/sys/amd64/amd64/mem.c#7 (text+ko) ====
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.117 2004/08/01 11:40:50 markm Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.119 2004/08/02 20:36:47 markm Exp $");
/*
* Memory special file
@@ -47,6 +47,7 @@
#include <sys/conf.h>
#include <sys/fcntl.h>
#include <sys/ioccom.h>
+#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/memrange.h>
@@ -58,6 +59,7 @@
#include <sys/uio.h>
#include <machine/specialreg.h>
+#include <machine/vmparam.h>
#include <vm/vm.h>
#include <vm/pmap.h>
@@ -65,8 +67,19 @@
#include <machine/memdev.h>
+/*
+ * Used in /dev/mem drivers and elsewhere
+ */
+MALLOC_DEFINE(M_MEMDESC, "memdesc", "memory range descriptors");
struct mem_range_softc mem_range_softc;
+void
+mem_range_AP_init(void)
+{
+ if (mem_range_softc.mr_op && mem_range_softc.mr_op->initAP)
+ mem_range_softc.mr_op->initAP(&mem_range_softc);
+}
+
/* ARGSUSED */
int
memrw(struct cdev *dev, struct uio *uio, int flags)
@@ -137,8 +150,10 @@
* allow user processes to MMAP some memory sections
* instead of going through read/write
*/
+/* ARGSUSED */
int
-memmmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, int prot)
+memmmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr,
+ int prot __unused)
{
if (minor(dev) == CDEV_MINOR_MEM)
*paddr = offset;
@@ -154,8 +169,9 @@
* This is basically just an ioctl shim for mem_range_attr_get
* and mem_range_attr_set.
*/
+/* ARGSUSED */
int
-memioctl(struct cdev *dev, u_long cmd, caddr_t data, int flags,
+memioctl(struct cdev *dev __unused, u_long cmd, caddr_t data, int flags,
struct thread *td)
{
int nd, error = 0;
@@ -236,15 +252,6 @@
return (mem_range_softc.mr_op->set(&mem_range_softc, mrd, arg));
}
-#ifdef SMP
-void
-mem_range_AP_init(void)
-{
- if (mem_range_softc.mr_op && mem_range_softc.mr_op->initAP)
- (mem_range_softc.mr_op->initAP(&mem_range_softc));
-}
-#endif
-
void
dev_mem_md_init(void)
{
==== //depot/projects/netperf_socket/sys/amd64/include/elf.h#2 (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/amd64/include/elf.h,v 1.16 2003/09/25 01:10:23 peter Exp $
+ * $FreeBSD: src/sys/amd64/include/elf.h,v 1.17 2004/08/02 19:12:17 dfr Exp $
*/
#ifndef _MACHINE_ELF_H_
@@ -124,8 +124,16 @@
#define R_X86_64_PC16 13 /* Add 16 bit signed extended pc relative symbol value */
#define R_X86_64_8 14 /* Add 8 bit zero extended symbol value */
#define R_X86_64_PC8 15 /* Add 8 bit signed extended pc relative symbol value */
+#define R_X86_64_DTPMOD64 16 /* ID of module containing symbol */
+#define R_X86_64_DTPOFF64 17 /* Offset in TLS block */
+#define R_X86_64_TPOFF64 18 /* Offset in static TLS block */
+#define R_X86_64_TLSGD 19 /* PC relative offset to GD GOT entry */
+#define R_X86_64_TLSLD 20 /* PC relative offset to LD GOT entry */
+#define R_X86_64_DTPOFF32 21 /* Offset in TLS block */
+#define R_X86_64_GOTTPOFF 22 /* PC relative offset to IE GOT entry */
+#define R_X86_64_TPOFF32 23 /* Offset in static TLS block */
-#define R_X86_64_COUNT 16 /* Count of defined relocation types. */
+#define R_X86_64_COUNT 24 /* Count of defined relocation types. */
/* Define "machine" characteristics */
#if __ELF_WORD_SIZE == 32
==== //depot/projects/netperf_socket/sys/arm/include/endian.h#3 (text+ko) ====
@@ -27,7 +27,7 @@
*
* @(#)endian.h 8.1 (Berkeley) 6/10/93
* $NetBSD: endian.h,v 1.7 1999/08/21 05:53:51 simonb Exp $
- * $FreeBSD: src/sys/arm/include/endian.h,v 1.3 2004/05/04 22:24:56 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/endian.h,v 1.4 2004/08/02 12:24:18 cognet Exp $
*/
#ifndef _ENDIAN_H_
@@ -56,8 +56,8 @@
#define _QUAD_LOWWORD 0
#define __ntohl(x) (__bswap32(x))
#define __ntohs(x) (__bswap16(x))
-#define __htonl(x) (__bswap16(x))
-#define __htons(x) (__bswap32(x))
+#define __htonl(x) (__bswap32(x))
+#define __htons(x) (__bswap16(x))
static __inline __uint64_t
__bswap64(__uint64_t _x)
==== //depot/projects/netperf_socket/sys/arm/include/vmparam.h#2 (text+ko) ====
@@ -28,7 +28,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.1 2004/05/14 11:46:44 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.2 2004/08/02 12:23:53 cognet Exp $
*/
#ifndef _MACHINE_VMPARAM_H_
@@ -112,8 +112,9 @@
#define VM_MAX_KERNEL_ADDRESS 0xffffffff
/*
- * * Virtual size (bytes) for various kernel submaps.
- * */
+ * Virtual size (bytes) for various kernel submaps.
+ */
+
#ifndef VM_KMEM_SIZE
#define VM_KMEM_SIZE (12*1024*1024)
#endif
==== //depot/projects/netperf_socket/sys/boot/ofw/common/main.c#2 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/ofw/common/main.c,v 1.5 2004/01/04 23:27:31 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/ofw/common/main.c,v 1.6 2004/08/02 03:05:09 grehan Exp $");
#include <stand.h>
#include "openfirm.h"
@@ -42,6 +42,7 @@
extern char bootprog_maker[];
phandle_t chosen;
+u_int32_t acells;
static char bootargs[128];
@@ -60,31 +61,40 @@
setheap(base, (void *)((int)base + HEAP_SIZE));
}
-uint32_t
+uint64_t
memsize(void)
{
ihandle_t meminstance;
phandle_t memory;
struct ofw_reg reg[4];
+ struct ofw_reg2 reg2[8];
int i;
- int sz, memsz;
+ u_int64_t sz, memsz;
OF_getprop(chosen, "memory", &meminstance, sizeof(meminstance));
memory = OF_instance_to_package(meminstance);
- sz = OF_getprop(memory, "reg", ®, sizeof(reg));
+ if (acells == 1) {
+ sz = OF_getprop(memory, "reg", ®, sizeof(reg));
+ sz /= sizeof(struct ofw_reg);
+
+ for (i = 0, memsz = 0; i < sz; i++)
+ memsz += reg[i].size;
+ } else if (acells == 2) {
+ sz = OF_getprop(memory, "reg", ®2, sizeof(reg2));
+ sz /= sizeof(struct ofw_reg2);
- sz /= sizeof(struct ofw_reg);
+ for (i = 0, memsz = 0; i < sz; i++)
+ memsz += reg2[i].size;
+ }
- for (i = 0, memsz = 0; i < sz; i++)
- memsz += reg[i].size;
-
return (memsz);
}
int
main(int (*openfirm)(void *))
{
+ phandle_t root;
int i;
char bootpath[64];
char *ch;
@@ -96,8 +106,12 @@
*/
OF_init(openfirm);
+ root = OF_finddevice("/");
chosen = OF_finddevice("/chosen");
+ acells = 1;
+ OF_getprop(root, "#address-cells", &acells, sizeof(acells));
+
/*
* Set up console.
*/
@@ -125,7 +139,7 @@
printf("\n");
printf("%s, Revision %s\n", bootprog_name, bootprog_rev);
printf("(%s, %s)\n", bootprog_maker, bootprog_date);
- printf("Memory: %dKB\n", memsize() / 1024);
+ printf("Memory: %lldKB\n", memsize() / 1024);
OF_getprop(chosen, "bootpath", bootpath, 64);
ch = index(bootpath, ':');
@@ -142,7 +156,7 @@
bargc = 0;
parse(&bargc, &bargv, bootargs);
if (bargc == 1)
- env_setenv("currdev", EV_VOLATILE, bargv[0], ofw_setcurrdev,
+ env_setenv("currdev", EV_VOLATILE, bargv[0], ofw_setcurrdev,
env_nounset);
else
env_setenv("currdev", EV_VOLATILE, bootpath,
@@ -180,6 +194,6 @@
command_memmap(int argc, char **argv)
{
- ofw_memmap();
+ ofw_memmap(acells);
return (CMD_OK);
}
==== //depot/projects/netperf_socket/sys/boot/ofw/libofw/libofw.h#2 (text+ko) ====
@@ -22,7 +22,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/boot/ofw/libofw/libofw.h,v 1.8 2003/12/21 12:38:25 grehan Exp $
+ * $FreeBSD: src/sys/boot/ofw/libofw/libofw.h,v 1.9 2004/08/02 03:05:09 grehan Exp $
*/
#include "openfirm.h"
@@ -50,7 +50,7 @@
extern int ofw_boot(void);
extern int ofw_autoload(void);
-void ofw_memmap(void);
+void ofw_memmap(int);
void *ofw_alloc_heap(unsigned int);
void ofw_release_heap(void);
@@ -70,4 +70,11 @@
cell_t size;
};
+struct ofw_reg2
+{
+ cell_t base_hi;
+ cell_t base_lo;
+ cell_t size;
+};
+
extern int (*openfirmware)(void *);
==== //depot/projects/netperf_socket/sys/boot/ofw/libofw/ofw_memory.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_memory.c,v 1.4 2004/01/04 23:27:31 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_memory.c,v 1.5 2004/08/02 03:05:09 grehan Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -45,34 +45,74 @@
int mode;
};
+struct ofw_mapping2 {
+ vm_offset_t va;
+ int len;
+ vm_offset_t pa_hi;
+ vm_offset_t pa_lo;
+ int mode;
+};
+
void
-ofw_memmap(void)
+ofw_memmap(int acells)
{
- phandle_t mmup;
- int nmapping, i;
- struct ofw_mapping mappings[256];
-
- mmup = OF_instance_to_package(mmu);
-
- bzero(mappings, sizeof(mappings));
-
- nmapping = OF_getprop(mmup, "translations", mappings, sizeof(mappings));
+ struct ofw_mapping *mapptr;
+ struct ofw_mapping2 *mapptr2;
+ phandle_t mmup;
+ int nmapping, i;
+ u_char mappings[256 * sizeof(struct ofw_mapping2)];
+ char lbuf[80];
+
+ mmup = OF_instance_to_package(mmu);
+
+ bzero(mappings, sizeof(mappings));
+
+ nmapping = OF_getprop(mmup, "translations", mappings, sizeof(mappings));
if (nmapping == -1) {
printf("Could not get memory map (%d)\n",
nmapping);
return;
}
- nmapping /= sizeof(struct ofw_mapping);
+
+ pager_open();
+ if (acells == 1) {
+ nmapping /= sizeof(struct ofw_mapping);
+ mapptr = (struct ofw_mapping *) mappings;
+
+ printf("%17s\t%17s\t%8s\t%6s\n", "Virtual Range",
+ "Physical Range", "#Pages", "Mode");
+
+ for (i = 0; i < nmapping; i++) {
+ sprintf(lbuf, "%08x-%08x\t%08x-%08x\t%8d\t%6x\n",
+ mapptr[i].va,
+ mapptr[i].va + mapptr[i].len,
+ mapptr[i].pa,
+ mapptr[i].pa + mapptr[i].len,
+ mapptr[i].len / 0x1000,
+ mapptr[i].mode);
+ if (pager_output(lbuf))
+ break;
+ }
+ } else {
+ nmapping /= sizeof(struct ofw_mapping2);
+ mapptr2 = (struct ofw_mapping2 *) mappings;
- printf("%17s %17s %8s %6s\n", "Virtual Range", "Physical Range",
- "#Pages", "Mode");
+ printf("%17s\t%17s\t%8s\t%6s\n", "Virtual Range",
+ "Physical Range", "#Pages", "Mode");
- for (i = 0; i < nmapping; i++) {
- printf("%08x-%08x %08x-%08x %8d %6x\n", mappings[i].pa,
- mappings[i].pa + mappings[i].len, mappings[i].va,
- mappings[i].va + mappings[i].len, mappings[i].len / 0x1000,
- mappings[i].mode);
+ for (i = 0; i < nmapping; i++) {
+ sprintf(lbuf, "%08x-%08x\t%08x-%08x\t%8d\t%6x\n",
+ mapptr2[i].va,
+ mapptr2[i].va + mapptr2[i].len,
+ mapptr2[i].pa_lo,
+ mapptr2[i].pa_lo + mapptr2[i].len,
+ mapptr2[i].len / 0x1000,
+ mapptr2[i].mode);
+ if (pager_output(lbuf))
+ break;
+ }
}
+ pager_close();
}
void *
==== //depot/projects/netperf_socket/sys/boot/powerpc/loader/Makefile#4 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/powerpc/loader/Makefile,v 1.14 2004/07/08 12:52:35 grehan Exp $
+# $FreeBSD: src/sys/boot/powerpc/loader/Makefile,v 1.15 2004/08/02 03:06:21 grehan Exp $
PROG= loader
NOMAN=
@@ -69,6 +69,9 @@
LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.powerpc
+# 64-bit bridge extensions
+CFLAGS+= -Wa,-mppc64bridge
+
# Pull in common loader code
.PATH: ${.CURDIR}/../../ofw/common
.include "${.CURDIR}/../../ofw/common/Makefile.inc"
==== //depot/projects/netperf_socket/sys/dev/an/if_an.c#6 (text+ko) ====
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.62 2004/06/17 02:19:11 ambrisko Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.63 2004/08/01 23:58:03 mlaier Exp $");
/*
* The Aironet 4500/4800 series cards come in PCMCIA, ISA and PCI form.
@@ -760,7 +760,9 @@
ifp->if_watchdog = an_watchdog;
ifp->if_init = an_init;
ifp->if_baudrate = 10000000;
- ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
+ IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN);
+ ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN;
+ IFQ_SET_READY(&ifp->if_snd);
bzero(sc->an_config.an_nodename, sizeof(sc->an_config.an_nodename));
bcopy(AN_DEFAULT_NODENAME, sc->an_config.an_nodename,
@@ -1254,7 +1256,7 @@
/* Re-enable interrupts. */
CSR_WRITE_2(sc, AN_INT_EN(sc->mpi350), AN_INTRS(sc->mpi350));
- if ((ifp->if_flags & IFF_UP) && (ifp->if_snd.ifq_head != NULL))
+ if ((ifp->if_flags & IFF_UP) && !IFQ_DRV_IS_EMPTY(&ifp->if_snd))
an_start(ifp);
AN_UNLOCK(sc);
@@ -2655,7 +2657,7 @@
/* We can't send in monitor mode so toss any attempts. */
if (sc->an_monitor && (ifp->if_flags & IFF_PROMISC)) {
for (;;) {
- IF_DEQUEUE(&ifp->if_snd, m0);
+ IFQ_DRV_DEQUEUE(&ifp->if_snd, m0);
if (m0 == NULL)
break;
m_freem(m0);
@@ -2669,7 +2671,7 @@
bzero((char *)&tx_frame_802_3, sizeof(tx_frame_802_3));
while (sc->an_rdata.an_tx_ring[idx] == 0) {
- IF_DEQUEUE(&ifp->if_snd, m0);
+ IFQ_DRV_DEQUEUE(&ifp->if_snd, m0);
if (m0 == NULL)
break;
@@ -2730,7 +2732,7 @@
while (sc->an_rdata.an_tx_empty ||
idx != sc->an_rdata.an_tx_cons) {
- IF_DEQUEUE(&ifp->if_snd, m0);
+ IFQ_DRV_DEQUEUE(&ifp->if_snd, m0);
if (m0 == NULL) {
break;
}
==== //depot/projects/netperf_socket/sys/dev/ath/if_ath.c#7 (text+ko) ====
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.54 2004/04/05 04:42:42 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.55 2004/08/01 23:58:04 mlaier Exp $");
/*
* Driver for the Atheros Wireless LAN controller.
@@ -304,7 +304,9 @@
ifp->if_watchdog = ath_watchdog;
ifp->if_ioctl = ath_ioctl;
ifp->if_init = ath_init;
- ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
+ IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN);
+ ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN;
+ IFQ_SET_READY(&ifp->if_snd);
ic->ic_softc = sc;
ic->ic_newassoc = ath_newassoc;
@@ -662,7 +664,7 @@
ath_stoprecv(sc);
else
sc->sc_rxlink = NULL;
- IF_DRAIN(&ifp->if_snd);
+ IFQ_DRV_PURGE(&ifp->if_snd);
ath_beacon_free(sc);
ieee80211_new_state(ic, IEEE80211_S_INIT, -1);
if (!sc->sc_invalid)
@@ -759,7 +761,7 @@
ATH_TXBUF_UNLOCK(sc);
break;
}
- IF_DEQUEUE(&ifp->if_snd, m);
+ IFQ_DRV_DEQUEUE(&ifp->if_snd, m); /* XXX: LOCK */
if (m == NULL) {
ATH_TXBUF_LOCK(sc);
TAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list);
==== //depot/projects/netperf_socket/sys/dev/en/midway.c#4 (text+ko) ====
@@ -33,7 +33,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/en/midway.c,v 1.62 2004/07/10 21:03:52 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/en/midway.c,v 1.63 2004/08/02 00:18:34 green Exp $");
/*
*
@@ -437,25 +437,21 @@
*
* LOCK: any, not needed
*/
-static void
-en_map_ctor(void *mem, int size, void *arg)
+static int
+en_map_ctor(void *mem, int size, void *arg, int flags)
{
struct en_softc *sc = arg;
struct en_map *map = mem;
int err;
- if (map->sc == NULL)
- map->sc = sc;
-
- if (!(map->flags & ENMAP_ALLOC)) {
- err = bus_dmamap_create(sc->txtag, 0, &map->map);
- if (err != 0)
- if_printf(&sc->ifatm.ifnet,
- "cannot create DMA map %d\n", err);
- else
- map->flags |= ENMAP_ALLOC;
+ err = bus_dmamap_create(sc->txtag, 0, &map->map);
+ if (err != 0) {
+ if_printf(&sc->ifatm.ifnet, "cannot create DMA map %d\n", err);
+ return (err);
}
- map->flags &= ~ENMAP_LOADED;
+ map->flags = ENMAP_ALLOC;
+ map->sc = sc;
+ return (0);
}
/*
@@ -490,8 +486,7 @@
{
struct en_map *map = mem;
- if (map->flags & ENMAP_ALLOC)
- bus_dmamap_destroy(map->sc->txtag, map->map);
+ bus_dmamap_destroy(map->sc->txtag, map->map);
}
/*********************************************************************/
@@ -1041,11 +1036,9 @@
* locks.
*/
map = uma_zalloc_arg(sc->map_zone, sc, M_NOWAIT);
- if (map == NULL || !(map->flags & ENMAP_ALLOC)) {
+ if (map == NULL) {
/* drop that packet */
EN_COUNT(sc->stats.txnomap);
- if (map != NULL)
- uma_zfree(sc->map_zone, map);
EN_UNLOCK(sc);
m_freem(m);
continue;
@@ -2330,13 +2323,11 @@
if (m != NULL) {
/* M_NOWAIT - called from interrupt context */
map = uma_zalloc_arg(sc->map_zone, sc, M_NOWAIT);
- if (map == NULL || !(map->flags & ENMAP_ALLOC)) {
+ if (map == NULL) {
rx.post_skip += mlen;
m_freem(m);
DBG(sc, SERV, ("rx%td: out of maps",
slot - sc->rxslot));
- if (map->map != NULL)
- uma_zfree(sc->map_zone, map);
goto skip;
}
rx.m = m;
==== //depot/projects/netperf_socket/sys/dev/hme/if_hme.c#9 (text+ko) ====
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/hme/if_hme.c,v 1.27 2004/06/12 02:23:06 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/hme/if_hme.c,v 1.28 2004/08/01 23:58:04 mlaier Exp $");
/*
* HME Ethernet module driver.
@@ -276,7 +276,9 @@
ifp->if_ioctl = hme_ioctl;
ifp->if_init = hme_init;
ifp->if_watchdog = hme_watchdog;
- ifp->if_snd.ifq_maxlen = HME_NTXQ;
+ IFQ_SET_MAXLEN(&ifp->if_snd, HME_NTXQ);
+ ifp->if_snd.ifq_drv_maxlen = HME_NTXQ;
+ IFQ_SET_READY(&ifp->if_snd);
hme_mifinit(sc);
@@ -1002,14 +1004,14 @@
error = 0;
for (;;) {
- IF_DEQUEUE(&ifp->if_snd, m);
+ IFQ_DRV_DEQUEUE(&ifp->if_snd, m);
if (m == NULL)
break;
error = hme_load_txmbuf(sc, m);
if (error == -1) {
ifp->if_flags |= IFF_OACTIVE;
- IF_PREPEND(&ifp->if_snd, m);
+ IFQ_DRV_PREPEND(&ifp->if_snd, m);
break;
} else if (error > 0) {
printf("hme_start: error %d while loading mbuf\n",
==== //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis.c#16 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.67 2004/08/01 22:25:12 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.68 2004/08/01 23:58:04 mlaier Exp $");
#include "opt_bdg.h"
@@ -490,7 +490,13 @@
ifp->if_watchdog = ndis_watchdog;
ifp->if_init = ndis_init;
ifp->if_baudrate = 10000000;
+#if __FreeBSD_version < 502114
ifp->if_snd.ifq_maxlen = 50;
+#else
+ IFQ_SET_MAXLEN(&ifp->if_snd, 50);
+ ifp->if_snd.ifq_drv_maxlen = 25;
+ IFQ_SET_READY(&ifp->if_snd);
+#endif
ifp->if_capenable = ifp->if_capabilities;
ifp->if_hwassist = sc->ndis_hwassist;
@@ -1151,7 +1157,11 @@
struct ifnet *ifp;
ifp = arg;
+#if __FreeBSD_version < 502114
if (ifp->if_snd.ifq_head != NULL)
+#else
+ if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
+#endif
ndis_start(ifp);
return;
}
@@ -1191,15 +1201,24 @@
p0 = &sc->ndis_txarray[sc->ndis_txidx];
while(sc->ndis_txpending) {
+#if __FreeBSD_version < 502114
IF_DEQUEUE(&ifp->if_snd, m);
+#else
+ IFQ_DRV_DEQUEUE(&ifp->if_snd, m);
+#endif
if (m == NULL)
break;
sc->ndis_txarray[sc->ndis_txidx] = NULL;
if (ndis_mtop(m, &sc->ndis_txarray[sc->ndis_txidx])) {
+#if __FreeBSD_version >= 502114
+ IFQ_DRV_PREPEND(&ifp->if_snd, m);
+#endif
NDIS_UNLOCK(sc);
+#if __FreeBSD_version < 502114
IF_PREPEND(&ifp->if_snd, m);
+#endif
return;
}
==== //depot/projects/netperf_socket/sys/dev/io/iodev.c#2 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/io/iodev.c,v 1.1 2004/08/01 11:40:52 markm Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/io/iodev.c,v 1.2 2004/08/02 20:42:28 markm Exp $");
#include <sys/param.h>
#include <sys/conf.h>
@@ -87,3 +87,4 @@
}
DEV_MODULE(io, io_modevent, NULL);
+MODULE_VERSION(io, 1);
==== //depot/projects/netperf_socket/sys/dev/mem/memdev.c#2 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mem/memdev.c,v 1.1 2004/08/01 11:40:52 markm Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mem/memdev.c,v 1.2 2004/08/02 20:42:28 markm Exp $");
#include <sys/param.h>
#include <sys/conf.h>
@@ -106,3 +106,4 @@
}
DEV_MODULE(mem, mem_modevent, NULL);
+MODULE_VERSION(mem, 1);
==== //depot/projects/netperf_socket/sys/dev/null/null.c#7 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/null/null.c,v 1.29 2004/08/01 18:22:44 markm Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/null/null.c,v 1.30 2004/08/02 19:59:41 markm Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -49,8 +49,8 @@
static d_read_t zero_read;
#define CDEV_MAJOR 2
-#define NULL_MINOR 0
-#define ZERO_MINOR 1
+#define NULL_MINOR 2
+#define ZERO_MINOR 12
static struct cdevsw null_cdevsw = {
.d_version = D_VERSION,
@@ -140,3 +140,4 @@
}
DEV_MODULE(null, null_modevent, NULL);
+MODULE_VERSION(null, 1);
==== //depot/projects/netperf_socket/sys/dev/random/randomdev.c#12 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/random/randomdev.c,v 1.57 2004/07/18 09:07:58 markm Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/random/randomdev.c,v 1.58 2004/08/02 20:42:28 markm Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -227,3 +227,4 @@
}
DEV_MODULE(random, random_modevent, NULL);
+MODULE_VERSION(random, 1);
==== //depot/projects/netperf_socket/sys/dev/syscons/syscons.c#11 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/syscons/syscons.c,v 1.425 2004/07/28 06:29:02 kan Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/syscons/syscons.c,v 1.426 2004/08/02 02:07:56 scottl Exp $");
#include "opt_syscons.h"
#include "opt_splash.h"
@@ -135,7 +135,7 @@
static int enable_panic_key;
SYSCTL_INT(_machdep, OID_AUTO, enable_panic_key, CTLFLAG_RW, &enable_panic_key,
- 0, "");
+ 0, "Enable panic via keypress specified in kbdmap(5)");
#define SC_CONSOLECTL 255
==== //depot/projects/netperf_socket/sys/dev/usb/ehci.c#8 (text+ko) ====
@@ -17,7 +17,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/ehci.c,v 1.12 2004/08/01 18:47:42 iedowse Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/ehci.c,v 1.14 2004/08/02 15:37:34 iedowse Exp $");
/*
* Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -168,11 +168,6 @@
} u;
};
-#if defined(__NetBSD__) || defined(__OpenBSD__)
-Static void ehci_shutdown(void *);
-Static void ehci_power(int, void *);
-#endif
-
Static usbd_status ehci_open(usbd_pipe_handle);
Static void ehci_poll(struct usbd_bus *);
Static void ehci_softintr(void *);
@@ -930,32 +925,38 @@
ehci_intr1(sc);
}
-#if defined(__NetBSD__) || defined(__OpenBSD__)
int
ehci_detach(struct ehci_softc *sc, int flags)
{
int rv = 0;
+#if defined(__NetBSD__) || defined(__OpenBSD__)
if (sc->sc_child != NULL)
rv = config_detach(sc->sc_child, flags);
if (rv != 0)
return (rv);
+#endif
+ EOWRITE4(sc, EHCI_USBINTR, sc->sc_eintrs);
+ EOWRITE4(sc, EHCI_USBCMD, 0);
+ EOWRITE4(sc, EHCI_USBCMD, EHCI_CMD_HCRESET);
usb_uncallout(sc->sc_tmo_pcd, ehci_pcd_enable, sc);
+#if defined(__NetBSD__) || defined(__OpenBSD__)
if (sc->sc_powerhook != NULL)
powerhook_disestablish(sc->sc_powerhook);
if (sc->sc_shutdownhook != NULL)
shutdownhook_disestablish(sc->sc_shutdownhook);
+#endif
usb_delay_ms(&sc->sc_bus, 300); /* XXX let stray task complete */
+ usb_freemem(&sc->sc_bus, &sc->sc_fldma);
/* XXX free other data structures XXX */
return (rv);
}
-#endif
#if defined(__NetBSD__) || defined(__OpenBSD__)
int
@@ -982,10 +983,9 @@
* Handle suspend/resume.
*
* We need to switch to polling mode here, because this routine is
- * called from an intterupt context. This is all right since we
+ * called from an interrupt context. This is all right since we
* are almost suspended anyway.
*/
-#if defined(__NetBSD__) || defined(__OpenBSD__)
void
ehci_power(int why, void *v)
{
@@ -1001,7 +1001,9 @@
s = splhardusb();
switch (why) {
case PWR_SUSPEND:
+#if defined(__NetBSD__) || defined(__OpenBSD__)
case PWR_STANDBY:
+#endif
sc->sc_bus.use_polling++;
#if 0
OOO
@@ -1045,19 +1047,19 @@
#endif
sc->sc_bus.use_polling--;
break;
+#if defined(__NetBSD__) || defined(__OpenBSD__)
case PWR_SOFTSUSPEND:
case PWR_SOFTSTANDBY:
case PWR_SOFTRESUME:
break;
+#endif
}
splx(s);
}
-#endif
/*
* Shut down the controller when the system is going down.
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list