CVS commit: src/external/mit/xorg/lib/fontconfig/src

2013-06-25 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Tue Jun 25 14:05:04 UTC 2013

Modified Files:
src/external/mit/xorg/lib/fontconfig/src: Makefile

Log Message:
Add -Wno-error=tautological-constant-out-of-range-compare for clang, to avoid
../external/mit/fontconfig/dist/src/fcname.c:89:18: error: comparison of 
constant
4294967295 with expression of type 'const FcType' (aka 'const enum _FcType') is
always false [-Werror,-Wtautological-constant-out-of-range-compare]
if (t-type == (unsigned int) -1 || type == t-type)
~~~ ^  ~
1 error generated.

and a few others of the same type.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/external/mit/xorg/lib/fontconfig/src/Makefile

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

Modified files:

Index: src/external/mit/xorg/lib/fontconfig/src/Makefile
diff -u src/external/mit/xorg/lib/fontconfig/src/Makefile:1.13 src/external/mit/xorg/lib/fontconfig/src/Makefile:1.14
--- src/external/mit/xorg/lib/fontconfig/src/Makefile:1.13	Wed Jun  5 22:42:19 2013
+++ src/external/mit/xorg/lib/fontconfig/src/Makefile	Tue Jun 25 14:05:04 2013
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.13 2013/06/05 22:42:19 mrg Exp $
+#	$NetBSD: Makefile,v 1.14 2013/06/25 14:05:04 wiz Exp $
 
 .include bsd.own.mk
 
@@ -126,6 +126,7 @@ PKGCONFIG=	fontconfig
 CPPFLAGS.fcxml.c=	-Wno-error
 
 CWARNFLAGS.clang+=	-Wno-pointer-sign -Wno-switch
+CWARNFLAGS.clang+=	-Wno-error=tautological-constant-out-of-range-compare
 
 .include bsd.x11.mk
 .include bsd.lib.mk



CVS commit: src/sys

2013-06-25 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Tue Jun 25 15:08:43 UTC 2013

Modified Files:
src/sys/arch/amd64/include: kcore.h
src/sys/external/isc/atheros_hal/dist/ar5416: ar5416desc.h

Log Message:
Fix header guards.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/amd64/include/kcore.h
cvs rdiff -u -r1.1.1.1 -r1.2 \
src/sys/external/isc/atheros_hal/dist/ar5416/ar5416desc.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/amd64/include/kcore.h
diff -u src/sys/arch/amd64/include/kcore.h:1.2 src/sys/arch/amd64/include/kcore.h:1.3
--- src/sys/arch/amd64/include/kcore.h:1.2	Wed Apr 16 21:51:03 2008
+++ src/sys/arch/amd64/include/kcore.h	Tue Jun 25 15:08:43 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: kcore.h,v 1.2 2008/04/16 21:51:03 cegger Exp $	*/
+/*	$NetBSD: kcore.h,v 1.3 2013/06/25 15:08:43 joerg Exp $	*/
 
 /*
  * Copyright (c) 1996 Carnegie-Mellon University.
@@ -35,7 +35,7 @@
  * Wasabi Systems, Inc.
  */
 
