CVS commit: src/sys/arch/sun68k/stand/libsa

2009-09-25 Thread Havard Eidnes
Module Name:src
Committed By:   he
Date:   Fri Sep 25 11:19:35 UTC 2009

Modified Files:
src/sys/arch/sun68k/stand/libsa: Makefile.inc

Log Message:
Use .PATH.S instead of giving a source file with fully qualified path.
This should avoid the sun3 port contaminating its source tree during build
with .d and .o files corresponding to ctrlsp.S.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/sun68k/stand/libsa/Makefile.inc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/sun68k/stand/libsa/Makefile.inc
diff -u src/sys/arch/sun68k/stand/libsa/Makefile.inc:1.1 src/sys/arch/sun68k/stand/libsa/Makefile.inc:1.2
--- src/sys/arch/sun68k/stand/libsa/Makefile.inc:1.1	Fri Mar 20 11:42:25 2009
+++ src/sys/arch/sun68k/stand/libsa/Makefile.inc	Fri Sep 25 11:19:35 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.inc,v 1.1 2009/03/20 11:42:25 tsutsui Exp $
+#	$NetBSD: Makefile.inc,v 1.2 2009/09/25 11:19:35 he Exp $
 
 S!=	cd ${SA_EXTRADIR}/../../../..; pwd
 
@@ -11,7 +11,8 @@
 	promboot.c promcons.c promdev.c putstr.c \
 	sun2.c sun3.c sun3x.c xxboot.c
 
-SRCS+=	${S}/arch/sun68k/sun68k/ctrlsp.S
+.PATH.S: ${S}/arch/sun68k/sun68k
+SRCS+=	ctrlsp.S
 
 # XXX libkern builds these only on m68000
 .PATH.S: ${S}/../common/lib/libc/arch/m68k/gen



CVS commit: src/distrib/sets/lists/tests

2009-09-25 Thread Nicolas Joly
Module Name:src
Committed By:   njoly
Date:   Fri Sep 25 11:58:08 UTC 2009

Modified Files:
src/distrib/sets/lists/tests: mi

Log Message:
Fix t_dlinfo debug name (add missing .debug).


To generate a diff of this commit:
cvs rdiff -u -r1.51 -r1.52 src/distrib/sets/lists/tests/mi

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/sets/lists/tests/mi
diff -u src/distrib/sets/lists/tests/mi:1.51 src/distrib/sets/lists/tests/mi:1.52
--- src/distrib/sets/lists/tests/mi:1.51	Thu Sep 24 21:36:42 2009
+++ src/distrib/sets/lists/tests/mi	Fri Sep 25 11:58:08 2009
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.51 2009/09/24 21:36:42 pooka Exp $
+# $NetBSD: mi,v 1.52 2009/09/25 11:58:08 njoly Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -141,7 +141,7 @@
 ./usr/libdata/debug/usr/tests/lib/libc/string/t_popcount.debug		tests-lib-debug	debug
 ./usr/libdata/debug/usr/tests/libexec	tests-lib-debug
 ./usr/libdata/debug/usr/tests/libexec/ld.elf_sotests-libexec-debug
-./usr/libdata/debug/usr/tests/libexec/ld.elf_so/t_dlinfo		tests-libexec-debug debug
+./usr/libdata/debug/usr/tests/libexec/ld.elf_so/t_dlinfo.debug		tests-libexec-debug debug
 ./usr/libdata/debug/usr/tests/modules	tests-sys-debug
 ./usr/libdata/debug/usr/tests/modules/t_modctl.debug			tests-sys-debug		debug
 ./usr/libdata/debug/usr/tests/net	tests-net-debug



CVS commit: src/sys/arch/i386/include

2009-09-25 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Fri Sep 25 13:51:27 UTC 2009

Modified Files:
src/sys/arch/i386/include: npx.h

Log Message:
The FPU Tag word is a 16bit register, in FPU (387) mode it
defines 2-bit tags for each FPU data register, in MMX mode it
defines 1-bit tags for each data register. The single bit
tags are stored in the lower 8 bits and thus in the first byte
of the save frame.

See amd64/include/fpu.h and the IA-32 Software Developer's manual Vol 2A.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/i386/include/npx.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/i386/include/npx.h
diff -u src/sys/arch/i386/include/npx.h:1.22 src/sys/arch/i386/include/npx.h:1.23
--- src/sys/arch/i386/include/npx.h:1.22	Tue May  2 19:03:24 2006
+++ src/sys/arch/i386/include/npx.h	Fri Sep 25 13:51:27 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: npx.h,v 1.22 2006/05/02 19:03:24 drochner Exp $	*/
+/*	$NetBSD: npx.h,v 1.23 2009/09/25 13:51:27 mlelstv Exp $	*/
 
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
@@ -81,8 +81,8 @@
 struct envxmm {
 /*0*/	uint16_t en_cw;		/* FPU Control Word */
 	uint16_t en_sw;		/* FPU Status Word */
-	uint8_t  en_rsvd0;
 	uint8_t  en_tw;		/* FPU Tag Word (abridged) */
+	uint8_t  en_rsvd0;
 	uint16_t en_opcode;	/* FPU Opcode */
 	uint32_t en_fip;	/* FPU Instruction Pointer */
 	uint16_t en_fcs;	/* FPU IP selector */



CVS commit: src/sys/arch/amd64/amd64

2009-09-25 Thread Michael van Elst
Module Name:src
Committed By:   mlelstv
Date:   Fri Sep 25 13:56:32 UTC 2009

Modified Files:
src/sys/arch/amd64/amd64: netbsd32_machdep.c

Log Message:
Ensure FP state is reset, if FP is used in a signal handler.
Fixes PR kern/39299 for 32bit code.


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/sys/arch/amd64/amd64/netbsd32_machdep.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amd64/amd64/netbsd32_machdep.c
diff -u src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.58 src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.59
--- src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.58	Sun Aug 16 17:12:47 2009
+++ src/sys/arch/amd64/amd64/netbsd32_machdep.c	Fri Sep 25 13:56:32 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_machdep.c,v 1.58 2009/08/16 17:12:47 pgoyette Exp $	*/
+/*	$NetBSD: netbsd32_machdep.c,v 1.59 2009/09/25 13:56:32 mlelstv Exp $	*/
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.58 2009/08/16 17:12:47 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_machdep.c,v 1.59 2009/09/25 13:56:32 mlelstv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_compat_netbsd.h"
@@ -269,6 +269,9 @@
 	tf->tf_fs = GSEL(GUDATA32_SEL, SEL_UPL);
 	tf->tf_gs = GSEL(GUDATA32_SEL, SEL_UPL);
 
+	/* Ensure FP state is reset, if FP is used. */
+	l->l_md.md_flags &= ~MDP_USEDFPU;
+
 	tf->tf_rip = (uint64_t)catcher;
 	tf->tf_cs = GSEL(GUCODE32_SEL, SEL_UPL);
 	tf->tf_rflags &= ~PSL_CLEARSIG;
@@ -360,6 +363,9 @@
 	tf->tf_rsp = (uint64_t)fp;
 	tf->tf_ss = GSEL(GUDATA32_SEL, SEL_UPL);
 
+	/* Ensure FP state is reset, if FP is used. */
+	l->l_md.md_flags &= ~MDP_USEDFPU;
+
 	/* Remember that we're now on the signal stack. */
 	if (onstack)
 		l->l_sigstk.ss_flags |= SS_ONSTACK;



CVS commit: src/distrib

2009-09-25 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Sep 25 14:09:27 UTC 2009

Modified Files:
src/distrib/common: Makefile.bootcd
src/distrib/i386/cdroms: Makefile.cdrom

Log Message:
Exit with 1 so that we stay in single user mode when sysinst exits with 'x'.
Otherwise things get messed up (no /dev). From Anon Ymous


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/distrib/common/Makefile.bootcd
cvs rdiff -u -r1.12 -r1.13 src/distrib/i386/cdroms/Makefile.cdrom

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/common/Makefile.bootcd
diff -u src/distrib/common/Makefile.bootcd:1.16 src/distrib/common/Makefile.bootcd:1.17
--- src/distrib/common/Makefile.bootcd:1.16	Tue Dec  2 05:06:00 2008
+++ src/distrib/common/Makefile.bootcd	Fri Sep 25 10:09:27 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.bootcd,v 1.16 2008/12/02 10:06:00 hubertf Exp $
+#	$NetBSD: Makefile.bootcd,v 1.17 2009/09/25 14:09:27 christos Exp $
 #
 # Makefile snipped to create a CD/DVD ISO
 #
@@ -67,6 +67,7 @@
 RM?=		rm
 MKDIR?=		mkdir -p
 CHMOD?=		chmod
+ECHO?=		echo
 
 
 CLEANFILES+=	${CDBASE}.iso

Index: src/distrib/i386/cdroms/Makefile.cdrom
diff -u src/distrib/i386/cdroms/Makefile.cdrom:1.12 src/distrib/i386/cdroms/Makefile.cdrom:1.13
--- src/distrib/i386/cdroms/Makefile.cdrom:1.12	Sun Aug 30 18:30:30 2009
+++ src/distrib/i386/cdroms/Makefile.cdrom	Fri Sep 25 10:09:27 2009
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.cdrom,v 1.12 2009/08/30 22:30:30 hubertf Exp $
+# $NetBSD: Makefile.cdrom,v 1.13 2009/09/25 14:09:27 christos Exp $
 
 .include 
 
@@ -48,6 +48,9 @@
 image_md_pre:
 	${MKDIR} cdrom/etc
 	${CP} ${.CURDIR}/../../ramdisks/common/dot.profile cdrom/etc/rc
+	${ECHO} "" >> cdrom/etc/rc
+	${ECHO} "# exit to single user mode" >> cdrom/etc/rc
+	${ECHO} "exit 1" >> cdrom/etc/rc
 	${MKDIR} cdrom/mnt2 cdrom/targetroot
 	${CP} ${SYSINSTDIR}/sysinst cdrom
 	${CHMOD} ugo+rx cdrom/sysinst



CVS commit: src/libexec/ld.elf_so/arch/hppa

2009-09-25 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Fri Sep 25 17:49:56 UTC 2009

Modified Files:
src/libexec/ld.elf_so/arch/hppa: hppa_reloc.c

Log Message:
ld.elf_so grew more PLABELS with dlinfo so bump HPPA_PLABEL_PRE.


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/libexec/ld.elf_so/arch/hppa/hppa_reloc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/libexec/ld.elf_so/arch/hppa/hppa_reloc.c
diff -u src/libexec/ld.elf_so/arch/hppa/hppa_reloc.c:1.29 src/libexec/ld.elf_so/arch/hppa/hppa_reloc.c:1.30
--- src/libexec/ld.elf_so/arch/hppa/hppa_reloc.c:1.29	Sat Aug 29 13:46:54 2009
+++ src/libexec/ld.elf_so/arch/hppa/hppa_reloc.c	Fri Sep 25 17:49:56 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: hppa_reloc.c,v 1.29 2009/08/29 13:46:54 jmmv Exp $	*/
+/*	$NetBSD: hppa_reloc.c,v 1.30 2009/09/25 17:49:56 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2002, 2004 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include 
 #ifndef lint
-__RCSID("$NetBSD: hppa_reloc.c,v 1.29 2009/08/29 13:46:54 jmmv Exp $");
+__RCSID("$NetBSD: hppa_reloc.c,v 1.30 2009/09/25 17:49:56 skrll Exp $");
 #endif /* not lint */
 
 #include 
@@ -117,7 +117,7 @@
  * Because I'm hesitant to use NEW while relocating self,
  * this is a small pool of preallocated PLABELs.
  */
-#define	HPPA_PLABEL_PRE	(12)
+#define	HPPA_PLABEL_PRE	(14)
 static hppa_plabel hppa_plabel_pre[HPPA_PLABEL_PRE];
 static int hppa_plabel_pre_next = 0;
 



CVS commit: src/sys/kern

2009-09-25 Thread David Young
Module Name:src
Committed By:   dyoung
Date:   Fri Sep 25 19:21:09 UTC 2009

Modified Files:
src/sys/kern: kern_subr.c

Log Message:
Replace 'struct device *' with 'device_t', throughout.  No functional
change intended.


To generate a diff of this commit:
cvs rdiff -u -r1.199 -r1.200 src/sys/kern/kern_subr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/kern_subr.c
diff -u src/sys/kern/kern_subr.c:1.199 src/sys/kern/kern_subr.c:1.200
--- src/sys/kern/kern_subr.c:1.199	Thu Apr  2 17:25:24 2009
+++ src/sys/kern/kern_subr.c	Fri Sep 25 19:21:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_subr.c,v 1.199 2009/04/02 17:25:24 drochner Exp $	*/
+/*	$NetBSD: kern_subr.c,v 1.200 2009/09/25 19:21:09 dyoung Exp $	*/
 
 /*-
  * Copyright (c) 1997, 1998, 1999, 2002, 2007, 2008 The NetBSD Foundation, Inc.
@@ -79,7 +79,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: kern_subr.c,v 1.199 2009/04/02 17:25:24 drochner Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_subr.c,v 1.200 2009/09/25 19:21:09 dyoung Exp $");
 
 #include "opt_ddb.h"
 #include "opt_md.h"
@@ -116,9 +116,9 @@
 #include 
 
 /* XXX these should eventually move to subr_autoconf.c */
-static struct device *finddevice(const char *);
-static struct device *getdisk(char *, int, int, dev_t *, int);
-static struct device *parsedisk(char *, int, int, dev_t *);
+static device_t finddevice(const char *);
+static device_t getdisk(char *, int, int, dev_t *, int);
+static device_t parsedisk(char *, int, int, dev_t *);
 static const char *getwedgename(const char *, int);
 
 /*
@@ -132,7 +132,7 @@
 typedef LIST_HEAD(, hook_desc) hook_list_t;
 
 #ifdef TFTPROOT
-int tftproot_dhcpboot(struct device *);
+int tftproot_dhcpboot(device_t);
 #endif
 
 dev_t	dumpcdev;	/* for savecore */
@@ -490,7 +490,7 @@
 static hook_list_t mountroothook_list;
 
 void *
-mountroothook_establish(void (*fn)(struct device *), struct device *dev)
+mountroothook_establish(void (*fn)(device_t), device_t dev)
 {
 	return hook_establish(&mountroothook_list, (void (*)(void *))fn, dev);
 }
@@ -693,7 +693,7 @@
 }
 
 static int