-#ifndef _AMD64KCORE_H_
+#ifndef _AMD64_KCORE_H_
 #define _AMD64_KCORE_H_
 
 typedef struct cpu_kcore_hdr {

Index: src/sys/external/isc/atheros_hal/dist/ar5416/ar5416desc.h
diff -u src/sys/external/isc/atheros_hal/dist/ar5416/ar5416desc.h:1.1.1.1 src/sys/external/isc/atheros_hal/dist/ar5416/ar5416desc.h:1.2
--- src/sys/external/isc/atheros_hal/dist/ar5416/ar5416desc.h:1.1.1.1	Thu Dec 11 04:46:50 2008
+++ src/sys/external/isc/atheros_hal/dist/ar5416/ar5416desc.h	Tue Jun 25 15:08:43 2013
@@ -14,10 +14,10 @@
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
- * $Id: ar5416desc.h,v 1.1.1.1 2008/12/11 04:46:50 alc Exp $
+ * $Id: ar5416desc.h,v 1.2 2013/06/25 15:08:43 joerg Exp $
  */
 #ifndef _ATH_AR5416_DESC_H_
-#define _ATH_AR5416_DESC_H
+#define _ATH_AR5416_DESC_H_
 
 /*
  * Hardware-specific descriptor structures.



CVS commit: src/sys/dev/usb

2013-06-25 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Tue Jun 25 15:32:23 UTC 2013

Modified Files:
src/sys/dev/usb: ehci.c

Log Message:
Change translater to translator in comment.


To generate a diff of this commit:
cvs rdiff -u -r1.206 -r1.207 src/sys/dev/usb/ehci.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/usb/ehci.c
diff -u src/sys/dev/usb/ehci.c:1.206 src/sys/dev/usb/ehci.c:1.207
--- src/sys/dev/usb/ehci.c:1.206	Thu Apr  4 13:27:55 2013
+++ src/sys/dev/usb/ehci.c	Tue Jun 25 15:32:23 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: ehci.c,v 1.206 2013/04/04 13:27:55 skrll Exp $ */
+/*	$NetBSD: ehci.c,v 1.207 2013/06/25 15:32:23 jakllsch Exp $ */
 
 /*
  * Copyright (c) 2004-2012 The NetBSD Foundation, Inc.
@@ -53,7 +53,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: ehci.c,v 1.206 2013/04/04 13:27:55 skrll Exp $);
+__KERNEL_RCSID(0, $NetBSD: ehci.c,v 1.207 2013/06/25 15:32:23 jakllsch Exp $);
 
 #include ohci.h
 #include uhci.h
@@ -2427,7 +2427,7 @@ ehci_root_ctrl_start(usbd_xfer_handle xf
 goto ret;
 			}
 			/*
-			 * An embedded transaction translater will automatically
+			 * An embedded transaction translator will automatically
 			 * terminate the reset sequence so there's no need to
 			 * it.
 			 */



CVS commit: src/sys/dev/usb

2013-06-25 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Tue Jun 25 15:37:17 UTC 2013

Modified Files:
src/sys/dev/usb: uhub.c

Log Message:
Spell Windows 98 not-incorrectly in comment.


To generate a diff of this commit:
cvs rdiff -u -r1.122 -r1.123 src/sys/dev/usb/uhub.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/usb/uhub.c
diff -u src/sys/dev/usb/uhub.c:1.122 src/sys/dev/usb/uhub.c:1.123
--- src/sys/dev/usb/uhub.c:1.122	Tue Jan 22 21:12:32 2013
+++ src/sys/dev/usb/uhub.c	Tue Jun 25 15:37:17 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: uhub.c,v 1.122 2013/01/22 21:12:32 jmcneill Exp $	*/
+/*	$NetBSD: uhub.c,v 1.123 2013/06/25 15:37:17 jakllsch Exp $	*/
 /*	$FreeBSD: src/sys/dev/usb/uhub.c,v 1.18 1999/11/17 22:33:43 n_hibma Exp $	*/
 
 /*
@@ -36,7 +36,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: uhub.c,v 1.122 2013/01/22 21:12:32 jmcneill Exp $);
+__KERNEL_RCSID(0, $NetBSD: uhub.c,v 1.123 2013/06/25 15:37:17 jakllsch Exp $);
 
 #include sys/param.h
 #include sys/systm.h
@@ -274,7 +274,7 @@ uhub_attach(device_t parent, device_t se
 
 	/*
 	 * To have the best chance of success we do things in the exact same
-	 * order as Windoze98.  This should not be necessary, but some
+	 * order as Windows 98.  This should not be necessary, but some
 	 * devices do not follow the USB specs to the letter.
 	 *
 	 * These are the events on the bus when a hub is attached:



CVS commit: xsrc/external/mit/libX11/dist/src

2013-06-25 Thread Thomas Klausner
Module Name:xsrc
Committed By:   wiz
Date:   Tue Jun 25 16:15:16 UTC 2013

Modified Files:
xsrc/external/mit/libX11/dist/src: Font.c

Log Message:
Fix out-of-range comparison.

clang complained:
warning: comparison of constant 768614336404564650 with expression
of type 'CARD32' (aka 'unsigned int') is always true
[-Wtautological-constant-out-of-range-compare]


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.6 -r1.2 xsrc/external/mit/libX11/dist/src/Font.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/libX11/dist/src/Font.c
diff -u xsrc/external/mit/libX11/dist/src/Font.c:1.1.1.6 xsrc/external/mit/libX11/dist/src/Font.c:1.2
--- xsrc/external/mit/libX11/dist/src/Font.c:1.1.1.6	Thu May 30 23:04:40 2013
+++ xsrc/external/mit/libX11/dist/src/Font.c	Tue Jun 25 16:15:16 2013
@@ -588,7 +588,7 @@ _XF86BigfontQueryFont (
 	if (!(extcodes-serverCapabilities  CAP_VerifiedLocal)) {
 		struct shmid_ds buf;
 		if (!(shmctl(reply.shmid, IPC_STAT, buf) = 0
-		   reply.nCharInfos  (LONG_MAX / sizeof(XCharStruct))
+		   reply.nCharInfos  (INT_MAX / sizeof(XCharStruct))
 		   buf.shm_segsz = reply.shmsegoffset + reply.nCharInfos * sizeof(XCharStruct) + sizeof(CARD32)
 		   *(CARD32 *)(addr + reply.shmsegoffset + reply.nCharInfos * sizeof(XCharStruct)) == extcodes-serverSignature)) {
 		shmdt(addr);



CVS commit: src/lib/csu/arch/mips

2013-06-25 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Jun 25 16:47:47 UTC 2013

Modified Files:
src/lib/csu/arch/mips: crt0.S

Log Message:
Initialize $gp


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/csu/arch/mips/crt0.S

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

Modified files:

Index: src/lib/csu/arch/mips/crt0.S
diff -u src/lib/csu/arch/mips/crt0.S:1.1 src/lib/csu/arch/mips/crt0.S:1.2
--- src/lib/csu/arch/mips/crt0.S:1.1	Sat Jun 22 02:37:09 2013
+++ src/lib/csu/arch/mips/crt0.S	Tue Jun 25 16:47:47 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: crt0.S,v 1.1 2013/06/22 02:37:09 matt Exp $ */
+/* $NetBSD: crt0.S,v 1.2 2013/06/25 16:47:47 matt Exp $ */
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include mips/asm.h
 
-RCSID($NetBSD: crt0.S,v 1.1 2013/06/22 02:37:09 matt Exp $)
+RCSID($NetBSD: crt0.S,v 1.2 2013/06/25 16:47:47 matt Exp $)
 
 STRONG_ALIAS(_start,__start)
 
@@ -49,6 +49,8 @@ STRONG_ALIAS(_start,__start)
  */
 
 NESTED_NOPROFILE(__start, CALLFRAME_SIZ, ra)
+	SETUP_GP
+	SETUP_GP64(t3, __start)
 	move	a0, a1		/* cleanup */
 	move	a1, a2		/* Obj_Entry */
 	move	a2, a3		/* ps_strings */



CVS commit: src/lib/csu/arch/mips

2013-06-25 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Jun 25 16:51:14 UTC 2013

Modified Files:
src/lib/csu/arch/mips: crtbegin.h

Log Message:
Deal with O32 callling sequences.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/csu/arch/mips/crtbegin.h

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

Modified files:

Index: src/lib/csu/arch/mips/crtbegin.h
diff -u src/lib/csu/arch/mips/crtbegin.h:1.1 src/lib/csu/arch/mips/crtbegin.h:1.2
--- src/lib/csu/arch/mips/crtbegin.h:1.1	Sat Jun 22 02:37:09 2013
+++ src/lib/csu/arch/mips/crtbegin.h	Tue Jun 25 16:51:14 2013
@@ -28,10 +28,41 @@
  */
 
 __asm(	\n\t
-	.pushsection .init, \ax\, @progbits \n\t
-	jal	__do_global_ctors_aux		\n\t
+	.pushsection .init, \ax\, @progbits			\n\t
+#ifdef __mips_o32
+	.set noreorder	\n\t
+	.set nomacro		\n\t
+	lw	$28,16($sp) 	\n\t
+	nop			\n\t
+	lw	$25,%got(__do_global_ctors_aux)($28)		\n\t
+	nop			\n\t
+	addiu   $25,$25,%lo(__do_global_ctors_aux)		\n\t
+	.reloc	1f,R_MIPS_JALR,__do_global_ctors_aux		\n\t
+	1:	jalr	$25	\n\t
+nop			\n\t
+	.set macro		\n\t
+	.set reorder		\n\t
+#else
+	jal	__do_global_ctors_aux\n\t
+#endif
 	.popsection);
+
 __asm(	\n\t
 	.pushsection .fini, \ax\, @progbits \n\t
-	jal	__do_global_dtors_aux		\n\t
+#ifdef __mips_o32
+	.set noreorder	\n\t
+	.set nomacro		\n\t
+	lw	$28,16($sp) 	\n\t
+	nop			\n\t
+	lw	$25,%got(__do_global_dtors_aux)($28)		\n\t
+	nop			\n\t
+	addiu   $25,$25,%lo(__do_global_dtors_aux)		\n\t
+	.reloc	1f,R_MIPS_JALR,__do_global_dtors_aux		\n\t
+	1:	jalr	$25	\n\t
+nop			\n\t
+	.set macro		\n\t
+	.set reorder		\n\t
+#else
+	jal	__do_global_dtors_aux\n\t
+#endif
 	.popsection);



CVS commit: src/sys/sys

2013-06-25 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Jun 25 17:38:07 UTC 2013

Modified Files:
src/sys/sys: syscallvar.h

Log Message:
Add a sy_invoke inline to do trace_enter/trace_exit dance.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/sys/syscallvar.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/sys/syscallvar.h
diff -u src/sys/sys/syscallvar.h:1.5 src/sys/sys/syscallvar.h:1.6
--- src/sys/sys/syscallvar.h:1.5	Tue Jun  2 23:21:38 2009
+++ src/sys/sys/syscallvar.h	Tue Jun 25 17:38:06 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: syscallvar.h,v 1.5 2009/06/02 23:21:38 pooka Exp $	*/
+/*	$NetBSD: syscallvar.h,v 1.6 2013/06/25 17:38:06 matt Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -64,6 +64,27 @@ sy_call(const struct sysent *sy, struct 
 	return error;
 }
 
+static inline int
+sy_invoke(const struct sysent *sy, struct lwp *l, const void *uap,
+	register_t *rval, int code)
+{
+	int error;
+
+if (!__predict_false(l-l_proc-p_trace_enabled)
+|| __predict_false(sy-sy_flags  SYCALL_INDIRECT)
+|| (error = trace_enter(code, uap, sy-sy_narg)) == 0) {
+rval[0] = 0;
+rval[1] = 0;
+error = sy_call(sy, l, uap, rval);
+}   
+
+if (__predict_false(l-l_proc-p_trace_enabled)
+ !__predict_false(sy-sy_flags  SYCALL_INDIRECT)) {
+trace_exit(code, rval, error);
+}
+	return error;
+}
+
 /* inclusion in the kernel currently depends on SYSCALL_DEBUG */
 extern const char * const syscallnames[];
 



CVS commit: src/sys/dev/pci

2013-06-25 Thread SAITOH Masanobu
Module Name:src
Committed By:   msaitoh
Date:   Tue Jun 25 17:38:38 UTC 2013

Modified Files:
src/sys/dev/pci: if_wm.c if_wmreg.h

Log Message:
 Sync the wm_enable_mng_pass_thru() function with FreeBSD. Don't check
MANC_EN_MAC_ADDR_FILTER bit. Add 82574 and 82583 specific check. This
modification may change the setting of WM_F_HAS_MANAGE flag on some machines.

 Sync the wm_release_manageablilty() fucntion with FreeBSD. Set MANC_ARP_EN.
This change enables HW ARP function when entering suspend.

 When the chip is 82580(ER) or I350, set WM_F_ASF_FIRMWARE_PRES flag and
check for the WM_F_ARC_SUBSYS_VALID flag. Same as FreeBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.259 -r1.260 src/sys/dev/pci/if_wm.c
cvs rdiff -u -r1.53 -r1.54 src/sys/dev/pci/if_wmreg.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/dev/pci/if_wm.c
diff -u src/sys/dev/pci/if_wm.c:1.259 src/sys/dev/pci/if_wm.c:1.260
--- src/sys/dev/pci/if_wm.c:1.259	Tue Jun 25 02:34:00 2013
+++ src/sys/dev/pci/if_wm.c	Tue Jun 25 17:38:38 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_wm.c,v 1.259 2013/06/25 02:34:00 msaitoh Exp $	*/
+/*	$NetBSD: if_wm.c,v 1.260 2013/06/25 17:38:38 msaitoh Exp $	*/
 
 /*
  * Copyright (c) 2001, 2002, 2003, 2004 Wasabi Systems, Inc.
@@ -76,7 +76,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: if_wm.c,v 1.259 2013/06/25 02:34:00 msaitoh Exp $);
+__KERNEL_RCSID(0, $NetBSD: if_wm.c,v 1.260 2013/06/25 17:38:38 msaitoh Exp $);
 
 #include sys/param.h
 #include sys/systm.h
@@ -7968,8 +7968,7 @@ wm_enable_mng_pass_thru(struct wm_softc 
 
 	DPRINTF(WM_DEBUG_MANAGE, (%s: MANC (%08x)\n,
 		device_xname(sc-sc_dev), manc));
-	if (((manc  MANC_RECV_TCO_EN) == 0)
-	|| ((manc  MANC_EN_MAC_ADDR_FILTER) == 0))
+	if ((manc  MANC_RECV_TCO_EN) == 0)
 		return 0;
 
 	if ((sc-sc_flags  WM_F_ARC_SUBSYS_VALID) != 0) {
@@ -7979,6 +7978,17 @@ wm_enable_mng_pass_thru(struct wm_softc 
 		 ((fwsm  FWSM_MODE_MASK)
 			== (MNG_ICH_IAMT_MODE  FWSM_MODE_SHIFT)))
 			return 1;
+	} else if ((sc-sc_type == WM_T_82574) || (sc-sc_type == WM_T_82583)){
+		uint16_t data;
+
+		factps = CSR_READ(sc, WMREG_FACTPS);
+		wm_read_eeprom(sc, EEPROM_OFF_CFG2, 1, data);
+		DPRINTF(WM_DEBUG_MANAGE, (%s: CFG2 (%04x)\n,
+	  device_xname(sc-sc_dev), data));
+		if (((factps  FACTPS_MNGCG) == 0)
+		 ((data  EEPROM_CFG2_MNGM_MASK)
+			== (EEPROM_CFG2_MNGM_PT  EEPROM_CFG2_MNGM_SHIFT)))
+			return 1;
 	} else if (((manc  MANC_SMBUS_EN) != 0)
 	 ((manc  MANC_ASF_EN) == 0))
 		return 1;
@@ -8471,6 +8481,7 @@ wm_release_manageability(struct wm_softc
 	if (sc-sc_flags  WM_F_HAS_MANAGE) {
 		uint32_t manc = CSR_READ(sc, WMREG_MANC);
 
+		manc |= MANC_ARP_EN;
 		if (sc-sc_type = WM_T_82571)
 			manc = ~MANC_EN_MNG2HOST;
 
@@ -8496,11 +8507,9 @@ wm_get_wakeup(struct wm_softc *sc)
 	case WM_T_82574:
 	case WM_T_82575:
 	case WM_T_82576:
-#if 0 /* XXX */
 	case WM_T_82580:
 	case WM_T_82580ER:
 	case WM_T_I350:
-#endif
 		if ((CSR_READ(sc, WMREG_FWSM)  FWSM_MODE_MASK) != 0)
 			sc-sc_flags |= WM_F_ARC_SUBSYS_VALID;
 		sc-sc_flags |= WM_F_ASF_FIRMWARE_PRES;

Index: src/sys/dev/pci/if_wmreg.h
diff -u src/sys/dev/pci/if_wmreg.h:1.53 src/sys/dev/pci/if_wmreg.h:1.54
--- src/sys/dev/pci/if_wmreg.h:1.53	Wed Jun 19 10:38:51 2013
+++ src/sys/dev/pci/if_wmreg.h	Tue Jun 25 17:38:38 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_wmreg.h,v 1.53 2013/06/19 10:38:51 msaitoh Exp $	*/
+/*	$NetBSD: if_wmreg.h,v 1.54 2013/06/25 17:38:38 msaitoh Exp $	*/
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -350,7 +350,11 @@ struct livengood_tcpip_ctxdesc {
 #define	EEPROM_CFG2_APM_PME	(1U  15)
 #define	EEPROM_CFG2_SWDPIO_SHIFT 4
 #define	EEPROM_CFG2_SWDPIO_MASK	(0xf  EEPROM_CFG2_SWDPIO_SHIFT)
-#define	EEPROM_CFG2_MNGM_MASK	(3U  13) /* Manageability Operation mode */
+#define	EEPROM_CFG2_MNGM_SHIFT	13	/* Manageability Operation mode */
+#define	EEPROM_CFG2_MNGM_MASK	(3U  EEPROM_CFG2_MNGM_SHIFT)
+#define	EEPROM_CFG2_MNGM_DIS	0
+#define	EEPROM_CFG2_MNGM_NCSI	1
+#define	EEPROM_CFG2_MNGM_PT	2
 
 #define	EEPROM_K1_CONFIG_ENABLE	0x01
 
@@ -870,8 +874,10 @@ struct livengood_tcpip_ctxdesc {
 #define	MANC_SMBUS_EN		0x0001
 #define	MANC_ASF_EN		0x0002
 #define	MANC_ARP_EN		0x2000
+#define	MANC_RECV_TCO_RESET	0x0001
 #define	MANC_RECV_TCO_EN	0x0002
 #define	MANC_BLK_PHY_RST_ON_IDE	0x0004
+#define	MANC_RECV_ALL		0x0008
 #define	MANC_EN_MAC_ADDR_FILTER	0x0010
 #define	MANC_EN_MNG2HOST	0x0020
 



CVS commit: src/external/gpl3/binutils/dist/ld/emultempl

2013-06-25 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Tue Jun 25 19:38:55 UTC 2013

Modified Files:
src/external/gpl3/binutils/dist/ld/emultempl: elf32.em

Log Message:
PR 47922: Properly resolve DT_NEEDED entries under sysroot and don't
accidently try the installed system.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
src/external/gpl3/binutils/dist/ld/emultempl/elf32.em

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

Modified files:

Index: src/external/gpl3/binutils/dist/ld/emultempl/elf32.em
diff -u src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.5 src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.6
--- src/external/gpl3/binutils/dist/ld/emultempl/elf32.em:1.5	Tue Aug  7 01:09:13 2012
+++ src/external/gpl3/binutils/dist/ld/emultempl/elf32.em	Tue Jun 25 19:38:54 2013
@@ -452,15 +452,25 @@ fragment EOF
 
 static bfd_boolean
 gld${EMULATION_NAME}_search_needed (const char *path,
-struct dt_needed *n, int force)
+struct dt_needed *n, int force, int prepend_sysroot)
 {
   const char *s;
   const char *name = n-name;
   size_t len;
   struct dt_needed needed;
 
-  if (name[0] == '/')
+  if (name[0] == '/') {
+if (prepend_sysroot  ld_sysroot) {
+  bfd_boolean rv;
+  needed.by = n-by;
+  char *filename= concat(ld_sysroot, n-name, (const char *)NULL);
+  needed.name = filename;
+  rv = gld${EMULATION_NAME}_try_needed (needed, force);
+  free(filename);
+  return rv;
+}
 return gld${EMULATION_NAME}_try_needed (n, force);
+  }
 
   if (path == NULL || *path == '\0')
 return FALSE;
@@ -499,6 +509,13 @@ gld${EMULATION_NAME}_search_needed (cons
 	}
   strcpy (sset, name);
 
+  if (prepend_sysroot  filename[0] == '=')
+abort();
+  if (filename[0] == '/'  prepend_sysroot  ld_sysroot) {
+char *filename2 = concat(ld_sysroot, filename, (const char *)NULL);
+free(filename);
+filename = filename2;
+  }
   needed.name = filename;
   if (gld${EMULATION_NAME}_try_needed (needed, force))
 	return TRUE;
@@ -613,7 +630,7 @@ gld${EMULATION_NAME}_check_ld_elf_hints 
   needed.by = NULL;
   needed.name = name;
   return gld${EMULATION_NAME}_search_needed (ld_elf_hints,  needed,
-	 force);
+	 force, 0);
 }
 EOF
 # FreeBSD
@@ -824,7 +841,7 @@ gld${EMULATION_NAME}_check_ld_so_conf (c
 
   needed.by = NULL;
   needed.name = name;
-  return gld${EMULATION_NAME}_search_needed (ld_so_conf, needed, force);
+  return gld${EMULATION_NAME}_search_needed (ld_so_conf, needed, force, 0);
 }
 
 EOF
@@ -1256,13 +1273,13 @@ fi
 fragment EOF
 
 	  if (gld${EMULATION_NAME}_search_needed (command_line.rpath_link,
-		  n, force))
+		  n, force, 0))
 	break;
 EOF
 if [ x${USE_LIBPATH} = xyes ] ; then
 fragment EOF
 	  if (gld${EMULATION_NAME}_search_needed (command_line.rpath,
-		  n, force))
+		  n, force, 1))
 	break;
 EOF
 fi
@@ -1273,11 +1290,11 @@ fragment EOF
 	{
 	  lib_path = (const char *) getenv (LD_RUN_PATH);
 	  if (gld${EMULATION_NAME}_search_needed (lib_path, n,
-		  force))
+		  force, 0))
 		break;
 	}
 	  lib_path = (const char *) getenv (LD_LIBRARY_PATH);
-	  if (gld${EMULATION_NAME}_search_needed (lib_path, n, force))
+	  if (gld${EMULATION_NAME}_search_needed (lib_path, n, force, 0))
 	break;
 EOF
 fi
@@ -1287,12 +1304,10 @@ fragment EOF
 	  rp = bfd_elf_get_runpath_list (link_info.output_bfd, link_info);
 	  for (; !found  rp != NULL; rp = rp-next)
 	{
-	  char *tmpname = gld${EMULATION_NAME}_add_sysroot (rp-name);
 	  found = (rp-by == l-by
-		gld${EMULATION_NAME}_search_needed (tmpname,
+		gld${EMULATION_NAME}_search_needed (rp-name,
 			  n,
-			  force));
-	  free (tmpname);
+			  force, 1));
 	}
 	  if (found)
 	break;



CVS commit: xsrc/external/mit/libX11/dist/src

2013-06-25 Thread Thomas Klausner
Module Name:xsrc
Committed By:   wiz
Date:   Tue Jun 25 20:34:20 UTC 2013