-isswap(struct device *dv)
+isswap(device_t dv)
 {
 	struct dkwedge_info wi;
 	struct vnode *vn;
@@ -736,8 +736,8 @@
  * The device and wedge that we booted from.  If booted_wedge is NULL,
  * the we might consult booted_partition.
  */
-struct device *booted_device;
-struct device *booted_wedge;
+device_t booted_device;
+device_t booted_wedge;
 int booted_partition;
 
 /*
@@ -749,17 +749,17 @@
 	 !device_is_a((dv), "dk"))
 
 void
-setroot(struct device *bootdv, int bootpartition)
+setroot(device_t bootdv, int bootpartition)
 {
-	struct device *dv;
+	device_t dv;
 	int len, majdev;
 	dev_t nrootdev;
 	dev_t ndumpdev = NODEV;
 	char buf[128];
 	const char *rootdevname;
 	const char *dumpdevname;
-	struct device *rootdv = NULL;		/* XXX gcc -Wuninitialized */
-	struct device *dumpdv = NULL;
+	device_t rootdv = NULL;		/* XXX gcc -Wuninitialized */
+	device_t dumpdv = NULL;
 	struct ifnet *ifp;
 	const char *deffsname;
 	struct vfsops *vops;
@@ -820,7 +820,7 @@
 
  top:
 	if (boothowto & RB_ASKNAME) {
-		struct device *defdumpdv;
+		device_t defdumpdv;
 
 		for (;;) {
 			printf("root device");
@@ -1114,7 +1114,7 @@
 	aprint_normal("\n");
 }
 
-static struct device *
+static device_t
 finddevice(const char *name)
 {
 	const char *wname;
@@ -1125,10 +1125,10 @@
 	return device_find_by_xname(name);
 }
 
-static struct device *
+static device_t
 getdisk(char *str, int len, int defpart, dev_t *devp, int isdump)
 {
-	struct device	*dv;
+	device_t dv;
 
 	if ((dv = parsedisk(str, len, defpart, devp)) == NULL) {
 		printf("use one of:");
@@ -1164,10 +1164,10 @@
 	return name + wpfxlen;
 }
 
-static struct device *
+static device_t
 parsedisk(char *str, int len, int defpart, dev_t *devp)
 {
-	struct device *dv;
+	device_t dv;
 	const char *wname;
 	char *cp, c;
 	int majdev, part;



CVS commit: src

2009-09-25 Thread Marc Balmer
Module Name:src
Committed By:   mbalmer
Date:   Fri Sep 25 19:37:03 UTC 2009

Modified Files:
src/share/man/man4: gpio.4
src/sys/sys: gpio.h
src/usr.sbin/gpioctl: gpioctl.8 gpioctl.c

Log Message:
Jonatha Kollasch has a GPIO device that can pulse the output lines.
Support it wuth the GPIO_PIN_PULSE attribute and the 'pulse' paramater
to gpioctl.  Discussed with Jonathan.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/share/man/man4/gpio.4
cvs rdiff -u -r1.5 -r1.6 src/sys/sys/gpio.h
cvs rdiff -u -r1.5 -r1.6 src/usr.sbin/gpioctl/gpioctl.8
cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/gpioctl/gpioctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man4/gpio.4
diff -u src/share/man/man4/gpio.4:1.14 src/share/man/man4/gpio.4:1.15
--- src/share/man/man4/gpio.4:1.14	Sun Aug 23 15:41:28 2009
+++ src/share/man/man4/gpio.4	Fri Sep 25 19:37:03 2009
@@ -1,4 +1,4 @@
-.\" $NetBSD: gpio.4,v 1.14 2009/08/23 15:41:28 wiz Exp $
+.\" $NetBSD: gpio.4,v 1.15 2009/09/25 19:37:03 mbalmer Exp $
 .\"	$OpenBSD: gpio.4,v 1.5 2004/11/23 09:39:29 reyk Exp $
 .\"
 .\" Copyright (c) 2004 Alexander Yurchenko 
@@ -15,7 +15,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd August 23, 2009
+.Dd September 25, 2009
 .Dt GPIO 4
 .Os
 .Sh NAME
@@ -163,6 +163,8 @@
 invert input
 .It Dv GPIO_PIN_INVOUT
 invert output
+.It Dv GPIO_PIN_PULSE
+pulse output
 .El
 .Pp
 Note that the GPIO controller

Index: src/sys/sys/gpio.h
diff -u src/sys/sys/gpio.h:1.5 src/sys/sys/gpio.h:1.6
--- src/sys/sys/gpio.h:1.5	Tue Sep 22 01:29:36 2009
+++ src/sys/sys/gpio.h	Fri Sep 25 19:37:03 2009
@@ -1,6 +1,7 @@
-/* $NetBSD: gpio.h,v 1.5 2009/09/22 01:29:36 isaki Exp $ */
+/* $NetBSD: gpio.h,v 1.6 2009/09/25 19:37:03 mbalmer Exp $ */
 /*	$OpenBSD: gpio.h,v 1.7 2008/11/26 14:51:20 mbalmer Exp $	*/
 /*
+ * Copyright (c) 2009 Marc Balmer 
  * Copyright (c) 2004 Alexander Yurchenko 
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -38,6 +39,7 @@
 #define GPIO_PIN_INVIN		0x0100	/* invert input */
 #define GPIO_PIN_INVOUT		0x0200	/* invert output */
 #define GPIO_PIN_USER		0x0400	/* user != 0 can access */
+#define GPIO_PIN_PULSE		0x0800	/* pulse in hardware */
 #define GPIO_PIN_SET		0x8000	/* set for securelevel access */
 
 /* GPIO controller description */

Index: src/usr.sbin/gpioctl/gpioctl.8
diff -u src/usr.sbin/gpioctl/gpioctl.8:1.5 src/usr.sbin/gpioctl/gpioctl.8:1.6
--- src/usr.sbin/gpioctl/gpioctl.8:1.5	Sat Jul 25 16:18:09 2009
+++ src/usr.sbin/gpioctl/gpioctl.8	Fri Sep 25 19:37:03 2009
@@ -1,4 +1,4 @@
-.\" $NetBSD: gpioctl.8,v 1.5 2009/07/25 16:18:09 mbalmer Exp $
+.\" $NetBSD: gpioctl.8,v 1.6 2009/09/25 19:37:03 mbalmer Exp $
 .\"
 .\" Copyright (c) 2009 Marc Balmer 
 .\" Copyright (c) 2004 Alexander Yurchenko 
@@ -15,7 +15,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd July 15, 2009
+.Dd September 25, 2009
 .Dt GPIOCTL 8
 .Os
 .Sh NAME
@@ -137,6 +137,8 @@
 invert input
 .It iout
 invert output
+.It pulse
+pulse output
 .El
 .Pp
 Note that not all the flags may be supported by the particular GPIO controller.

Index: src/usr.sbin/gpioctl/gpioctl.c
diff -u src/usr.sbin/gpioctl/gpioctl.c:1.6 src/usr.sbin/gpioctl/gpioctl.c:1.7
--- src/usr.sbin/gpioctl/gpioctl.c:1.6	Sat Jul 25 16:18:09 2009
+++ src/usr.sbin/gpioctl/gpioctl.c	Fri Sep 25 19:37:03 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: gpioctl.c,v 1.6 2009/07/25 16:18:09 mbalmer Exp $ */
+/* $NetBSD: gpioctl.c,v 1.7 2009/09/25 19:37:03 mbalmer Exp $ */
 
 /*
  * Copyright (c) 2008 Marc Balmer 
@@ -67,6 +67,7 @@
 	{ GPIO_PIN_PULLDOWN, "pd" },
 	{ GPIO_PIN_INVIN, "iin" },
 	{ GPIO_PIN_INVOUT, "iout" },
+	{ GPIO_PIN_PULSE, "pulse" },
 	{ 0, NULL },
 };
 



CVS commit: src/sys/netbt

2009-09-25 Thread Iain Hibbert
Module Name:src
Committed By:   plunky
Date:   Fri Sep 25 19:44:57 UTC 2009

Modified Files:
src/sys/netbt: l2cap_signal.c l2cap_upper.c

Log Message:
When the special L2CAP_PSM_ANY value is used for listening sockets,
select the next unused PSM from the dynamic range (0x1001->)


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/netbt/l2cap_signal.c \
src/sys/netbt/l2cap_upper.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/netbt/l2cap_signal.c
diff -u src/sys/netbt/l2cap_signal.c:1.9 src/sys/netbt/l2cap_signal.c:1.10
--- src/sys/netbt/l2cap_signal.c:1.9	Sat Nov 10 23:12:23 2007
+++ src/sys/netbt/l2cap_signal.c	Fri Sep 25 19:44:57 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: l2cap_signal.c,v 1.9 2007/11/10 23:12:23 plunky Exp $	*/
+/*	$NetBSD: l2cap_signal.c,v 1.10 2009/09/25 19:44:57 plunky Exp $	*/
 
 /*-
  * Copyright (c) 2005 Iain Hibbert.
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: l2cap_signal.c,v 1.9 2007/11/10 23:12:23 plunky Exp $");
+__KERNEL_RCSID(0, "$NetBSD: l2cap_signal.c,v 1.10 2009/09/25 19:44:57 plunky Exp $");
 
 #include 
 #include 
@@ -266,8 +266,7 @@
 	bdaddr_copy(&raddr.bt_bdaddr, &link->hl_bdaddr);
 
 	LIST_FOREACH(chan, &l2cap_listen_list, lc_ncid) {
-		if (chan->lc_laddr.bt_psm != laddr.bt_psm
-		&& chan->lc_laddr.bt_psm != L2CAP_PSM_ANY)
+		if (chan->lc_laddr.bt_psm != laddr.bt_psm)
 			continue;
 
 		if (!bdaddr_same(&laddr.bt_bdaddr, &chan->lc_laddr.bt_bdaddr)
Index: src/sys/netbt/l2cap_upper.c
diff -u src/sys/netbt/l2cap_upper.c:1.9 src/sys/netbt/l2cap_upper.c:1.10
--- src/sys/netbt/l2cap_upper.c:1.9	Wed Aug  6 15:01:24 2008
+++ src/sys/netbt/l2cap_upper.c	Fri Sep 25 19:44:57 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: l2cap_upper.c,v 1.9 2008/08/06 15:01:24 plunky Exp $	*/
+/*	$NetBSD: l2cap_upper.c,v 1.10 2009/09/25 19:44:57 plunky Exp $	*/
 
 /*-
  * Copyright (c) 2005 Iain Hibbert.
@@ -31,7 +31,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: l2cap_upper.c,v 1.9 2008/08/06 15:01:24 plunky Exp $");
+__KERNEL_RCSID(0, "$NetBSD: l2cap_upper.c,v 1.10 2009/09/25 19:44:57 plunky Exp $");
 
 #include 
 #include 
@@ -296,8 +296,10 @@
  *
  *		proto->newconn(upper, laddr, raddr)
  *
- *	for incoming connections matching the psm and local address of the
- *	channel (NULL psm/address are permitted and match any protocol/device).
+ *	for incoming connections matching the psm and local address of
+ *	the channel. NULL address is permitted and matches any device.
+ *	If L2CAP_PSM_ANY is bound the next higher unused value from the
+ *	dynamic range (above 0x1001) will be selected.
  *
  *	The upper layer should create and return a new channel.
  *
@@ -307,13 +309,31 @@
 l2cap_listen(struct l2cap_channel *chan)
 {
 	struct l2cap_channel *used, *prev = NULL;
+	uint32_t psm;
 
 	if (chan->lc_lcid != L2CAP_NULL_CID)
 		return EINVAL;
 
-	if (chan->lc_laddr.bt_psm != L2CAP_PSM_ANY
-	&& L2CAP_PSM_INVALID(chan->lc_laddr.bt_psm))
-		return EADDRNOTAVAIL;
+	/*
+	 * This is simplistic but its not really worth spending a
+	 * lot of time looking for an unused PSM..
+	 */
+	if (chan->lc_laddr.bt_psm == L2CAP_PSM_ANY) {
+		psm = 0x1001;
+		used = LIST_FIRST(&l2cap_listen_list);
+
+		if (used != NULL && used->lc_laddr.bt_psm >= psm) {
+			psm = used->lc_laddr.bt_psm + 0x0002;
+			if ((psm & 0x0100) != 0)
+psm += 0x0100;
+
+			if (psm > UINT16_MAX)
+return EADDRNOTAVAIL;
+		}
+
+		chan->lc_laddr.bt_psm = psm;
+	} else if (L2CAP_PSM_INVALID(chan->lc_laddr.bt_psm))
+		return EINVAL;
 
 	/*
 	 * This CID is irrelevant, as the channel is not stored on the active



CVS commit: src/share/man/man4

2009-09-25 Thread Iain Hibbert
Module Name:src
Committed By:   plunky
Date:   Fri Sep 25 19:47:09 UTC 2009

Modified Files:
src/share/man/man4: bluetooth.4

Log Message:
mention dynamic PSM usage


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/share/man/man4/bluetooth.4

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man4/bluetooth.4
diff -u src/share/man/man4/bluetooth.4:1.15 src/share/man/man4/bluetooth.4:1.16
--- src/share/man/man4/bluetooth.4:1.15	Fri Aug 21 06:12:16 2009
+++ src/share/man/man4/bluetooth.4	Fri Sep 25 19:47:09 2009
@@ -1,4 +1,4 @@
-.\"	$NetBSD: bluetooth.4,v 1.15 2009/08/21 06:12:16 wiz Exp $
+.\"	$NetBSD: bluetooth.4,v 1.16 2009/09/25 19:47:09 plunky Exp $
 .\"
 .\" Copyright (c) 2006 Itronix Inc.
 .\" All rights reserved.
@@ -30,7 +30,7 @@
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
 .\"
-.Dd August 20, 2009
+.Dd September 24, 2009
 .Dt BLUETOOTH 4
 .Os
 .Sh NAME
@@ -141,6 +141,14 @@
 .Ar sockaddr_bt
 structure to select the Protocol/Sevice Multiplexer to specify when making
 connections.
+If the special value of
+.Dv L2CAP_PSM_ANY
+is bound when the
+.Xr listen 2
+call is made, the next available PSM from the dynamic range above 0x1001
+will be selected and may be discovered using the
+.Xr getsockname 2
+call.
 .Pp
 L2CAP socket options:
 .Bl -tag -width XXX



CVS commit: src/sys/dev/pci/hdaudio

2009-09-25 Thread Stephen Borrill
Module Name:src
Committed By:   sborrill
Date:   Fri Sep 25 19:49:31 UTC 2009

Modified Files:
src/sys/dev/pci/hdaudio: hdaudio_afg.c

Log Message:
If the codec does not specify any supported sample size or rates,
assume it supports 16-bit. This can be overridden completely by the widgets, so
some vendors don't specify a setting at the codec level. Fixes a panic in
this situation.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/dev/pci/hdaudio/hdaudio_afg.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/hdaudio/hdaudio_afg.c
diff -u src/sys/dev/pci/hdaudio/hdaudio_afg.c:1.11 src/sys/dev/pci/hdaudio/hdaudio_afg.c:1.12
--- src/sys/dev/pci/hdaudio/hdaudio_afg.c:1.11	Thu Sep 17 18:48:47 2009
+++ src/sys/dev/pci/hdaudio/hdaudio_afg.c	Fri Sep 25 19:49:31 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: hdaudio_afg.c,v 1.11 2009/09/17 18:48:47 apb Exp $ */
+/* $NetBSD: hdaudio_afg.c,v 1.12 2009/09/25 19:49:31 sborrill Exp $ */
 
 /*
  * Copyright (c) 2009 Precedence Technologies Ltd 
@@ -60,7 +60,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: hdaudio_afg.c,v 1.11 2009/09/17 18:48:47 apb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hdaudio_afg.c,v 1.12 2009/09/25 19:49:31 sborrill Exp $");
 
 #include 
 #include 
@@ -2794,11 +2794,11 @@
 
 static bool
 hdaudio_afg_probe_encoding(struct hdaudio_afg_softc *sc,
-u_int minrate, u_int maxrate, u_int validbits, u_int precision)
+u_int minrate, u_int maxrate, u_int validbits, u_int precision, bool force)
 {
 	struct audio_format f;
 
-	if (hdaudio_afg_bits_supported(sc, validbits) == false)
+	if (!force && hdaudio_afg_bits_supported(sc, validbits) == false)
 		return false;
 
 	memset(&f, 0, sizeof(f));
@@ -2885,17 +2885,22 @@
 	if (minrate != maxrate)
 		hda_print1(sc, "-%uHz", maxrate);
 
-	if (hdaudio_afg_probe_encoding(sc, minrate, maxrate, 8, 16))
+	if (hdaudio_afg_probe_encoding(sc, minrate, maxrate, 8, 16, false))
 		hda_print1(sc, " 8/16");
-	if (hdaudio_afg_probe_encoding(sc, minrate, maxrate, 16, 16))
+	if (hdaudio_afg_probe_encoding(sc, minrate, maxrate, 16, 16, false))
 		hda_print1(sc, " 16/16");
-	if (hdaudio_afg_probe_encoding(sc, minrate, maxrate, 20, 32))
+	if (hdaudio_afg_probe_encoding(sc, minrate, maxrate, 20, 32, false))
 		hda_print1(sc, " 20/32");
-	if (hdaudio_afg_probe_encoding(sc, minrate, maxrate, 24, 32))
+	if (hdaudio_afg_probe_encoding(sc, minrate, maxrate, 24, 32, false))
 		hda_print1(sc, " 24/32");
-	if (hdaudio_afg_probe_encoding(sc, minrate, maxrate, 32, 32))
+	if (hdaudio_afg_probe_encoding(sc, minrate, maxrate, 32, 32, false))
 		hda_print1(sc, " 32/32");
 
+	if (sc->sc_audiodev.ad_nformats == 0) {
+		hdaudio_afg_probe_encoding(sc, minrate, maxrate, 16, 16, true);
+		hda_print1(sc, " 16/16*");
+	}
+
 	/*
 	 * XXX JDM 20090614
 	 * MI audio assumes that at least one playback and one capture format



CVS commit: src/sys/dev/acpi

2009-09-25 Thread David Young
Module Name:src
Committed By:   dyoung
Date:   Fri Sep 25 20:26:27 UTC 2009

Modified Files:
src/sys/dev/acpi: thinkpad_acpi.c

Log Message:
Use deviter_first()/deviter_next() instead of accessing alldevs
directly.  Compile-tested, only.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/dev/acpi/thinkpad_acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/acpi/thinkpad_acpi.c
diff -u src/sys/dev/acpi/thinkpad_acpi.c:1.19 src/sys/dev/acpi/thinkpad_acpi.c:1.20
--- src/sys/dev/acpi/thinkpad_acpi.c:1.19	Tue May 12 09:29:46 2009
+++ src/sys/dev/acpi/thinkpad_acpi.c	Fri Sep 25 20:26:26 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: thinkpad_acpi.c,v 1.19 2009/05/12 09:29:46 cegger Exp $ */
+/* $NetBSD: thinkpad_acpi.c,v 1.20 2009/09/25 20:26:26 dyoung Exp $ */
 
 /*-
  * Copyright (c) 2007 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: thinkpad_acpi.c,v 1.19 2009/05/12 09:29:46 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: thinkpad_acpi.c,v 1.20 2009/09/25 20:26:26 dyoung Exp $");
 
 #include 
 #include 
@@ -166,6 +166,7 @@
 	struct acpi_attach_args *aa = (struct acpi_attach_args *)opaque;
 	struct sysmon_pswitch *psw;
 	device_t curdev;
+	deviter_t di;
 	ACPI_STATUS rv;
 	ACPI_INTEGER val;
 	int i;
@@ -187,12 +188,15 @@
 	}
 
 	sc->sc_ecdev = NULL;
-	TAILQ_FOREACH(curdev, &alldevs, dv_list)
+	for (curdev = deviter_first(&di, DEVITER_F_ROOT_FIRST);
+	 curdev != NULL; curdev = deviter_next(&di))
 		if (device_is_a(curdev, "acpiecdt") ||
 		device_is_a(curdev, "acpiec")) {
 			sc->sc_ecdev = curdev;
 			break;
 		}
+	deviter_release(&di);
+
 	if (sc->sc_ecdev)
 		aprint_debug_dev(self, "using EC at %s\n",
 		device_xname(sc->sc_ecdev));



CVS commit: src/sys/dev/acpi

2009-09-25 Thread David Young
Module Name:src
Committed By:   dyoung
Date:   Fri Sep 25 20:26:59 UTC 2009

Modified Files:
src/sys/dev/acpi: hpqlb_acpi.c

Log Message:
Use deviter_first()/deviter_next() instead of accessing alldevs
directly.  Compile-tested, only.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/acpi/hpqlb_acpi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/acpi/hpqlb_acpi.c
diff -u src/sys/dev/acpi/hpqlb_acpi.c:1.2 src/sys/dev/acpi/hpqlb_acpi.c:1.3
--- src/sys/dev/acpi/hpqlb_acpi.c:1.2	Fri May  2 01:53:33 2008
+++ src/sys/dev/acpi/hpqlb_acpi.c	Fri Sep 25 20:26:59 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: hpqlb_acpi.c,v 1.2 2008/05/02 01:53:33 simonb Exp $ */
+/* $NetBSD: hpqlb_acpi.c,v 1.3 2009/09/25 20:26:59 dyoung Exp $ */
 
 /*-
  * Copyright (c) 2008  Christoph Egger 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: hpqlb_acpi.c,v 1.2 2008/05/02 01:53:33 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hpqlb_acpi.c,v 1.3 2009/09/25 20:26:59 dyoung Exp $");
 
 #include 
 #include 
@@ -245,6 +245,7 @@
 hpqlb_finalize(device_t self)
 {
 	device_t dv;
+	deviter_t di;
 	struct hpqlb_softc *sc = device_private(self);
 	static int done_once = 0;
 
@@ -255,7 +256,8 @@
 		return 0;
 	done_once = 1;
 
-	TAILQ_FOREACH(dv, &alldevs, dv_list) {
+	for (dv = deviter_first(&di, DEVITER_F_ROOT_FIRST); dv != NULL;
+	 dv = deviter_next(&di)) {
 		if (!device_is_a(dv, "wskbd"))
 			continue;
 
@@ -268,6 +270,7 @@
 device_xname(dv));
 		break;
 	}
+	deviter_release(&di);
 
 	if (dv == NULL) {
 		aprint_error_dev(self, "WARNING: no matching wskbd found\n");



CVS commit: src

2009-09-25 Thread Marc Balmer
Module Name:src
Committed By:   mbalmer
Date:   Fri Sep 25 20:27:50 UTC 2009

Modified Files:
src/sys/sys: gpio.h
src/usr.sbin/gpioctl: gpioctl.8 gpioctl.c

Log Message:
Rename 'pulse' to 'pulsate' to make clear it is a continuous strain of
pulses and and not a single shot pulse that is emitted by devices
supporting this kind of operation.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/sys/gpio.h
cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/gpioctl/gpioctl.8
cvs rdiff -u -r1.7 -r1.8 src/usr.sbin/gpioctl/gpioctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/sys/gpio.h
diff -u src/sys/sys/gpio.h:1.6 src/sys/sys/gpio.h:1.7
--- src/sys/sys/gpio.h:1.6	Fri Sep 25 19:37:03 2009
+++ src/sys/sys/gpio.h	Fri Sep 25 20:27:50 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: gpio.h,v 1.6 2009/09/25 19:37:03 mbalmer Exp $ */
+/* $NetBSD: gpio.h,v 1.7 2009/09/25 20:27:50 mbalmer Exp $ */
 /*	$OpenBSD: gpio.h,v 1.7 2008/11/26 14:51:20 mbalmer Exp $	*/
 /*
  * Copyright (c) 2009 Marc Balmer 
@@ -39,7 +39,7 @@
 #define GPIO_PIN_INVIN		0x0100	/* invert input */
 #define GPIO_PIN_INVOUT		0x0200	/* invert output */
 #define GPIO_PIN_USER		0x0400	/* user != 0 can access */
-#define GPIO_PIN_PULSE		0x0800	/* pulse in hardware */
+#define GPIO_PIN_PULSATE	0x0800	/* pulsate in hardware */
 #define GPIO_PIN_SET		0x8000	/* set for securelevel access */
 
 /* GPIO controller description */

Index: src/usr.sbin/gpioctl/gpioctl.8
diff -u src/usr.sbin/gpioctl/gpioctl.8:1.6 src/usr.sbin/gpioctl/gpioctl.8:1.7
--- src/usr.sbin/gpioctl/gpioctl.8:1.6	Fri Sep 25 19:37:03 2009
+++ src/usr.sbin/gpioctl/gpioctl.8	Fri Sep 25 20:27:50 2009
@@ -1,4 +1,4 @@
-.\" $NetBSD: gpioctl.8,v 1.6 2009/09/25 19:37:03 mbalmer Exp $
+.\" $NetBSD: gpioctl.8,v 1.7 2009/09/25 20:27:50 mbalmer Exp $
 .\"
 .\" Copyright (c) 2009 Marc Balmer 
 .\" Copyright (c) 2004 Alexander Yurchenko 
@@ -137,8 +137,8 @@
 invert input
 .It iout
 invert output
-.It pulse
-pulse output
+.It pulsate
+pulsate output at a hardware-defined frequency and duty cycle
 .El
 .Pp
 Note that not all the flags may be supported by the particular GPIO controller.

Index: src/usr.sbin/gpioctl/gpioctl.c
diff -u src/usr.sbin/gpioctl/gpioctl.c:1.7 src/usr.sbin/gpioctl/gpioctl.c:1.8
--- src/usr.sbin/gpioctl/gpioctl.c:1.7	Fri Sep 25 19:37:03 2009
+++ src/usr.sbin/gpioctl/gpioctl.c	Fri Sep 25 20:27:50 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: gpioctl.c,v 1.7 2009/09/25 19:37:03 mbalmer Exp $ */
+/* $NetBSD: gpioctl.c,v 1.8 2009/09/25 20:27:50 mbalmer Exp $ */
 
 /*
  * Copyright (c) 2008 Marc Balmer 
@@ -67,7 +67,7 @@
 	{ GPIO_PIN_PULLDOWN, "pd" },
 	{ GPIO_PIN_INVIN, "iin" },
 	{ GPIO_PIN_INVOUT, "iout" },
-	{ GPIO_PIN_PULSE, "pulse" },
+	{ GPIO_PIN_PULSATE, "pulsate" },
 	{ 0, NULL },
 };
 



CVS commit: src/doc

2009-09-25 Thread Marc Balmer
Module Name:src
Committed By:   mbalmer
Date:   Fri Sep 25 21:14:13 UTC 2009

Modified Files:
src/doc: CHANGES

Log Message:
mention gpio changes


To generate a diff of this commit:
cvs rdiff -u -r1.1290 -r1.1291 src/doc/CHANGES

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/CHANGES
diff -u src/doc/CHANGES:1.1290 src/doc/CHANGES:1.1291
--- src/doc/CHANGES:1.1290	Tue Sep 15 10:42:40 2009
+++ src/doc/CHANGES	Fri Sep 25 21:14:13 2009
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.1290 $>
+# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.1291 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -394,3 +394,7 @@
 		in rc.conf(5) or by booting in silent mode (e.g. "boot
 		netbsd -z" on i386 or amd64).  [apb 20090911]
 	pfsync(4): PFSYNC from OpenBSD 4.2 imported [degroote 20090914]
+	gpio(4): Add the GPIO_PIN_PULSATE attribute to let a pin pulsate at
+		a hardware defined frequency and duty cycle. [mbalmer 20090925]
+	gpioctl(8): Support the new GPIO_PIN_PULSATE attribute for pins using
+		the "pulsate" keyword. [mbalmer 20090925]



CVS commit: [matt-nb5-mips64] src/sys/arch/mips/rmi

2009-09-25 Thread Cliff Neighbors
Module Name:src
Committed By:   cliff
Date:   Fri Sep 25 22:20:43 UTC 2009

Modified Files:
src/sys/arch/mips/rmi [matt-nb5-mips64]: rmixlreg.h

Log Message:
define some fields for reserved register bits


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/sys/arch/mips/rmi/rmixlreg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/mips/rmi/rmixlreg.h
diff -u src/sys/arch/mips/rmi/rmixlreg.h:1.1.2.2 src/sys/arch/mips/rmi/rmixlreg.h:1.1.2.3
--- src/sys/arch/mips/rmi/rmixlreg.h:1.1.2.2	Tue Sep 15 02:34:34 2009
+++ src/sys/arch/mips/rmi/rmixlreg.h	Fri Sep 25 22:20:43 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rmixlreg.h,v 1.1.2.2 2009/09/15 02:34:34 cliff Exp $	*/
+/*	$NetBSD: rmixlreg.h,v 1.1.2.3 2009/09/25 22:20:43 cliff Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -202,6 +202,8 @@
 #define RMIXL_PIC_CONTROL_TIMER_ENB	__BITS(15,8)	/* per-Timer enable bits */
 #define RMIXL_PIC_CONTROL_TIMER_ENBn(n)	((1 << (n)) & RMIXL_PIC_CONTROL_TIMER_ENB)
 #define RMIXL_PIC_CONTROL_RESb		__BITS(31,16)
+#define RMIXL_PIC_CONTROL_RESV		\
+		(RMIXL_PIC_CONTROL_RESa|RMIXL_PIC_CONTROL_RESb)
 
 /*
  * RMIXL_PIC_IPIBASE bits
@@ -211,10 +213,13 @@
 #define RMIXL_PIC_IPIBASE_BCAST		__BIT(7)
 #define RMIXL_PIC_IPIBASE_NMI		__BIT(8)
 #define RMIXL_PIC_IPIBASE_ID		__BITS(31,16)
-#define RMIXL_PIC_IPIBASE_ID_RESa	__BITS(31,23)
+#define RMIXL_PIC_IPIBASE_ID_RESb	__BITS(31,23)
 #define RMIXL_PIC_IPIBASE_ID_CPU	__BITS(22,20)	/* Physical CPU ID */
-#define RMIXL_PIC_IPIBASE_ID_RESb	__BITS(19,18)
+#define RMIXL_PIC_IPIBASE_ID_RESc	__BITS(19,18)
 #define RMIXL_PIC_IPIBASE_ID_THREAD	__BITS(22,20)	/* Thread ID */
+#define RMIXL_PIC_IPIBASE_ID_RESV	\
+		(RMIXL_PIC_IPIBASE_ID_RESa|RMIXL_PIC_IPIBASE_ID_RESb	\
+		|RMIXL_PIC_IPIBASE_ID_RESc)
 
 /*
  * RMIXL_PIC_IRTENTRYC0 bits



CVS commit: [matt-nb5-mips64] src/sys/arch/mips/rmi

2009-09-25 Thread Cliff Neighbors
Module Name:src
Committed By:   cliff
Date:   Fri Sep 25 22:21:12 UTC 2009

Modified Files:
src/sys/arch/mips/rmi [matt-nb5-mips64]: rmixlvar.h

Log Message:
- add enums for rmixl interrupt trigger and polarity attributes
- rmixl_intr_establish gets an updated prpototype


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/sys/arch/mips/rmi/rmixlvar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/mips/rmi/rmixlvar.h
diff -u src/sys/arch/mips/rmi/rmixlvar.h:1.1.2.3 src/sys/arch/mips/rmi/rmixlvar.h:1.1.2.4
--- src/sys/arch/mips/rmi/rmixlvar.h:1.1.2.3	Tue Sep 15 02:32:02 2009
+++ src/sys/arch/mips/rmi/rmixlvar.h	Fri Sep 25 22:21:12 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rmixlvar.h,v 1.1.2.3 2009/09/15 02:32:02 cliff Exp $	*/
+/*	$NetBSD: rmixlvar.h,v 1.1.2.4 2009/09/25 22:21:12 cliff Exp $	*/
 
 /*
  * Copyright 2002 Wasabi Systems, Inc.
@@ -38,6 +38,18 @@
 #include 
 #include 
 
+typedef enum {
+	RMIXL_INTR_EDGE=0,
+	RMIXL_INTR_LEVEL,
+} rmixl_intr_trigger_t;
+
+typedef enum {
+	RMIXL_INTR_RISING=0,
+	RMIXL_INTR_HIGH,
+	RMIXL_INTR_FALLING,
+	RMIXL_INTR_LOW,
+} rmixl_intr_polarity_t;
+
 struct rmixl_config {
 	uint64_t		 rc_io_pbase;	
 	struct mips_bus_space	 rc_el_memt; 	/* little endian bus */
@@ -55,5 +67,7 @@
 extern void rmixl_el_bus_mem_init(bus_space_tag_t, void *);
 extern void rmixl_eb_bus_mem_init(bus_space_tag_t, void *);
 
-extern void *rmixl_intr_establish(int, int, int (*)(void *), void *);
+extern void *rmixl_intr_establish(int, int,
+	rmixl_intr_trigger_t, rmixl_intr_polarity_t,
+	int (*)(void *), void *);
 extern void  rmixl_intr_disestablish(void *);



CVS commit: [matt-nb5-mips64] src/sys/arch/evbmips/include

2009-09-25 Thread Cliff Neighbors
Module Name:src
Committed By:   cliff
Date:   Fri Sep 25 22:21:42 UTC 2009

Modified Files:
src/sys/arch/evbmips/include [matt-nb5-mips64]: intr.h

Log Message:
struct evbmips_intrhand gets field 'ih_ipl' to associate
this interrupt with an IPL


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.16.18.1 src/sys/arch/evbmips/include/intr.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/evbmips/include/intr.h
diff -u src/sys/arch/evbmips/include/intr.h:1.16 src/sys/arch/evbmips/include/intr.h:1.16.18.1
--- src/sys/arch/evbmips/include/intr.h:1.16	Mon Apr 28 20:23:17 2008
+++ src/sys/arch/evbmips/include/intr.h	Fri Sep 25 22:21:42 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: intr.h,v 1.16 2008/04/28 20:23:17 martin Exp $	*/
+/*	$NetBSD: intr.h,v 1.16.18.1 2009/09/25 22:21:42 cliff Exp $	*/
 
 /*-
  * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
@@ -96,6 +96,7 @@
 	int (*ih_func)(void *);
 	void *ih_arg;
 	int ih_irq;
+	int ih_ipl;
 };
 
 #include 



CVS commit: [matt-nb5-mips64] src/sys/arch/mips/rmi

2009-09-25 Thread Cliff Neighbors
Module Name:src
Committed By:   cliff
Date:   Fri Sep 25 22:22:09 UTC 2009

Modified Files:
src/sys/arch/mips/rmi [matt-nb5-mips64]: rmixl_intr.c

Log Message:
rmixl gets interrupt support


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/sys/arch/mips/rmi/rmixl_intr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/mips/rmi/rmixl_intr.c
diff -u src/sys/arch/mips/rmi/rmixl_intr.c:1.1.2.1 src/sys/arch/mips/rmi/rmixl_intr.c:1.1.2.2
--- src/sys/arch/mips/rmi/rmixl_intr.c:1.1.2.1	Sun Sep 13 03:27:38 2009
+++ src/sys/arch/mips/rmi/rmixl_intr.c	Fri Sep 25 22:22:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rmixl_intr.c,v 1.1.2.1 2009/09/13 03:27:38 cliff Exp $	*/
+/*	$NetBSD: rmixl_intr.c,v 1.1.2.2 2009/09/25 22:22:09 cliff Exp $	*/
 
 /*-
  * Copyright (c) 2007 Ruslan Ermilov and Vsevolod Lobko.
@@ -64,7 +64,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: rmixl_intr.c,v 1.1.2.1 2009/09/13 03:27:38 cliff Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rmixl_intr.c,v 1.1.2.2 2009/09/25 22:22:09 cliff Exp $");
 
 #include "opt_ddb.h"
 
@@ -90,118 +90,231 @@
  * given hardware interrupt priority level.
  */
 const uint32_t ipl_sr_bits[_IPL_N] = {
-	0,	/*  0: IPL_NONE */
-	MIPS_SOFT_INT_MASK_0,			/*  1: IPL_SOFTCLOCK */
-	MIPS_SOFT_INT_MASK_0,			/*  2: IPL_SOFTNET */
-
-	MIPS_SOFT_INT_MASK_0|
-	MIPS_SOFT_INT_MASK_1|
-	MIPS_INT_MASK_0,			/*  3: IPL_VM */
-
-	MIPS_SOFT_INT_MASK_0|
-	MIPS_SOFT_INT_MASK_1|
-	MIPS_INT_MASK_0|
-	MIPS_INT_MASK_1|
-	MIPS_INT_MASK_2|
-	MIPS_INT_MASK_3|
-	MIPS_INT_MASK_4|
-	MIPS_INT_MASK_5,			/*  4: IPL_{SCHED,HIGH} */
+	[IPL_NONE] = 0,
+	[IPL_SOFTCLOCK] =
+		MIPS_SOFT_INT_MASK_0,
+	[IPL_SOFTNET] =
+		MIPS_SOFT_INT_MASK_0
+	  | MIPS_SOFT_INT_MASK_1,
+	[IPL_VM] =
+		MIPS_SOFT_INT_MASK_0
+	  | MIPS_SOFT_INT_MASK_1
+	  | MIPS_INT_MASK_0,
+	[IPL_SCHED] =
+		MIPS_SOFT_INT_MASK_0
+	  | MIPS_SOFT_INT_MASK_1
+	  | MIPS_INT_MASK_0
+	  | MIPS_INT_MASK_1
+	  | MIPS_INT_MASK_2
+	  | MIPS_INT_MASK_3
+	  | MIPS_INT_MASK_4
+	  | MIPS_INT_MASK_5,
 };
 
-#define	NIRQS		32
-const char *rmixl_intrnames[NIRQS] = {
-	"irq0", /*  3 */
-	"irq1", /*  1 */
-	"irq2", /*  2 */
-	"irq3", /*  3 */
-	"irq4", /*  4 */
-	"irq5", /*  5 */
-	"irq6", /*  6 */
-	"irq7", /*  7 */
-	"irq8", /*  8 */
-	"irq9", /*  9 */
-	"irq10", /* 10 */
-	"irq11", /* 11 */
-	"irq12", /* 12 */
-	"irq13", /* 13 */
-	"irq14", /* 14 */
-	"irq15", /* 15 */
-	"irq16", /* 16 */
-	"irq17", /* 17 */
-	"irq18", /* 18 */
-	"irq19", /* 19 */
-	"irq20", /* 20 */
-	"irq21", /* 21 */
-	"irq22", /* 22 */
-	"irq23", /* 23 */
-	"irq24", /* 24 */
-	"irq25", /* 25 */
-	"irq26", /* 26 */
-	"irq27", /* 27 */
-	"irq28", /* 28 */
-	"irq29", /* 29 */
-	"irq30", /* 30 */
-	"irq31", /* 31 */
+/*
+ * 'IRQs' here are indiividual interrupt sources
+ * each has a slot in the Interrupt Redirection Table (IRT)
+ * in the order listed
+ *
+ * NOTE: many irq sources depend on the chip family
+ * XLS1xx vs. XLS2xx vs. XLS3xx vs. XLS6xx
+ * so just use generic names where they diverge
+ */
+#define	NIRQS	32
+static const char *rmixl_irqnames[NIRQS] = {
+	"int 0 (watchdog)",	/*  0 */
+	"int 1 (timer0)",	/*  1 */
+	"int 2 (timer1)",	/*  2 */
+	"int 3 (timer2)",	/*  3 */
+	"int 4 (timer3)",	/*  4 */
+	"int 5 (timer4)",	/*  5 */
+	"int 6 (timer5)",	/*  6 */
+	"int 7 (timer6)",	/*  7 */
+	"int 8 (timer7)",	/*  8 */
+	"int 9 (uart0)",	/*  9 */
+	"int 10 (uart1)",	/* 10 */
+	"int 11 (i2c0)",	/* 11 */
+	"int 12 (i2c1)",	/* 12 */
+	"int 13 (pcmcia)",	/* 13 */
+	"int 14 (gpio_a)",	/* 14 */
+	"int 15 (irq15)",	/* 15 */
+	"int 16 (bridge_tb)",	/* 16 */
+	"int 17 (gmac0)",	/* 17 */
+	"int 18 (gmac1)",	/* 18 */
+	"int 19 (gmac2)",	/* 19 */
+	"int 20 (gmac3)",	/* 20 */
+	"int 21 (irq21)",	/* 21 */
+	"int 22 (irq22)",	/* 22 */
+	"int 23 (irq23)",	/* 23 */
+	"int 24 (irq24)",	/* 24 */
+	"int 25 (bridge_err)",	/* 25 */
+	"int 26 (pcie_link0)",	/* 26 */
+	"int 27 (pcie_link1)",	/* 27 */
+	"int 28 (irq28)",	/* 28 */
+	"int 29 (irq29)",	/* 29 */
+	"int 30 (gpio_b)",	/* 30 */
+	"int 31 (usb)",		/* 31 */
 };
 
-struct rmixl_intrhead {
-	struct evcnt intr_count;
-	int intr_refcnt;
+/*
+ * per-IRQ event stats
+ */
+struct rmixl_irqtab {
+	struct evcnt irq_count;
+	void *irq_ih;
 };
-struct rmixl_intrhead rmixl_intrtab[NIRQS];
+static struct rmixl_irqtab rmixl_irqtab[NIRQS];
 
 
-#define	NINTRS			2	/* MIPS INT0 - INT1 */
-struct rmixl_cpuintr {
-	LIST_HEAD(, evbmips_intrhand) cintr_list;
-	struct evcnt cintr_count;
+/*
+ * 'vectors' here correspond to IRT Entry vector numbers
+ * - IRT Entry vector# is bit# in EIRR
+ * - note that EIRR[7:0] == CAUSE[15:8]
+ * - we actually only use the first _IPL_N bits
+ *   (less than 8)
+ * 
+ * each IRT entry gets routed to a vector
+ * (if and when that interrupt is established)
+ * the vectors are shared on a per-IPL basis
+ * which simplifies dispatch
+ *
+ * XXX use of mips64 extended IRQs is T

CVS commit: [matt-nb5-mips64] src/sys/arch/evbmips/conf

2009-09-25 Thread Cliff Neighbors
Module Name:src
Committed By:   cliff
Date:   Fri Sep 25 22:22:27 UTC 2009

Modified Files:
src/sys/arch/evbmips/conf [matt-nb5-mips64]: XLS6ATX_7A

Log Message:
specify interrupt# for com0


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.1 -r1.1.2.2 src/sys/arch/evbmips/conf/XLS6ATX_7A

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/evbmips/conf/XLS6ATX_7A
diff -u src/sys/arch/evbmips/conf/XLS6ATX_7A:1.1.2.1 src/sys/arch/evbmips/conf/XLS6ATX_7A:1.1.2.2
--- src/sys/arch/evbmips/conf/XLS6ATX_7A:1.1.2.1	Sun Sep 13 03:27:38 2009
+++ src/sys/arch/evbmips/conf/XLS6ATX_7A	Fri Sep 25 22:22:27 2009
@@ -1,11 +1,11 @@
 #
-#	$NetBSD: XLS6ATX_7A,v 1.1.2.1 2009/09/13 03:27:38 cliff Exp $
+#	$NetBSD: XLS6ATX_7A,v 1.1.2.2 2009/09/25 22:22:27 cliff Exp $
 
 include 	"arch/evbmips/conf/std.rmixl"
 
 #options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"XLS6ATX_7A-$Revision: 1.1.2.1 $"
+#ident 		"XLS6ATX_7A-$Revision: 1.1.2.2 $"
 
 maxusers	32
 
@@ -139,7 +139,7 @@
 mainbus0 	at root
 cpu0 		at mainbus?
 obio0		at mainbus?
-com0		at obio0	addr 0x14000 mult 4
+com0		at obio0	addr 0x14000 mult 4 intr 9
 options		COM_REGMAP
 
 # Pseudo-devices



CVS commit: [matt-nb5-mips64] src/sys/arch/mips/rmi

2009-09-25 Thread Cliff Neighbors
Module Name:src
Committed By:   cliff
Date:   Fri Sep 25 22:22:52 UTC 2009

Modified Files:
src/sys/arch/mips/rmi [matt-nb5-mips64]: rmixl_com.c

Log Message:
establish interrupt in rmixl_com_attach()


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/sys/arch/mips/rmi/rmixl_com.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/mips/rmi/rmixl_com.c
diff -u src/sys/arch/mips/rmi/rmixl_com.c:1.1.2.5 src/sys/arch/mips/rmi/rmixl_com.c:1.1.2.6
--- src/sys/arch/mips/rmi/rmixl_com.c:1.1.2.5	Tue Sep 22 07:01:18 2009
+++ src/sys/arch/mips/rmi/rmixl_com.c	Fri Sep 25 22:22:52 2009
@@ -1,4 +1,4 @@
-/* $Id: rmixl_com.c,v 1.1.2.5 2009/09/22 07:01:18 cliff Exp $ */
+/* $Id: rmixl_com.c,v 1.1.2.6 2009/09/25 22:22:52 cliff Exp $ */
 /*-
  * Copyright (c) 2006 Urbana-Champaign Independent Media Center.
  * Copyright (c) 2006 Garrett D'Amore.
@@ -101,7 +101,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: rmixl_com.c,v 1.1.2.5 2009/09/22 07:01:18 cliff Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rmixl_com.c,v 1.1.2.6 2009/09/25 22:22:52 cliff Exp $");
 
 #include 
 #include 
@@ -157,6 +157,7 @@
 		if (rate < 0)
 			return;	/* XXX */
 
+		com0addr[com_ier] = 0;
 		com0addr[com_lctl] = htobe32(LCR_DLAB);
 		com0addr[com_dlbl] = htobe32(rate & 0xff);
 		com0addr[com_dlbh] = htobe32(rate >> 8);
@@ -280,9 +281,9 @@
 
 	com_attach_subr(sc);
 
-#ifdef NOTYET
-	rmixl_intr_establish(obio->obio_intr, comintr, sc);
-#endif
+	rmixl_intr_establish(obio->obio_intr, IPL_SERIAL,
+		RMIXL_INTR_LEVEL, RMIXL_INTR_HIGH, comintr, sc);
+
 }
 
 void



CVS commit: [matt-nb5-mips64] src/sys/arch/mips/rmi

2009-09-25 Thread Cliff Neighbors
Module Name:src
Committed By:   cliff
Date:   Fri Sep 25 22:27:02 UTC 2009

Modified Files:
src/sys/arch/mips/rmi [matt-nb5-mips64]: rmixl_intr.c

Log Message:
chop out some test printf's


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/sys/arch/mips/rmi/rmixl_intr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/mips/rmi/rmixl_intr.c
diff -u src/sys/arch/mips/rmi/rmixl_intr.c:1.1.2.2 src/sys/arch/mips/rmi/rmixl_intr.c:1.1.2.3
--- src/sys/arch/mips/rmi/rmixl_intr.c:1.1.2.2	Fri Sep 25 22:22:09 2009
+++ src/sys/arch/mips/rmi/rmixl_intr.c	Fri Sep 25 22:27:02 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rmixl_intr.c,v 1.1.2.2 2009/09/25 22:22:09 cliff Exp $	*/
+/*	$NetBSD: rmixl_intr.c,v 1.1.2.3 2009/09/25 22:27:02 cliff Exp $	*/
 
 /*-
  * Copyright (c) 2007 Ruslan Ermilov and Vsevolod Lobko.
@@ -64,7 +64,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: rmixl_intr.c,v 1.1.2.2 2009/09/25 22:22:09 cliff Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rmixl_intr.c,v 1.1.2.3 2009/09/25 22:27:02 cliff Exp $");
 
 #include "opt_ddb.h"
 
@@ -389,16 +389,8 @@
 {
 	struct evbmips_intrhand *ih;
 	uint64_t eirr;
-	uint64_t eimr;
-	uint32_t sr;
 	int vec;
 
-	printf("\n%s: status: %#x, cause %#x\n", __func__, status, cause);
-	asm volatile ("mfc0 %0, $9, 6;" :"=r"(sr));
-	printf("%s:%d: SR: %#x\n", __func__, __LINE__, sr);
-	asm volatile ("dmfc0 %0, $9, 7;" :"=r"(eimr));
-	printf("%s: EIMR: %#lx\n", __func__, eimr);
-
 	for (vec = NINTRVECS - 1; vec >= 0; vec--) {
 		if ((ipending & (MIPS_SOFT_INT_MASK_0 << vec)) == 0)
 			continue;
@@ -415,16 +407,5 @@
 	}
 
 	/* Re-enable anything that we have processed. */
-	printf("%s:%d: re-enable: %#x\n", __func__, __LINE__,
-		MIPS_SR_INT_IE | ((status & ~cause) & MIPS_HARD_INT_MASK));
 	_splset(MIPS_SR_INT_IE | ((status & ~cause) & MIPS_HARD_INT_MASK));
-
-	asm volatile ("mfc0 %0, $9, 6;" :"=r"(sr));
-	printf("%s: SR: %#x\n", __func__, sr);
-
-	asm volatile ("dmfc0 %0, $9, 6;" :"=r"(eirr));
-	printf("%s: EIRR: %#lx\n", __func__, eirr);
-
-	asm volatile ("dmfc0 %0, $9, 7;" :"=r"(eimr));
-	printf("%s: EIMR: %#lx\n", __func__, eimr);
 }



CVS commit: src/sys/arch/xen/xen

2009-09-25 Thread Manuel Bouyer
Module Name:src
Committed By:   bouyer
Date:   Fri Sep 25 23:11:57 UTC 2009

Modified Files:
src/sys/arch/xen/xen: xennetback_xenbus.c

Log Message:
Announce feature-rx-copy and feature-rx-flip.
Add support for request-rx-copy. Tested with a Debian lenny install.
Should fix PR port-xen/40650


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/xen/xen/xennetback_xenbus.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/xen/xen/xennetback_xenbus.c
diff -u src/sys/arch/xen/xen/xennetback_xenbus.c:1.28 src/sys/arch/xen/xen/xennetback_xenbus.c:1.29
--- src/sys/arch/xen/xen/xennetback_xenbus.c:1.28	Thu Feb 12 20:57:45 2009
+++ src/sys/arch/xen/xen/xennetback_xenbus.c	Fri Sep 25 23:11:57 2009
@@ -1,4 +1,4 @@
-/*  $NetBSD: xennetback_xenbus.c,v 1.28 2009/02/12 20:57:45 bouyer Exp $  */
+/*  $NetBSD: xennetback_xenbus.c,v 1.29 2009/09/25 23:11:57 bouyer Exp $  */
 
 /*
  * Copyright (c) 2006 Manuel Bouyer.
@@ -131,7 +131,8 @@
void xvifattach(int);
 static int  xennetback_ifioctl(struct ifnet *, u_long, void *);
 static void xennetback_ifstart(struct ifnet *);
-static void xennetback_ifsoftstart(void *);
+static void xennetback_ifsoftstart_transfer(void *);
+static void xennetback_ifsoftstart_copy(void *);
 static void xennetback_ifwatchdog(struct ifnet *);
 static int  xennetback_ifinit(struct ifnet *);
 static void xennetback_ifstop(struct ifnet *, int);
@@ -182,7 +183,8 @@
 /* arrays used in xennetback_ifstart(), too large to allocate on stack */
 static mmu_update_t xstart_mmu[NB_XMIT_PAGES_BATCH];
 static multicall_entry_t xstart_mcl[NB_XMIT_PAGES_BATCH + 1];
-static gnttab_transfer_t xstart_gop[NB_XMIT_PAGES_BATCH];
+static gnttab_transfer_t xstart_gop_transfer[NB_XMIT_PAGES_BATCH];
+static gnttab_copy_t xstart_gop_copy[NB_XMIT_PAGES_BATCH];
 struct mbuf *mbufs_sent[NB_XMIT_PAGES_BATCH];
 struct _pages_pool_free {
 	vaddr_t va;
@@ -244,6 +246,7 @@
 	extern int ifqmaxlen; /* XXX */
 	char *val, *e, *p;
 	int i, err;
+	struct xenbus_transaction *xbt;
 
 	if ((err = xenbus_read_ul(NULL, xbusd->xbusd_path,
 	"frontend-id", &domid, 10)) != 0) {
@@ -274,13 +277,6 @@
 	xbusd->xbusd_u.b.b_detach = xennetback_xenbus_destroy;
 	xneti->xni_xbusd = xbusd;
 
-	xneti->xni_softintr = softint_establish(SOFTINT_NET,
-	xennetback_ifsoftstart, xneti);
-	if (xneti->xni_softintr == NULL) {
-		err = ENOMEM;
-		goto fail;
-	}
-
 	ifp = &xneti->xni_if;
 	ifp->if_softc = xneti;
 
@@ -328,6 +324,33 @@
 
 	xbusd->xbusd_otherend_changed = xennetback_frontend_changed;
 
+	do {
+		xbt = xenbus_transaction_start();
+		if (xbt == NULL) {
+			printf("xbdback %s: can't start transaction\n",
+			xbusd->xbusd_path);
+			goto fail;
+		}
+		err = xenbus_printf(xbt, xbusd->xbusd_path,
+		"feature-rx-copy", "%d", 1);
+		if (err) {
+			printf("xbdback: failed to write %s/feature-rx-copy: "
+			"%d\n", xbusd->xbusd_path, err);
+			goto abort_xbt;
+		}
+		err = xenbus_printf(xbt, xbusd->xbusd_path,
+		"feature-rx-flip", "%d", 1);
+		if (err) {
+			printf("xbdback: failed to write %s/feature-rx-flip: "
+			"%d\n", xbusd->xbusd_path, err);
+			goto abort_xbt;
+		}
+	} while ((err = xenbus_transaction_end(xbt, 0)) == EAGAIN);
+	if (err) {
+		printf("xbdback %s: can't end transaction: %d\n",
+		xbusd->xbusd_path, err);
+	}
+
 	err = xenbus_switch_state(xbusd, NULL, XenbusStateInitWait);
 	if (err) {
 		printf("failed to switch state on %s: %d\n",
@@ -335,6 +358,8 @@
 		goto fail;
 	}
 	return 0;
+abort_xbt:
+	xenbus_transaction_end(xbt, 1);
 fail:
 	free(xneti, M_DEVBUF);
 	return err;
@@ -402,7 +427,7 @@
 	struct gnttab_map_grant_ref op;
 	evtchn_op_t evop;
 	u_long tx_ring_ref, rx_ring_ref;
-	u_long revtchn;
+	u_long revtchn, rx_copy;
 
 	XENPRINTF(("%s: new state %d\n", xneti->xni_if.if_xname, new_state));
 	switch(new_state) {
@@ -433,6 +458,29 @@
 			xbusd->xbusd_otherend);
 			break;
 		}
+		err = xenbus_read_ul(NULL, xbusd->xbusd_otherend,
+		"request-rx-copy", &rx_copy, 10);
+		if (err == ENOENT)
+			rx_copy = 0;
+		else if (err) {
+			xenbus_dev_fatal(xbusd, err, "reading %s/request-rx-copy",
+			xbusd->xbusd_otherend);
+			break;
+		}
+
+		if (rx_copy)
+			xneti->xni_softintr = softint_establish(SOFTINT_NET,
+			xennetback_ifsoftstart_copy, xneti);
+		else
+			xneti->xni_softintr = softint_establish(SOFTINT_NET,
+			xennetback_ifsoftstart_transfer, xneti);
+		if (xneti->xni_softintr == NULL) {
+			err = ENOMEM;
+			xenbus_dev_fatal(xbusd, ENOMEM,
+			"can't allocate softint", xbusd->xbusd_otherend);
+			break;
+		}
+
 		/* allocate VA space and map rings */
 		xneti->xni_tx_ring_va = uvm_km_alloc(kernel_map, PAGE_SIZE, 0,
 		UVM_KMF_VAONLY);
@@ -825,13 +873,13 @@
 	 * schedule batch of packets for the domain. To achieve this, we
 	 * schedule a soft interrupt, and just return. This way, the network
 	 * stack will en

CVS commit: src/doc

2009-09-25 Thread Manuel Bouyer
Module Name:src
Committed By:   bouyer
Date:   Fri Sep 25 23:15:53 UTC 2009

Modified Files:
src/doc: CHANGES

Log Message:
Note recent Xen work on xbd and xvif.


To generate a diff of this commit:
cvs rdiff -u -r1.1291 -r1.1292 src/doc/CHANGES

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/CHANGES
diff -u src/doc/CHANGES:1.1291 src/doc/CHANGES:1.1292
--- src/doc/CHANGES:1.1291	Fri Sep 25 21:14:13 2009
+++ src/doc/CHANGES	Fri Sep 25 23:15:53 2009
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.1291 $>
+# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.1292 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -394,7 +394,12 @@
 		in rc.conf(5) or by booting in silent mode (e.g. "boot
 		netbsd -z" on i386 or amd64).  [apb 20090911]
 	pfsync(4): PFSYNC from OpenBSD 4.2 imported [degroote 20090914]
+	xen: add support for feature-flush-cache in block device backend.
+		Use it in block device frontend for DIOCCACHESYNC.
+		[bouyer 20090923]
 	gpio(4): Add the GPIO_PIN_PULSATE attribute to let a pin pulsate at
 		a hardware defined frequency and duty cycle. [mbalmer 20090925]
 	gpioctl(8): Support the new GPIO_PIN_PULSATE attribute for pins using
 		the "pulsate" keyword. [mbalmer 20090925]
+	xen: add support for request-rx-copy in the virtual network device
+		backend.  [bouyer 20090925]



CVS commit: src/lib/libc/gen

2009-09-25 Thread Elad Efrat
Module Name:src
Committed By:   elad
Date:   Sat Sep 26 04:43:48 UTC 2009

Modified Files:
src/lib/libc/gen: sysctl.3

Log Message:
CTLFLAG_READONLY[12] are long gone.


To generate a diff of this commit:
cvs rdiff -u -r1.198 -r1.199 src/lib/libc/gen/sysctl.3

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/gen/sysctl.3
diff -u src/lib/libc/gen/sysctl.3:1.198 src/lib/libc/gen/sysctl.3:1.199
--- src/lib/libc/gen/sysctl.3:1.198	Wed Jul 22 22:54:15 2009
+++ src/lib/libc/gen/sysctl.3	Sat Sep 26 04:43:48 2009
@@ -1,4 +1,4 @@
-.\"	$NetBSD: sysctl.3,v 1.198 2009/07/22 22:54:15 alc Exp $
+.\"	$NetBSD: sysctl.3,v 1.199 2009/09/26 04:43:48 elad Exp $
 .\"
 .\" Copyright (c) 1993
 .\"	The Regents of the University of California.  All rights reserved.
@@ -29,7 +29,7 @@
 .\"
 .\"	@(#)sysctl.3	8.4 (Berkeley) 5/9/95
 .\"
-.Dd July 22, 2009
+.Dd September 26, 2009
 .Dt SYSCTL 3
 .Os
 .Sh NAME
@@ -596,8 +596,6 @@
 .Bl -column CTLFLAGXPERMANENTXXX
 .It Sy Name	Description
 .It CTLFLAG\_READONLY	Node is read-only
-.It CTLFLAG\_READONLY1	Node becomes read-only at securelevel 1
-.It CTLFLAG\_READONLY2	Node becomes read-only at securelevel 2
 .It CTLFLAG\_READWRITE	Node is writable by the superuser
 .It CTLFLAG\_ANYWRITE	Node is writable by anyone
 .It CTLFLAG\_PRIVATE	Node is readable only by the superuser



CVS commit: src/share/man/man4

2009-09-25 Thread Elad Efrat
Module Name:src
Committed By:   elad
Date:   Sat Sep 26 04:51:21 UTC 2009

Modified Files:
src/share/man/man4: bge.4

Log Message:
PR/35795: Greg A. Woods: bge(4) doesn't describe the sysctl it uses

Use a slightly adjusted version of the diff in the PR. For proper credits,
the information in the added bit comes from a posting by Jonathan Stone.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/share/man/man4/bge.4

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man4/bge.4
diff -u src/share/man/man4/bge.4:1.10 src/share/man/man4/bge.4:1.11
--- src/share/man/man4/bge.4:1.10	Mon Aug 25 08:23:00 2008
+++ src/share/man/man4/bge.4	Sat Sep 26 04:51:21 2009
@@ -1,4 +1,4 @@
-.\"	$NetBSD: bge.4,v 1.10 2008/08/25 08:23:00 cegger Exp $
+.\"	$NetBSD: bge.4,v 1.11 2009/09/26 04:51:21 elad Exp $
 .\"
 .\" Copyright (c) 2003 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd August 25, 2008
+.Dd September 26, 2009
 .Dt BGE 4
 .Os
 .Sh NAME
@@ -68,6 +68,18 @@
 See
 .Xr ifconfig 8
 for information on how to enable this feature.
+.Pp
+The level of interrupt mitigation for received packets can be adjusted
+with the
+.Li hw.bge.rx_lvl
+.Xr sysctl 8
+control.
+A value of 1 yields a
+.Nm
+interrrupt for every two full-sized Ethernet frames.
+Each increment of the value will, roughly, halve receive interrupt rate,
+up to a maximum of 5, which interrupts about every 30 to 40 full-sized
+TCP segments.
 .Sh SEE ALSO
 .Xr arp 4 ,
 .Xr bce 4 ,



CVS commit: [netbsd-5] xsrc/external/mit/xorg-server/dist

2009-09-25 Thread Soren Jacobsen
Module Name:xsrc
Committed By:   snj
Date:   Sat Sep 26 05:22:07 UTC 2009

Modified Files:
xsrc/external/mit/xorg-server/dist/dix [netbsd-5]: globals.c
xsrc/external/mit/xorg-server/dist/os [netbsd-5]: utils.c

Log Message:
Pull up following revision(s) (requested by mrg in ticket #1018):
external/mit/xorg-server/dist/dix/globals.c: revision 1.2
external/mit/xorg-server/dist/os/utils.c: revision 1.2
By default, use the old X server background and cursor mode (option
"-retro").  Add a "-noretro" option to get the new (black background
and no cursor) behavior.

Addresses part of PR xsrc/41870


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1.2.1 -r1.1.1.1.2.2 \
xsrc/external/mit/xorg-server/dist/dix/globals.c
cvs rdiff -u -r1.1.1.1.2.1 -r1.1.1.1.2.2 \
xsrc/external/mit/xorg-server/dist/os/utils.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xorg-server/dist/dix/globals.c
diff -u xsrc/external/mit/xorg-server/dist/dix/globals.c:1.1.1.1.2.1 xsrc/external/mit/xorg-server/dist/dix/globals.c:1.1.1.1.2.2
--- xsrc/external/mit/xorg-server/dist/dix/globals.c:1.1.1.1.2.1	Thu Sep 17 03:34:54 2009
+++ xsrc/external/mit/xorg-server/dist/dix/globals.c	Sat Sep 26 05:22:07 2009
@@ -139,7 +139,7 @@
 FontPtr defaultFont;   /* not declared in dix.h to avoid including font.h in
 			every compilation of dix code */
 CursorPtr rootCursor;
-Bool party_like_its_1989 = FALSE;
+Bool party_like_its_1989 = TRUE;
 Bool whiteRoot = FALSE;
 
 int cursorScreenDevPriv[MAXSCREENS];

Index: xsrc/external/mit/xorg-server/dist/os/utils.c
diff -u xsrc/external/mit/xorg-server/dist/os/utils.c:1.1.1.1.2.1 xsrc/external/mit/xorg-server/dist/os/utils.c:1.1.1.1.2.2
--- xsrc/external/mit/xorg-server/dist/os/utils.c:1.1.1.1.2.1	Thu Sep 17 03:35:47 2009
+++ xsrc/external/mit/xorg-server/dist/os/utils.c	Sat Sep 26 05:22:07 2009
@@ -525,6 +525,7 @@
 ErrorF("-render [default|mono|gray|color] set render color alloc policy\n");
 #endif
 ErrorF("-retro start with classic stipple and cursor\n");
+ErrorF("-noretro   start with black background and no cursor\n");
 ErrorF("-s #   screen-saver timeout (minutes)\n");
 ErrorF("-t #   mouse threshold (pixels)\n");
 ErrorF("-terminate terminate at server reset\n");
@@ -821,6 +822,8 @@
 	defaultKeyboardControl.autoRepeat = FALSE;
 	else if ( strcmp( argv[i], "-retro") == 0)
 	party_like_its_1989 = TRUE;
+	else if ( strcmp( argv[i], "-noretro") == 0)
+	party_like_its_1989 = FALSE;
 	else if ( strcmp( argv[i], "-s") == 0)
 	{
 	if(++i < argc)



CVS commit: [netbsd-5] src/doc

2009-09-25 Thread Soren Jacobsen
Module Name:src
Committed By:   snj
Date:   Sat Sep 26 05:26:00 UTC 2009

Modified Files:
src/doc [netbsd-5]: CHANGES-5.1

Log Message:
Ticket 1018.


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.74 -r1.1.2.75 src/doc/CHANGES-5.1

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/CHANGES-5.1
diff -u src/doc/CHANGES-5.1:1.1.2.74 src/doc/CHANGES-5.1:1.1.2.75
--- src/doc/CHANGES-5.1:1.1.2.74	Fri Sep 18 02:08:16 2009
+++ src/doc/CHANGES-5.1	Sat Sep 26 05:25:59 2009
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-5.1,v 1.1.2.74 2009/09/18 02:08:16 snj Exp $
+# $NetBSD: CHANGES-5.1,v 1.1.2.75 2009/09/26 05:25:59 snj Exp $
 
 A complete list of changes from the NetBSD 5.0 release to the NetBSD 5.1
 release:
@@ -13327,3 +13327,12 @@
 	by the upgrade to Postfix 2.6.x.
 	[tron, ticket #1012]
 
+xsrc/external/mit/xorg-server/dist/dix/globals.c 1.2
+xsrc/external/mit/xorg-server/dist/os/utils.c	1.2
+
+	By default, use the old X server background and cursor mode
+	(option "-retro").  Add a "-noretro" option to get the new
+	(black background and no cursor) behavior.  Addresses part
+	of PR xsrc/41870.
+	[mrg, ticket #1018]
+



CVS commit: src/doc/roadmaps

2009-09-25 Thread Ty Sarna
Module Name:src
Committed By:   tsarna
Date:   Sat Sep 26 05:36:22 UTC 2009

Modified Files:
src/doc/roadmaps: networking

Log Message:
Claim the multicast DNS project.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/doc/roadmaps/networking

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/roadmaps/networking
diff -u src/doc/roadmaps/networking:1.7 src/doc/roadmaps/networking:1.8
--- src/doc/roadmaps/networking:1.7	Tue Sep 15 21:07:58 2009
+++ src/doc/roadmaps/networking	Sat Sep 26 05:36:22 2009
@@ -1,4 +1,4 @@
-$NetBSD: networking,v 1.7 2009/09/15 21:07:58 agc Exp $
+$NetBSD: networking,v 1.8 2009/09/26 05:36:22 tsarna Exp $
 
 NetBSD Networking Roadmap
 =
@@ -45,7 +45,7 @@
 
 Add support for multicast DNS (name.local)
 
-Responsible: ???
+Responsible: tsarna
 
 6. tcp support in libsa
 ---