Modified Files:
xsrc/external/mit/libX11/dist/src: FontNames.c GetFPath.c ListExt.c
ModMap.c

Log Message:
Decrease comparison range to avoid tautologies.
(int32 is always smaller than int64_max, even if the latter is shifted 2 bits)


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.5 -r1.2 xsrc/external/mit/libX11/dist/src/FontNames.c \
xsrc/external/mit/libX11/dist/src/ModMap.c
cvs rdiff -u -r1.1.1.4 -r1.2 xsrc/external/mit/libX11/dist/src/GetFPath.c \
xsrc/external/mit/libX11/dist/src/ListExt.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/libX11/dist/src/FontNames.c
diff -u xsrc/external/mit/libX11/dist/src/FontNames.c:1.1.1.5 xsrc/external/mit/libX11/dist/src/FontNames.c:1.2
--- xsrc/external/mit/libX11/dist/src/FontNames.c:1.1.1.5	Thu May 30 23:04:40 2013
+++ xsrc/external/mit/libX11/dist/src/FontNames.c	Tue Jun 25 20:34:20 2013
@@ -66,7 +66,7 @@ int *actualCount)	/* RETURN */
 
 if (rep.nFonts) {
 	flist = Xmalloc (rep.nFonts * sizeof(char *));
-	if (rep.length  (LONG_MAX  2)) {
+	if (rep.length  (INT_MAX  2)) {
 	rlen = rep.length  2;
 	ch = Xmalloc(rlen + 1);
 	/* +1 to leave room for last null-terminator */
Index: xsrc/external/mit/libX11/dist/src/ModMap.c
diff -u xsrc/external/mit/libX11/dist/src/ModMap.c:1.1.1.5 xsrc/external/mit/libX11/dist/src/ModMap.c:1.2
--- xsrc/external/mit/libX11/dist/src/ModMap.c:1.1.1.5	Thu May 30 23:04:40 2013
+++ xsrc/external/mit/libX11/dist/src/ModMap.c	Tue Jun 25 20:34:20 2013
@@ -42,7 +42,7 @@ XGetModifierMapping(register Display *dp
 GetEmptyReq(GetModifierMapping, req);
 (void) _XReply (dpy, (xReply *)rep, 0, xFalse);
 
-if (rep.length  (LONG_MAX  2)) {
+if (rep.length  (INT_MAX  2)) {
 	nbytes = (unsigned long)rep.length  2;
 	res = Xmalloc(sizeof (XModifierKeymap));
 	if (res)

Index: xsrc/external/mit/libX11/dist/src/GetFPath.c
diff -u xsrc/external/mit/libX11/dist/src/GetFPath.c:1.1.1.4 xsrc/external/mit/libX11/dist/src/GetFPath.c:1.2
--- xsrc/external/mit/libX11/dist/src/GetFPath.c:1.1.1.4	Thu May 30 23:04:40 2013
+++ xsrc/external/mit/libX11/dist/src/GetFPath.c	Tue Jun 25 20:34:20 2013
@@ -50,7 +50,7 @@ char **XGetFontPath(
 
 	if (rep.nPaths) {
 	flist = Xmalloc(rep.nPaths * sizeof (char *));
-	if (rep.length  (LONG_MAX  2)) {
+	if (rep.length  (INT_MAX  2)) {
 		nbytes = (unsigned long) rep.length  2;
 		ch = Xmalloc (nbytes + 1);
 /* +1 to leave room for last null-terminator */
Index: xsrc/external/mit/libX11/dist/src/ListExt.c
diff -u xsrc/external/mit/libX11/dist/src/ListExt.c:1.1.1.4 xsrc/external/mit/libX11/dist/src/ListExt.c:1.2
--- xsrc/external/mit/libX11/dist/src/ListExt.c:1.1.1.4	Thu May 30 23:04:40 2013
+++ xsrc/external/mit/libX11/dist/src/ListExt.c	Tue Jun 25 20:34:20 2013
@@ -55,7 +55,7 @@ char **XListExtensions(
 
 	if (rep.nExtensions) {
 	list = Xmalloc (rep.nExtensions * sizeof (char *));
-	if (rep.length  (LONG_MAX  2)) {
+	if (rep.length  (INT_MAX  2)) {
 		rlen = rep.length  2;
 		ch = Xmalloc (rlen + 1);
 /* +1 to leave room for last null-terminator */



CVS commit: src/sys/rump/include/rump

2013-06-25 Thread Arnaud Ysmal
Module Name:src
Committed By:   stacktic
Date:   Tue Jun 25 21:06:39 UTC 2013

Modified Files:
src/sys/rump/include/rump: makerumpdefs.sh

Log Message:
grab ioctl-related macros


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/rump/include/rump/makerumpdefs.sh

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

Modified files:

Index: src/sys/rump/include/rump/makerumpdefs.sh
diff -u src/sys/rump/include/rump/makerumpdefs.sh:1.17 src/sys/rump/include/rump/makerumpdefs.sh:1.18
--- src/sys/rump/include/rump/makerumpdefs.sh:1.17	Sat Jun  1 09:49:37 2013
+++ src/sys/rump/include/rump/makerumpdefs.sh	Tue Jun 25 21:06:39 2013
@@ -8,7 +8,7 @@ echo Generating rumpdefs.h
 rm -f rumpdefs.h
 exec  rumpdefs.h
 
-printf '/*	$NetBSD: makerumpdefs.sh,v 1.17 2013/06/01 09:49:37 stacktic Exp $	*/\n\n'
+printf '/*	$NetBSD: makerumpdefs.sh,v 1.18 2013/06/25 21:06:39 stacktic Exp $	*/\n\n'
 printf '/*\n *\tAUTOMATICALLY GENERATED.  DO NOT EDIT.\n */\n\n'
 printf '#ifndef _RUMP_RUMPDEFS_H_\n'
 printf '#define _RUMP_RUMPDEFS_H_\n\n'
@@ -79,6 +79,13 @@ sed -n '/#define[ 	]*MOUNT_[A-Z]/s/MOUNT
 fromvers ../../../sys/fstypes.h
 sed -n '/#define[ 	]*MNT_[A-Z].*[^\]$/s/MNT_/RUMP_MNT_/gp' ../../../sys/fstypes.h | sed 's,/\*.*$,,'
 
+fromvers ../../../sys/ioccom.h
+sed -n '/#define[ 	]*IOC[A-Z_]/s/IOC/RUMP_/gp' ../../../sys/ioccom.h | sed 's,/\*.*$,,'
+sed -n '/#define[ 	]*_IO.*\\$/{:t;N;/\\$/bt;s/_IOC/_RUMP_IOC/g;s/IOC[A-Z]/RUMP_/gp}' ../../../sys/ioccom.h \
+| sed 's,/\*.*$,,'
+sed -n '/#define[ 	]*_IO.*[^\]$/{s/_IO/_RUMP_IO/g;s/IOC_/RUMP_IOC_/gp}' ../../../sys/ioccom.h \
+| sed 's,/\*.*$,,'
+
 fromvers ../../../sys/module.h
 getstruct ../../../sys/module.h modctl_load
 



CVS commit: src/sys/rump/include/rump

2013-06-25 Thread Arnaud Ysmal
Module Name:src
Committed By:   stacktic
Date:   Tue Jun 25 21:07:22 UTC 2013

Modified Files:
src/sys/rump/include/rump: rumpdefs.h

Log Message:
regen


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/rump/include/rump/rumpdefs.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/rump/include/rump/rumpdefs.h
diff -u src/sys/rump/include/rump/rumpdefs.h:1.21 src/sys/rump/include/rump/rumpdefs.h:1.22
--- src/sys/rump/include/rump/rumpdefs.h:1.21	Sat Jun  1 09:50:32 2013
+++ src/sys/rump/include/rump/rumpdefs.h	Tue Jun 25 21:07:22 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: rumpdefs.h,v 1.21 2013/06/01 09:50:32 stacktic Exp $	*/
+/*	$NetBSD: rumpdefs.h,v 1.22 2013/06/25 21:07:22 stacktic Exp $	*/
 
 /*
  *	AUTOMATICALLY GENERATED.  DO NOT EDIT.
@@ -449,6 +449,27 @@ enum rump_vtype	{ RUMP_VNON, RUMP_VREG, 
 #define	RUMP_MNT_NOWAIT	2	
 #define	RUMP_MNT_LAZY 	3	
 
+/*	NetBSD: ioccom.h,v 1.11 2011/10/19 10:53:12 yamt Exp 	*/
+#define	RUMP_IOCPARM_MASK	0x1fff		
+#define	RUMP_IOCPARM_SHIFT	16
+#define	RUMP_IOCGROUP_SHIFT	8
+#define	RUMP_IOCPARM_LEN(x)	(((x)  RUMP_IOCPARM_SHIFT)  RUMP_IOCPARM_MASK)
+#define	RUMP_IOCBASECMD(x)	((x)  ~(RUMP_IOCPARM_MASK  RUMP_IOCPARM_SHIFT))
+#define	RUMP_IOCGROUP(x)	(((x)  RUMP_IOCGROUP_SHIFT)  0xff)
+#define	RUMP_IOCPARM_MAX	NBPG	
+#define	RUMP_IOC_VOID	(unsigned long)0x2000
+#define	RUMP_IOC_OUT		(unsigned long)0x4000
+#define	RUMP_IOC_IN		(unsigned long)0x8000
+#define	RUMP_IOC_INOUT	(RUMP_IOC_IN|RUMP_IOC_OUT)
+#define	RUMP_IOC_DIRMASK	(unsigned long)0xe000
+#define	_RUMP_IOC(inout, group, num, len) \
+((inout) | (((len)  RUMP_IOCPARM_MASK)  RUMP_IOCPARM_SHIFT) | \
+((group)  RUMP_IOCGROUP_SHIFT) | (num))
+#define	_RUMP_IO(g,n)	_RUMP_IOC(RUMP_IOC_VOID,	(g), (n), 0)
+#define	_RUMP_IOR(g,n,t)	_RUMP_IOC(RUMP_IOC_OUT,	(g), (n), sizeof(t))
+#define	_RUMP_IOW(g,n,t)	_RUMP_IOC(RUMP_IOC_IN,	(g), (n), sizeof(t))
+#define	_RUMP_IOWR(g,n,t)	_RUMP_IOC(RUMP_IOC_INOUT,	(g), (n), sizeof(t))
+
 /*	NetBSD: module.h,v 1.32 2012/10/17 17:48:48 dyoung Exp 	*/
 struct rump_modctl_load {
 	const char *ml_filename;
@@ -459,7 +480,7 @@ struct rump_modctl_load {
 	size_t ml_propslen;
 };
 
-/*	NetBSD: ufsmount.h,v 1.39 2012/10/19 17:09:08 drochner Exp 	*/
+/*	NetBSD: ufsmount.h,v 1.40 2013/06/16 13:33:30 hannken Exp 	*/
 struct rump_ufs_args {
 	char	*fspec;			/* block special device to mount */
 };



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

2013-06-25 Thread David Laight
Module Name:src
Committed By:   dsl
Date:   Tue Jun 25 21:08:07 UTC 2013

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

Log Message:
Improve the dodgy code that writes the FP regs into core dumps of 32bit apps.
(I'm not pretending it is correct yet!)
The 'struct fpreg32' (written to coredumps) is shorter than 'struct save87'
so netbsd32_process_read_fpregs() hadn't better write to the extra items.
Doing so overwrites stack in coredump_note() in core_elf32.c - I'm amazed
it doesn't cause a panic!
Also correct (I think) the code and data addresses associated with the FP
unit.
This probably wants pulling up.


To generate a diff of this commit:
cvs rdiff -u -r1.80 -r1.81 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.80 src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.81
--- src/sys/arch/amd64/amd64/netbsd32_machdep.c:1.80	Mon Dec 31 16:20:17 2012
+++ src/sys/arch/amd64/amd64/netbsd32_machdep.c	Tue Jun 25 21:08:07 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: netbsd32_machdep.c,v 1.80 2012/12/31 16:20:17 dsl Exp $	*/
+/*	$NetBSD: netbsd32_machdep.c,v 1.81 2013/06/25 21:08:07 dsl Exp $	*/
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: netbsd32_machdep.c,v 1.80 2012/12/31 16:20:17 dsl Exp $);
+__KERNEL_RCSID(0, $NetBSD: netbsd32_machdep.c,v 1.81 2013/06/25 21:08:07 dsl Exp $);
 
 #ifdef _KERNEL_OPT
 #include opt_compat_netbsd.h
@@ -567,11 +567,27 @@ xmm_to_s87_tag(const uint8_t *fpac, int 
 int
 netbsd32_process_read_fpregs(struct lwp *l, struct fpreg32 *regs)
 {
-	struct pcb *pcb = lwp_getpcb(l);
 	struct fpreg regs64;
 	struct save87 *s87 = (struct save87 *)regs;
 	int error, i;
 
+	union fp_addr {
+	uint64_t fa_64; /* Linear address for 64bit systems */
+	struct {
+	uint32_t fa_off;/* Linear address for 32 bit */
+	uint16_t fa_seg;/* Code/data (etc) segment */
+	uint16_t fa_pad;
+	} fa_32; 
+	} fa;
+
+	/* 
+	 * NOTE: This 'struct fpreg32' is just char[108] and is shorter
+	 * than 'struct save87'.
+	 * If we write to the extra fields we trash the stack when writing
+	 * process coredumps (see coredump_note() in core_elf32.c).
+	 * This code must not set sv_env.en_tw or s87-sv_ex_sw.
+	 */
+
 	/*
 	 * All that stuff makes no sense in i386 code :(
 	 */
@@ -582,29 +598,24 @@ netbsd32_process_read_fpregs(struct lwp 
 
 	s87-sv_env.en_cw = regs64.fxstate.fx_fcw;
 	s87-sv_env.en_sw = regs64.fxstate.fx_fsw;
-	s87-sv_env.en_fip = regs64.fxstate.fx_rip  16; /* XXX Order? */
-	s87-sv_env.en_fcs = regs64.fxstate.fx_rip  0x;
+	fa.fa_64 = regs64.fxstate.fx_rip;
+	s87-sv_env.en_fip = fa.fa_32.fa_off;
+	s87-sv_env.en_fcs = fa.fa_32.fa_seg;
 	s87-sv_env.en_opcode = regs64.fxstate.fx_fop;
-	s87-sv_env.en_foo = regs64.fxstate.fx_rdp  16; /* XXX See above */
-	s87-sv_env.en_fos = regs64.fxstate.fx_rdp  0x;
+	fa.fa_64 = regs64.fxstate.fx_rdp;
+	s87-sv_env.en_foo = fa.fa_32.fa_off;
+	s87-sv_env.en_fos = fa.fa_32.fa_seg;
 
 	s87-sv_env.en_tw = 0;
-	s87-sv_ex_tw = 0;
 	for (i = 0; i  8; i++) {
 		s87-sv_env.en_tw |=
 		(xmm_to_s87_tag((uint8_t *)regs64.fxstate.fx_st[i][0], i,
 		 regs64.fxstate.fx_ftw)  (i * 2));
 
-		s87-sv_ex_tw |=
-		(xmm_to_s87_tag((uint8_t *)regs64.fxstate.fx_st[i][0], i,
-		 pcb-pcb_savefpu_i387.fp_ex_tw)  (i * 2));
-
 		memcpy(s87-sv_ac[i].fp_bytes, regs64.fxstate.fx_st[i][0],
 		sizeof(s87-sv_ac[i].fp_bytes));
 	}
 
-	s87-sv_ex_sw = pcb-pcb_savefpu_i387.fp_ex_sw;
-
 	return (0);
 }
 



CVS commit: src/usr.bin/make

2013-06-25 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Tue Jun 25 07:08:10 UTC 2013

Modified Files:
src/usr.bin/make: make.1

Log Message:
Remove trailing whitespace.


To generate a diff of this commit:
cvs rdiff -u -r1.216 -r1.217 src/usr.bin/make/make.1

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

Modified files:

Index: src/usr.bin/make/make.1
diff -u src/usr.bin/make/make.1:1.216 src/usr.bin/make/make.1:1.217
--- src/usr.bin/make/make.1:1.216	Tue Jun 25 00:20:54 2013
+++ src/usr.bin/make/make.1	Tue Jun 25 07:08:10 2013
@@ -1,4 +1,4 @@
-.\	$NetBSD: make.1,v 1.216 2013/06/25 00:20:54 sjg Exp $
+.\	$NetBSD: make.1,v 1.217 2013/06/25 07:08:10 wiz Exp $
 .\
 .\ Copyright (c) 1990, 1993
 .\	The Regents of the University of California.  All rights reserved.
@@ -882,7 +882,7 @@ is modified.
 .It Va .MAKE.PATH_FILEMON
 If
 .Nm
-was built with 
+was built with
 .Xr filemon 4
 support, this is set to the path of the device node.
 This allows makefiles to test for this support.
@@ -1326,7 +1326,7 @@ The path of the node which has the same 
 is the value.
 If no such node exists or its path is null, then the
 name of the variable is used.
-In order for this modifier to work, the name (node) must at least have 
+In order for this modifier to work, the name (node) must at least have
 appeared on the rhs of a dependency.
 .Sm off
 .It Cm \:\! Ar cmd Cm \!
@@ -2119,7 +2119,7 @@ machines using a daemon called
 Historically the target/dependency
 .Dq FRC
 has been used to FoRCe rebuilding (since the target/dependency
-does not exist... unless someone creates an 
+does not exist... unless someone creates an
 .Dq FRC
 file).
 .Sh BUGS



CVS commit: src/lib/csu/common

2013-06-25 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Tue Jun 25 07:18:02 UTC 2013

Modified Files:
src/lib/csu/common: Makefile.inc

Log Message:
Reorder to avoid !exists
Add a crtbegin.h dependency


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/lib/csu/common/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/lib/csu/common/Makefile.inc
diff -u src/lib/csu/common/Makefile.inc:1.9 src/lib/csu/common/Makefile.inc:1.10
--- src/lib/csu/common/Makefile.inc:1.9	Sat Jun 22 02:37:09 2013
+++ src/lib/csu/common/Makefile.inc	Tue Jun 25 07:18:02 2013
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.inc,v 1.9 2013/06/22 02:37:09 matt Exp $
+#	$NetBSD: Makefile.inc,v 1.10 2013/06/25 07:18:02 matt Exp $
 
 .include bsd.own.mk
 
@@ -12,14 +12,14 @@ OBJS+=		crtbegin.o crtbeginS.o crtend.o
 
 realall: ${OBJS}
 
-.if !exists(${ARCHDIR}/crtbegin.S)
-crtbegin.o: crtbegin.c
-	${_MKTARGET_COMPILE}
-	${COMPILE.c} ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o
-.else
+.if exists(${ARCHDIR}/crtbegin.S)
 crtbegin.o: crtbegin.S
 	${_MKTARGET_COMPILE}
 	${COMPILE.S} ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o
+.else
+crtbegin.o: crtbegin.c crtbegin.h
+	${_MKTARGET_COMPILE}
+	${COMPILE.c} ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o
 .endif
 	${LD} -x -r -o ${.TARGET} ${.TARGET}.o
 	rm -f ${.TARGET}.o
@@ -27,14 +27,14 @@ crtbegin.o: crtbegin.S
 	${OBJCOPY} -R .ident ${.TARGET}
 .endif
 
-.if !exists(${ARCHDIR}/crtbegin.S)
-crtbeginS.o: crtbegin.c
-	${_MKTARGET_COMPILE}
-	${COMPILE.c} -DPIC -DSHARED ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o
-.else
+.if exists(${ARCHDIR}/crtbegin.S)
 crtbeginS.o: crtbegin.S
 	${_MKTARGET_COMPILE}
 	${COMPILE.S} -DPIC -DSHARED ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o
+.else
+crtbeginS.o: crtbegin.c crtbegin.h
+	${_MKTARGET_COMPILE}
+	${COMPILE.c} -DPIC -DSHARED ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o
 .endif
 	${LD} -x -r -o ${.TARGET} ${.TARGET}.o
 	rm -f ${.TARGET}.o



CVS commit: src/external/mit/xorg/server/drivers/xf86-video-suncg14

2013-06-25 Thread Michael Lorenz
Module Name:src
Committed By:   macallan
Date:   Tue Jun 25 12:27:41 UTC 2013

Modified Files:
src/external/mit/xorg/server/drivers/xf86-video-suncg14: Makefile

Log Message:
add cg14_render.c


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/mit/xorg/server/drivers/xf86-video-suncg14/Makefile

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

Modified files:

Index: src/external/mit/xorg/server/drivers/xf86-video-suncg14/Makefile
diff -u src/external/mit/xorg/server/drivers/xf86-video-suncg14/Makefile:1.4 src/external/mit/xorg/server/drivers/xf86-video-suncg14/Makefile:1.5
--- src/external/mit/xorg/server/drivers/xf86-video-suncg14/Makefile:1.4	Wed Jun 19 13:27:07 2013
+++ src/external/mit/xorg/server/drivers/xf86-video-suncg14/Makefile	Tue Jun 25 12:27:41 2013
@@ -1,9 +1,9 @@
-#	$NetBSD: Makefile,v 1.4 2013/06/19 13:27:07 macallan Exp $
+#	$NetBSD: Makefile,v 1.5 2013/06/25 12:27:41 macallan Exp $
 
 DRIVER=		xf86-video-suncg14
 DRIVER_NAME=	suncg14_drv
 
-SRCS=		cg14_driver.c cg14_cursor.c cg14_accel.c
+SRCS=		cg14_driver.c cg14_cursor.c cg14_accel.c cg14_render.c
 MAN=		suncg14.4
 
 CPPFLAGS+=	-I${X11SRCDIR.${DRIVER}}/../include



CVS commit: xsrc/external/mit/xf86-video-suncg14/dist/src

2013-06-25 Thread Michael Lorenz
Module Name:xsrc
Committed By:   macallan
Date:   Tue Jun 25 12:26:57 UTC 2013

Modified Files:
xsrc/external/mit/xf86-video-suncg14/dist/src: cg14.h cg14_accel.c
Added Files:
xsrc/external/mit/xf86-video-suncg14/dist/src: cg14_render.c

Log Message:
- support PictOpSrc, mask is ignored so far
- support PictOpOver with non-solid source, with or without mask - now QT3
  icons are rendered properly
- move render operations into their own file


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 xsrc/external/mit/xf86-video-suncg14/dist/src/cg14.h
cvs rdiff -u -r1.1 -r1.2 \
xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_accel.c
cvs rdiff -u -r0 -r1.1 \
xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_render.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/xf86-video-suncg14/dist/src/cg14.h
diff -u xsrc/external/mit/xf86-video-suncg14/dist/src/cg14.h:1.6 xsrc/external/mit/xf86-video-suncg14/dist/src/cg14.h:1.7
--- xsrc/external/mit/xf86-video-suncg14/dist/src/cg14.h:1.6	Wed Jun 19 13:26:01 2013
+++ xsrc/external/mit/xf86-video-suncg14/dist/src/cg14.h	Tue Jun 25 12:26:57 2013
@@ -99,13 +99,50 @@ typedef struct {
 	uint32_t	srcformat, dstformat, mskformat;
 	uint32_t	fillcolour;
 	int		op;
+	Bool		source_is_solid;
 	int		xdir, ydir;	
 	ExaDriverPtr 	pExa;
 } Cg14Rec, *Cg14Ptr;
 
+/* SX stuff */
+/* write an SX register */
+static inline void
+write_sx_reg(Cg14Ptr p, int reg, uint32_t val)
+{
+	*(volatile uint32_t *)(p-sxreg + reg) = val;
+}
+
+/* read an SX register */
+static inline uint32_t
+read_sx_reg(Cg14Ptr p, int reg)
+{
+	return *(volatile uint32_t *)(p-sxreg + reg);
+}
+
+/* write a memory referencing instruction */
+static inline void
+write_sx_io(Cg14Ptr p, int reg, uint32_t val)
+{
+	*(volatile uint32_t *)(p-sxio + reg) = val;
+}
+
 Bool CG14SetupCursor(ScreenPtr);
 Bool CG14InitAccel(ScreenPtr);
 
+/* xrender ops */
+void CG14Comp_Over8Solid(Cg14Ptr, uint32_t, uint32_t, uint32_t, uint32_t,
+   int, int);
+void CG14Comp_Over32Solid(Cg14Ptr, uint32_t, uint32_t, uint32_t, uint32_t,
+   int, int);
+void CG14Comp_Over32(Cg14Ptr, uint32_t, uint32_t, uint32_t, uint32_t,
+   int, int);
+void CG14Comp_Over32Mask(Cg14Ptr, uint32_t, uint32_t, uint32_t, uint32_t,
+   uint32_t, uint32_t, int, int);
+void CG14Comp_Add8(Cg14Ptr, uint32_t, uint32_t, uint32_t, uint32_t,
+   int, int);
+void CG14Comp_Add32(Cg14Ptr, uint32_t, uint32_t, uint32_t, uint32_t,
+   int, int);
+
 #define GET_CG14_FROM_SCRN(p)((Cg14Ptr)((p)-driverPrivate))
 
 /*

Index: xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_accel.c
diff -u xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_accel.c:1.1 xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_accel.c:1.2
--- xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_accel.c:1.1	Wed Jun 19 13:26:01 2013
+++ xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_accel.c	Tue Jun 25 12:26:57 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: cg14_accel.c,v 1.1 2013/06/19 13:26:01 macallan Exp $ */
+/* $NetBSD: cg14_accel.c,v 1.2 2013/06/25 12:26:57 macallan Exp $ */
 /*
  * Copyright (c) 2013 Michael Lorenz
  * All rights reserved.
@@ -61,29 +61,6 @@ int src_formats[] = {PICT_a8r8g8b8, PICT
 		 PICT_a8b8g8r8, PICT_x8b8g8r8, PICT_a8};
 int tex_formats[] = {PICT_a8r8g8b8, PICT_a8b8g8r8, PICT_a8};
 
-char c[8] =  .,:+*oX;
-
-/* write an SX register */
-static inline void
-write_sx_reg(Cg14Ptr p, int reg, uint32_t val)
-{
-	*(volatile uint32_t *)(p-sxreg + reg) = val;
-}
-
-/* read an SX register */
-static inline uint32_t
-read_sx_reg(Cg14Ptr p, int reg)
-{
-	return *(volatile uint32_t *)(p-sxreg + reg);
-}
-
-/* write a memory referencing instruction */
-static inline void
-write_sx_io(Cg14Ptr p, int reg, uint32_t val)
-{
-	*(volatile uint32_t *)(p-sxio + reg) = val;
-}
-
 static inline void
 CG14Wait(Cg14Ptr p)
 {
@@ -565,7 +542,7 @@ CG14CheckComposite(int op, PicturePtr pS
 	 * over time and likely have to spill over into its own source file.
 	 */
 	
-	if ((op != PictOpOver)  (op != PictOpAdd)) {
+	if ((op != PictOpOver)  (op != PictOpAdd)  (op != PictOpSrc)) {
 		xf86Msg(X_ERROR, %s: rejecting %d\n, __func__, op);
 		return FALSE;
 	}
@@ -581,7 +558,7 @@ CG14CheckComposite(int op, PicturePtr pS
 		return FALSE;
 	}
 
-	DPRINTF(X_ERROR, src is %x %d %d\n, pSrcPicture-format,
+	DPRINTF(X_ERROR, src is %x, %d: %d %d\n, pSrcPicture-format, op,
 	pSrcPicture-pDrawable-width, pSrcPicture-pDrawable-height);
 
 	if (pMaskPicture != NULL) {
@@ -605,11 +582,17 @@ CG14PrepareComposite(int op, PicturePtr 
 
 	ENTER;
 
+	if (pSrcPicture-format == PICT_a1) {
+		xf86Msg(X_ERROR, src mono, dst %x, op %d\n, pDstPicture-format, op);
+		if (pMaskPicture != NULL) {
+			xf86Msg(X_ERROR, msk %x\n, pMaskPicture-format);
+		}
+	} 
 	if (pSrcPicture-pSourcePict != NULL) {
 		if 

CVS commit: xsrc/external/mit/xf86-video-suncg14/dist/src

2013-06-25 Thread Michael Lorenz
Module Name:xsrc
Committed By:   macallan
Date:   Tue Jun 25 12:31:29 UTC 2013

Modified Files:
xsrc/external/mit/xf86-video-suncg14/dist/src: cg14_accel.c
cg14_render.c

Log Message:
missed one
( move CG14Comp_Over32Solid() too )


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_accel.c
cvs rdiff -u -r1.1 -r1.2 \
xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_render.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/xf86-video-suncg14/dist/src/cg14_accel.c
diff -u xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_accel.c:1.2 xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_accel.c:1.3
--- xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_accel.c:1.2	Tue Jun 25 12:26:57 2013
+++ xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_accel.c	Tue Jun 25 12:31:29 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: cg14_accel.c,v 1.2 2013/06/25 12:26:57 macallan Exp $ */
+/* $NetBSD: cg14_accel.c,v 1.3 2013/06/25 12:31:29 macallan Exp $ */
 /*
  * Copyright (c) 2013 Michael Lorenz
  * All rights reserved.
@@ -631,104 +631,6 @@ CG14PrepareComposite(int op, PicturePtr 
 	return TRUE;
 }
 
-void CG14Comp_Over32Solid(Cg14Ptr p,
-   uint32_t src, uint32_t srcpitch,
-   uint32_t dst, uint32_t dstpitch,
-   int width, int height)
-{
-	uint32_t msk = src, mskx, dstx, m;
-	int line, x, i;
-
-	ENTER;
-	/* first get the source colour */
-	write_sx_io(p, p-srcoff, SX_LDUQ0(8, 0, p-srcoff  7));
-	write_sx_reg(p, SX_QUEUED(8), 0xff);
-	for (line = 0; line  height; line++) {
-		mskx = msk;
-		dstx = dst;
-#ifdef SX_SINGLE
-
-		for (x = 0; x  width; x++) {
-			m = *(volatile uint32_t *)(p-fb + mskx);
-			m = m  24;
-			if (m == 0) {
-/* nothing to do - all transparent */
-			} else if (m == 0xff) {
-/* all opaque */
-write_sx_io(p, dstx, SX_STUQ0(8, 0, dstx  7));
-			} else {
-/* fetch alpha value, stick it into scam */
-/* mask is in R[12:15] */
-/*write_sx_io(p, mskx,
-SX_LDUQ0(12, 0, mskx  7));*/
-write_sx_reg(p, SX_QUEUED(12), m);
-/* fetch dst pixel */
-write_sx_io(p, dstx, SX_LDUQ0(20, 0, dstx  7));
-write_sx_reg(p, SX_INSTRUCTIONS,
-SX_ORV(12, 0, R_SCAM, 0));
-/*
- * src * alpha + R0
- * R[9:11] * SCAM + R0 - R[17:19]
- */
-write_sx_reg(p, SX_INSTRUCTIONS,
-SX_SAXP16X16SR8(9, 0, 17, 2));
-			
-/* invert SCAM */
-write_sx_reg(p, SX_INSTRUCTIONS,
-SX_XORV(12, 8, R_SCAM, 0));
-#ifdef SX_DEBUG
-write_sx_reg(p, SX_INSTRUCTIONS,
-SX_XORV(12, 8, 13, 0));
-#endif
-/* dst * (1 - alpha) + R[13:15] */
-write_sx_reg(p, SX_INSTRUCTIONS,
-SX_SAXP16X16SR8(21, 17, 25, 2));
-write_sx_io(p, dstx,
-SX_STUQ0C(24, 0, dstx  7));
-			}
-			dstx += 4;
-			mskx += 4;
-		}
-#else
-		for (x = 0; x  width; x += 4) {
-			/* fetch 4 mask values */
-			write_sx_io(p, mskx, SX_LDUQ0(12, 3, mskx  7));
-			/* fetch destination pixels */
-			write_sx_io(p, dstx, SX_LDUQ0(60, 3, dstx  7));
-			/* duplicate them for all channels */
-			write_sx_reg(p, SX_INSTRUCTIONS, SX_ORS(0, 12, 13, 2));			
-			write_sx_reg(p, SX_INSTRUCTIONS, SX_ORS(0, 16, 17, 2));			
-			write_sx_reg(p, SX_INSTRUCTIONS, SX_ORS(0, 20, 21, 2));			
-			write_sx_reg(p, SX_INSTRUCTIONS, SX_ORS(0, 24, 25, 2));
-			/* generate inverted alpha */
-			write_sx_reg(p, SX_INSTRUCTIONS,
-			SX_XORS(12, 8, 28, 15));
-			/* multiply source */
-			write_sx_reg(p, SX_INSTRUCTIONS,
-			SX_MUL16X16SR8(8, 12, 44, 3));
-			write_sx_reg(p, SX_INSTRUCTIONS,
-			SX_MUL16X16SR8(8, 16, 48, 3));
-			write_sx_reg(p, SX_INSTRUCTIONS,
-			SX_MUL16X16SR8(8, 20, 52, 3));
-			write_sx_reg(p, SX_INSTRUCTIONS,
-			SX_MUL16X16SR8(8, 24, 56, 3));
-			/* multiply dest */
-			write_sx_reg(p, SX_INSTRUCTIONS,
-			SX_MUL16X16SR8(28, 60, 76, 15));
-			/* add up */
-			write_sx_reg(p, SX_INSTRUCTIONS,
-			SX_ADDV(44, 76, 92, 15));
-			/* write back */
-			write_sx_io(p, dstx, SX_STUQ0C(92, 3, dstx  7));
-			dstx += 16;
-			mskx += 16;
-		}
-#endif
-		dst += dstpitch;
-		msk += srcpitch;
-	}
-}
-
 void
 CG14Composite(PixmapPtr pDst, int srcX, int srcY,
   int maskX, int maskY,

Index: xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_render.c
diff -u xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_render.c:1.1 xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_render.c:1.2
--- xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_render.c:1.1	Tue Jun 25 12:26:57 2013
+++ xsrc/external/mit/xf86-video-suncg14/dist/src/cg14_render.c	Tue Jun 25 12:31:29 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: cg14_render.c,v 1.1 2013/06/25 12:26:57 macallan Exp $ */
+/* $NetBSD: cg14_render.c,v 1.2 2013/06/25 12:31:29 macallan Exp $ */
 /*
  * Copyright (c) 2013 Michael Lorenz
  * All rights reserved.
@@ -53,6 +53,105 

CVS commit: src/etc/rc.d

2013-06-25 Thread Roy Marples
Module Name:src
Committed By:   roy
Date:   Tue Jun 25 13:02:53 UTC 2013

Modified Files:
src/etc/rc.d: dhcpcd

Log Message:
Add a hack to fix the dhcpcd rc.d script to work with a single
interface specified in dhcpcd_flags in rc.conf(5).
Fixes PR bin/43490


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/etc/rc.d/dhcpcd

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

Modified files:

Index: src/etc/rc.d/dhcpcd
diff -u src/etc/rc.d/dhcpcd:1.1 src/etc/rc.d/dhcpcd:1.2
--- src/etc/rc.d/dhcpcd:1.1	Tue Apr 28 23:30:34 2009
+++ src/etc/rc.d/dhcpcd	Tue Jun 25 13:02:53 2013
@@ -9,7 +9,27 @@ $_rc_subr_loaded . /etc/rc.subr
 name=dhcpcd
 rcvar=$name
 command=/sbin/$name
-pidfile=/var/run/$name.pid
 
 load_rc_config $name
+
+# If the last argument to dhcpcd is a valid interface and the prior argument
+# is not then dhcpcd will start on one interface only and create a pidfile
+# based on the interface name. See PR bin/43490.
+if [ -n $flags ]; then
+	myflags=$flags
+else
+	eval myflags=\$${name}_flags
+fi
+ifname=${myflags##* }
+myflags=${myflags%% $ifname}
+last_flag=${myflags##* }
+if /sbin/ifconfig $ifname /dev/null 21  
+! /sbin/ifconfig $last_flag /dev/null 21
+then
+	pidfile=/var/run/$name-$ifname.pid
+else
+	pidfile=/var/run/$name.pid
+fi
+unset myflags ifname last_flag
+
 run_rc_command $1



CVS commit: src/sys/arch/epoc32

2013-06-25 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Tue Jun 25 13:56:59 UTC 2013

Modified Files:
src/sys/arch/epoc32/conf: GENERIC files.epoc32
src/sys/arch/epoc32/epoc32: external.c

Log Message:
Configuration of external devices move to GENERIC.  External bus does't know
attaching devices.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/epoc32/conf/GENERIC \
src/sys/arch/epoc32/conf/files.epoc32
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/epoc32/epoc32/external.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/epoc32/conf/GENERIC
diff -u src/sys/arch/epoc32/conf/GENERIC:1.1 src/sys/arch/epoc32/conf/GENERIC:1.2
--- src/sys/arch/epoc32/conf/GENERIC:1.1	Sun Apr 28 12:11:25 2013
+++ src/sys/arch/epoc32/conf/GENERIC	Tue Jun 25 13:56:59 2013
@@ -1,4 +1,4 @@
-#	$NetBSD: GENERIC,v 1.1 2013/04/28 12:11:25 kiyohara Exp $
+#	$NetBSD: GENERIC,v 1.2 2013/06/25 13:56:59 kiyohara Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include		arch/epoc32/conf/std.epoc32
 
 #options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		GENERIC-$Revision: 1.1 $
+#ident 		GENERIC-$Revision: 1.2 $
 
 maxusers	32			# estimated number of users
 
@@ -157,7 +157,6 @@ wsdisplay* at wmlcd? console ?
 
 epockbd* at clpssoc?
 epockbd* at windermere?
-#epockbd* at external? addr 0x1030, 0x1004
 wskbd*	at epockbd?
 
 #spi*	at clpsssi*
@@ -167,7 +166,12 @@ wskbd*	at epockbd?
 #audio* at audio?
 
 # External devices
-etna* at external?# ETNA Controller
+
+#epockbd* at external? addr 0x1030 addr2 0x1004		# Series 7
+
+# ETNA Controller
+etna* at external? addr 0x2000 addr2 0x4000 irq 5	# 5mx
+etna* at external? addr 0x5000 addr2 0x3000 irq 5	# 5mx Pro
 pcmcia* at etna?
 
 wdc* at pcmcia?	# CF
Index: src/sys/arch/epoc32/conf/files.epoc32
diff -u src/sys/arch/epoc32/conf/files.epoc32:1.1 src/sys/arch/epoc32/conf/files.epoc32:1.2
--- src/sys/arch/epoc32/conf/files.epoc32:1.1	Sun Apr 28 12:11:25 2013
+++ src/sys/arch/epoc32/conf/files.epoc32	Tue Jun 25 13:56:59 2013
@@ -21,7 +21,7 @@ device	internal { }: pic, pic_splfuncs
 attach	internal at mainbus
 file	arch/epoc32/epoc32/internal.c		internal
 
-device	external { }
+device	external {[addr = -1], [addr2 = -1], [irq = -1]}
 attach	external at mainbus
 file	arch/epoc32/epoc32/external.c		external
 file	arch/epoc32/epoc32/external_io.c	external

Index: src/sys/arch/epoc32/epoc32/external.c
diff -u src/sys/arch/epoc32/epoc32/external.c:1.1 src/sys/arch/epoc32/epoc32/external.c:1.2
--- src/sys/arch/epoc32/epoc32/external.c:1.1	Sun Apr 28 12:11:26 2013
+++ src/sys/arch/epoc32/epoc32/external.c	Tue Jun 25 13:56:59 2013
@@ -1,6 +1,6 @@
-/*	$NetBSD: external.c,v 1.1 2013/04/28 12:11:26 kiyohara Exp $	*/
+/*	$NetBSD: external.c,v 1.2 2013/06/25 13:56:59 kiyohara Exp $	*/
 /*
- * Copyright (c) 2012 KIYOHARA Takashi
+ * Copyright (c) 2012, 2013 KIYOHARA Takashi
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,7 +26,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: external.c,v 1.1 2013/04/28 12:11:26 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: external.c,v 1.2 2013/06/25 13:56:59 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/bus.h
@@ -35,24 +35,18 @@ __KERNEL_RCSID(0, $NetBSD: external.c,v
 
 #include machine/epoc32.h
 
+#include locators.h
+
 extern struct bus_space external_bs_tag;
 
 static int external_match(device_t, cfdata_t, void *);
 static void external_attach(device_t parent, device_t self, void *aux);
 
+static int external_search(device_t, cfdata_t, const int *, void *);
 static int external_print(void *, const char *);
 
 CFATTACH_DECL_NEW(external, 0, external_match, external_attach, NULL, NULL);
 
-static const struct {
-	const char *name;
-	bus_addr_t addr;
-	bus_addr_t addr2;
-	int irq;
-} knowndevs[] = {
-	{ etna,	0x2000, 0x4000, 5 },	/* 5mx */
-	{ etna,	0x5000, 0x3000, 5 },	/* 5mx pro */
-};
 
 /* ARGSUSED */
 static int
@@ -66,21 +60,28 @@ external_match(device_t parent, cfdata_t
 static void
 external_attach(device_t parent, device_t self, void *aux)
 {
-	struct external_attach_args aa;
-	int i;
 
 	aprint_naive(\n);
 	aprint_normal(\n);
 
-	for (i = 0; i  __arraycount(knowndevs); i++) {
-		aa.name = knowndevs[i].name;
-		aa.iot = external_bs_tag;
-		aa.addr = knowndevs[i].addr;
-		aa.addr2 = knowndevs[i].addr2;
-		aa.irq = knowndevs[i].irq;
-		config_found_sm_loc(self, external, NULL, aa,
-		external_print, NULL);
-	}
+	config_search_ia(external_search, self, external, NULL);
+}
+
+/* ARGSUSED */
+static int
+external_search(device_t parent, cfdata_t cf, const int *ldesc, void *aux)
+{
+	struct external_attach_args aa;
+
+	aa.name = cf-cf_name;
+	aa.iot = external_bs_tag;
+	aa.addr = cf-cf_loc[EXTERNALCF_ADDR];
+	aa.addr2 = cf-cf_loc[EXTERNALCF_ADDR2];
+	aa.irq =