CVS commit: src/sys/arch

2009-08-09 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Sun Aug  9 06:12:34 UTC 2009

Modified Files:
src/sys/arch/arm/sa11x0: sa11x0.c sa11x0_ost.c sa11x0_var.h
src/sys/arch/arm/xscale: pxa2x0.c pxa2x0_ohci.c pxa2x0_rtc.c
pxa2x0_udc.c pxa2x0var.h
src/sys/arch/evbarm/gumstix: gxiic.c gxmci.c
src/sys/arch/zaurus/conf: GENERIC

Log Message:
Fix matching by improper driver.
  see http://mail-index.netbsd.org/port-arm/2009/07/08/msg000807.html

And remove some white-spaces.


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/sa11x0/sa11x0.c
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/arm/sa11x0/sa11x0_ost.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/sa11x0/sa11x0_var.h
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/xscale/pxa2x0.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/xscale/pxa2x0_ohci.c \
src/sys/arch/arm/xscale/pxa2x0var.h
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/xscale/pxa2x0_rtc.c \
src/sys/arch/arm/xscale/pxa2x0_udc.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/evbarm/gumstix/gxiic.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/evbarm/gumstix/gxmci.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/zaurus/conf/GENERIC

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/arm/sa11x0/sa11x0.c
diff -u src/sys/arch/arm/sa11x0/sa11x0.c:1.24 src/sys/arch/arm/sa11x0/sa11x0.c:1.25
--- src/sys/arch/arm/sa11x0/sa11x0.c:1.24	Fri May 29 14:15:44 2009
+++ src/sys/arch/arm/sa11x0/sa11x0.c	Sun Aug  9 06:12:33 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: sa11x0.c,v 1.24 2009/05/29 14:15:44 rjs Exp $	*/
+/*	$NetBSD: sa11x0.c,v 1.25 2009/08/09 06:12:33 kiyohara Exp $	*/
 
 /*-
  * Copyright (c) 2001, The NetBSD Foundation, Inc.  All rights reserved.
@@ -62,7 +62,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: sa11x0.c,v 1.24 2009/05/29 14:15:44 rjs Exp $);
+__KERNEL_RCSID(0, $NetBSD: sa11x0.c,v 1.25 2009/08/09 06:12:33 kiyohara Exp $);
 
 #include sys/param.h
 #include sys/systm.h
@@ -203,10 +203,11 @@
 	struct sa11x0_attach_args sa;
 
 	sa.sa_sc = sc;
-sa.sa_iot = sc-sc_iot;
-sa.sa_addr = cf-cf_loc[SAIPCF_ADDR];
-sa.sa_size = cf-cf_loc[SAIPCF_SIZE];
-sa.sa_intr = cf-cf_loc[SAIPCF_INTR];
+	sa.sa_iot = sc-sc_iot;
+	sa.sa_name = cf-cf_name;
+	sa.sa_addr = cf-cf_loc[SAIPCF_ADDR];
+	sa.sa_size = cf-cf_loc[SAIPCF_SIZE];
+	sa.sa_intr = cf-cf_loc[SAIPCF_INTR];
 	sa.sa_gpio = cf-cf_loc[SAIPCF_GPIO];
 
 if (config_match(parent, cf, sa)  0)

Index: src/sys/arch/arm/sa11x0/sa11x0_ost.c
diff -u src/sys/arch/arm/sa11x0/sa11x0_ost.c:1.27 src/sys/arch/arm/sa11x0/sa11x0_ost.c:1.28
--- src/sys/arch/arm/sa11x0/sa11x0_ost.c:1.27	Sat Aug  1 10:33:58 2009
+++ src/sys/arch/arm/sa11x0/sa11x0_ost.c	Sun Aug  9 06:12:33 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: sa11x0_ost.c,v 1.27 2009/08/01 10:33:58 kiyohara Exp $	*/
+/*	$NetBSD: sa11x0_ost.c,v 1.28 2009/08/09 06:12:33 kiyohara Exp $	*/
 
 /*
  * Copyright (c) 1997 Mark Brinicombe.
@@ -38,7 +38,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: sa11x0_ost.c,v 1.27 2009/08/01 10:33:58 kiyohara Exp $);
+__KERNEL_RCSID(0, $NetBSD: sa11x0_ost.c,v 1.28 2009/08/09 06:12:33 kiyohara Exp $);
 
 #include sys/types.h
 #include sys/param.h
@@ -99,7 +99,10 @@
 static int
 saost_match(device_t parent, cfdata_t match, void *aux)
 {
+	struct sa11x0_attach_args *sa = aux;
 
+	if (strcmp(sa-sa_name, match-cf_name) != 0)
+		return 0;
 	return 1;
 }
 

Index: src/sys/arch/arm/sa11x0/sa11x0_var.h
diff -u src/sys/arch/arm/sa11x0/sa11x0_var.h:1.9 src/sys/arch/arm/sa11x0/sa11x0_var.h:1.10
--- src/sys/arch/arm/sa11x0/sa11x0_var.h:1.9	Fri May 29 14:15:44 2009
+++ src/sys/arch/arm/sa11x0/sa11x0_var.h	Sun Aug  9 06:12:33 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: sa11x0_var.h,v 1.9 2009/05/29 14:15:44 rjs Exp $	*/
+/*	$NetBSD: sa11x0_var.h,v 1.10 2009/08/09 06:12:33 kiyohara Exp $	*/
 
 /*-
  * Copyright (c) 2001, The NetBSD Foundation, Inc.  All rights reserved.
@@ -52,7 +52,8 @@
 typedef void *sa11x0_chipset_tag_t;
 
 struct sa11x0_attach_args {
-	sa11x0_chipset_tag_t	sa_sc;		
+	const char *		sa_name;
+	sa11x0_chipset_tag_t	sa_sc;
 	bus_space_tag_t		sa_iot;		/* Bus tag */
 	bus_addr_t		sa_addr;	/* i/o address  */
 	bus_size_t		sa_size;
@@ -61,7 +62,7 @@
 	int			sa_gpio;
 };
 
-void *sa11x0_intr_establish(sa11x0_chipset_tag_t, int, int, int, 
+void *sa11x0_intr_establish(sa11x0_chipset_tag_t, int, int, int,
 			int (*)(void *), void *);
 void sa11x0_intr_disestablish(sa11x0_chipset_tag_t, void *);
 

Index: src/sys/arch/arm/xscale/pxa2x0.c
diff -u src/sys/arch/arm/xscale/pxa2x0.c:1.17 src/sys/arch/arm/xscale/pxa2x0.c:1.18
--- src/sys/arch/arm/xscale/pxa2x0.c:1.17	Sat May  3 23:06:06 2008
+++ src/sys/arch/arm/xscale/pxa2x0.c	Sun Aug  9 06:12:33 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: pxa2x0.c,v 1.17 2008/05/03 23:06:06 martin Exp $ */
+/*	$NetBSD: pxa2x0.c,v 1.18 2009/08/09 06:12:33 kiyohara Exp $ */
 
 /*
  * Copyright (c) 2002, 

CVS commit: src/sys/arch/arm/xscale

2009-08-09 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Sun Aug  9 06:24:04 UTC 2009

Modified Files:
src/sys/arch/arm/xscale: pxa2x0_udc.c

Log Message:
Remove GPIO configuration for board dependently.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/xscale/pxa2x0_udc.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/arm/xscale/pxa2x0_udc.c
diff -u src/sys/arch/arm/xscale/pxa2x0_udc.c:1.2 src/sys/arch/arm/xscale/pxa2x0_udc.c:1.3
--- src/sys/arch/arm/xscale/pxa2x0_udc.c:1.2	Sun Aug  9 06:12:34 2009
+++ src/sys/arch/arm/xscale/pxa2x0_udc.c	Sun Aug  9 06:24:03 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: pxa2x0_udc.c,v 1.2 2009/08/09 06:12:34 kiyohara Exp $	*/
+/*	$NetBSD: pxa2x0_udc.c,v 1.3 2009/08/09 06:24:03 kiyohara Exp $	*/
 /*	$OpenBSD: pxa27x_udc.c,v 1.5 2005/03/30 14:24:39 dlg Exp $ */
 
 /*
@@ -83,18 +83,10 @@
 	bus_space_barrier(sc-sc_iot, sc-sc_ioh, 0, sc-sc_size,
 	BUS_SPACE_BARRIER_READ|BUS_SPACE_BARRIER_WRITE);
 
-	pxa2x0_gpio_set_function(35, GPIO_ALT_FN_2_IN); /* USB_P2_1 */
-	pxa2x0_gpio_set_function(37, GPIO_ALT_FN_1_OUT); /* USB_P2_8 */
-	pxa2x0_gpio_set_function(41, GPIO_ALT_FN_2_IN); /* USB_P2_7 */
-	pxa2x0_gpio_set_function(89, GPIO_ALT_FN_2_OUT); /* USBHPEN1 */
-	pxa2x0_gpio_set_function(120, GPIO_ALT_FN_2_OUT); /* USBHPEN2 */
-
 	pxa2x0_clkman_config(CKEN_USBDC, 1);
 
 	pxaudc_enable(sc);
 
-	pxa2x0_gpio_set_bit(37); /* USB_P2_8 */
-
 	sc-sc_powerhook = powerhook_establish(sc-sc_dev.dv_xname,
 	pxaudc_power, sc);
 	if (sc-sc_powerhook == NULL) {



CVS commit: src/sys/arch/evbarm

2009-08-09 Thread KIYOHARA Takashi
Module Name:src
Committed By:   kiyohara
Date:   Sun Aug  9 07:10:13 UTC 2009

Modified Files:
src/sys/arch/evbarm/conf: GUMSTIX GUMSTIX_INSTALL files.gumstix
src/sys/arch/evbarm/gumstix: gumstix_machdep.c gumstix_start.S
gumstixreg.h gumstixvar.h gxio.c gxpcic.c if_sm_gxio.c
Added Files:
src/sys/arch/evbarm/gumstix: gxlcd.c if_smsh_gxio.c

Log Message:
Support verdex and verdex-pro.
  And
+ Support LCD controller.
+ Support SMSC LAN 9117 Ethernet controller.
+ Comment outed 'options GXIO_DEFAULT_EXPANSION'.  As for verdex-pro being
  sold now, this option becomes obstructive.
+ Remove some usb devices in GUMSTIX.
+ Update GUMSTIX.

Also
 Fix ARM ABI in gumstix_start.S.  Thanks Brett Slager bds at ifgd.net.
 Calculate RAM size in gumstix_start.S.


To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.37 src/sys/arch/evbarm/conf/GUMSTIX
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/evbarm/conf/GUMSTIX_INSTALL
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/evbarm/conf/files.gumstix
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/evbarm/gumstix/gumstix_machdep.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/evbarm/gumstix/gumstix_start.S
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/evbarm/gumstix/gumstixreg.h \
src/sys/arch/evbarm/gumstix/gumstixvar.h
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/evbarm/gumstix/gxio.c
cvs rdiff -u -r0 -r1.1 src/sys/arch/evbarm/gumstix/gxlcd.c \
src/sys/arch/evbarm/gumstix/if_smsh_gxio.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/evbarm/gumstix/gxpcic.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/evbarm/gumstix/if_sm_gxio.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/evbarm/conf/GUMSTIX
diff -u src/sys/arch/evbarm/conf/GUMSTIX:1.36 src/sys/arch/evbarm/conf/GUMSTIX:1.37
--- src/sys/arch/evbarm/conf/GUMSTIX:1.36	Tue Apr 21 03:00:29 2009
+++ src/sys/arch/evbarm/conf/GUMSTIX	Sun Aug  9 07:10:13 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: GUMSTIX,v 1.36 2009/04/21 03:00:29 nonaka Exp $
+#	$NetBSD: GUMSTIX,v 1.37 2009/08/09 07:10:13 kiyohara Exp $
 #
 #	GUMSTIX -- Gumstix. Inc. gumstix platforms kernel
 #
@@ -14,7 +14,8 @@
 # CPU options
 
 # For XScale systems
-options 	CPU_XSCALE_PXA250	# Support the XScale core
+options 	CPU_XSCALE_PXA250	# Support the basix/connex motherboards
+options 	CPU_XSCALE_PXA270	# Support the verdex motherboards
 makeoptions	CPUFLAGS=-mcpu=xscale
 
 # Architecture options
@@ -146,6 +147,7 @@
 #options 	PERFCTRS	# performance counters
 options 	DIAGNOSTIC	# internally consistency checks
 options 	DEBUG
+#options 	LOCKDEBUG
 #options 	PMAP_DEBUG	# Enable pmap_debug_level code
 #options 	VERBOSE_INIT_ARM # verbose bootstraping messages
 options 	DDB		# in-kernel debugger
@@ -153,11 +155,12 @@
 #options 	KGDB
 #options 	DEBUG_KGDB
 makeoptions	DEBUG=-g -O2	# compile full symbol table
-options 	SYMTAB_SPACE=42
+options 	SYMTAB_SPACE=45
 #options 	AUDIO_DEBUG=2
 
 config		netbsd		root on ? type ?
 config		netbsd-sm0	root on sm0 type nfs
+config		netbsd-smsh0	root on smsh0 type nfs
 
 # The main bus device
 mainbus0 at root
@@ -172,14 +175,14 @@
 options 	PXAGPIO_HAS_GPION_INTRS
 
 pxagpio0 at pxaip?# GPIO
-pxartc0	at pxaip?# RTC
+pxartc0	at pxaip? addr 0x4090		# RTC
 
 # cotulla integrated 16550 UARTs
 options COM_PXA2X0
 com0	at pxaip? addr 0x4010 intr 22	# Full Function UART
 com1	at pxaip? addr 0x4070 intr 20	# Standard UART (console-st)
-com2	at pxaip? addr 0x4020 intr 21	# Bluetooth UART (older -bt)
-com3	at pxaip? addr 0x4160 intr 7	# Hardware UART(console-hw, -bt)
+com2	at pxaip? addr 0x4020 intr 21	# Bluetooth UART (older bt)
+com3	at pxaip? addr 0x4160 intr 7	# Hardware UART(console-hw, bt)
 options 	FFUARTCONSOLE
 #options 	STUARTCONSOLE
 #options 	BTUARTCONSOLE
@@ -193,17 +196,19 @@
 #options 	PXA2X0_DMAC_FIXED_PRIORITY	# Don't want multiple priority
 
 # AC97 Audio support
-pxaacu0	at pxaip? addr 0x4050 intr 14
+pxaacu0	at pxaip? addr 0x4050 intr 14	# Audiostix, Audiostx2, GPSstix
 
 # Audio support
 audio*	at audiobus?
 
 # LCD
-#lcd0	at pxaip?
-#wsdisplay* at lcd? console ?
+lcd0	at pxaip? addr 0x4400		# consoleLCD-vx,consoleLCD16-vx
+wsdisplay* at lcd? console ?
 
-# USB Controller and Devices
-pxaudc0	at pxaip?# USB Device Controller
+# USB Host/Device Controller
+ohci0	at pxaip? addr 0x4c00 intr 3	# consoleLCD-vx,consoleLCD16-vx
+		# ALSO NEEDS pxaudc
+pxaudc0	at pxaip? addr 0x4060
 
 # integrated MMC/SD contoller
 pxamci0	at pxaip? addr 0x4110 size 0x48
@@ -217,25 +222,34 @@
 # gumstix device support
 gxio0	at pxaip?
 options 	GXIO_BLUETOOTH_ON_HWUART	# Bluetooth module on HWUART
-options 	GXIO_DEFAULT_EXPANSION=\netCF\
+#options 	GXIO_DEFAULT_EXPANSION=\netCF\
 
 # gumstix expantion boards
 
 # SMC 91C111
-sm0	at gxio? addr 0x04000300 gpirq 36	# etherstix, net{MMC,CF,DUO}
+sm0	at gxio? addr 0x04000300 gpirq ?
+#sm0	at gxio? addr 0x04000300 

CVS commit: src

2009-08-09 Thread Marc Balmer
Module Name:src
Committed By:   mbalmer
Date:   Sun Aug  9 08:20:54 UTC 2009

Modified Files:
src/distrib/sets/lists/man: mi
src/share/man/man4: Makefile
Added Files:
src/share/man/man4: gpioiic.4

Log Message:
Add the manual page for the gpioiic(4) driver.


To generate a diff of this commit:
cvs rdiff -u -r1.1151 -r1.1152 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.495 -r1.496 src/share/man/man4/Makefile
cvs rdiff -u -r0 -r1.1 src/share/man/man4/gpioiic.4

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/man/mi
diff -u src/distrib/sets/lists/man/mi:1.1151 src/distrib/sets/lists/man/mi:1.1152
--- src/distrib/sets/lists/man/mi:1.1151	Sun Aug  9 06:40:10 2009
+++ src/distrib/sets/lists/man/mi	Sun Aug  9 08:20:53 2009
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1151 2009/08/09 06:40:10 kiyohara Exp $
+# $NetBSD: mi,v 1.1152 2009/08/09 08:20:53 mbalmer Exp $
 #
 # Note: don't delete entries from here - mark them as obsolete instead.
 #
@@ -938,6 +938,7 @@
 ./usr/share/man/cat4/gphyter.0			man-sys-catman		.cat
 ./usr/share/man/cat4/gpib.0			man-sys-catman		.cat
 ./usr/share/man/cat4/gpio.0			man-sys-catman		.cat
+./usr/share/man/cat4/gpioiic.0			man-sys-catman		.cat
 ./usr/share/man/cat4/gpioow.0			man-sys-catman		.cat
 ./usr/share/man/cat4/gpiosim.0			man-sys-catman		.cat
 ./usr/share/man/cat4/gre.0			man-sys-catman		.cat
@@ -3546,6 +3547,7 @@
 ./usr/share/man/html4/gphyter.html		man-sys-htmlman		html
 ./usr/share/man/html4/gpib.html			man-sys-htmlman		html
 ./usr/share/man/html4/gpio.html			man-sys-htmlman		html
+./usr/share/man/html4/gpioiic.html		man-sys-htmlman		html
 ./usr/share/man/html4/gpioow.html		man-sys-htmlman		html
 ./usr/share/man/html4/gpiosim.html		man-sys-htmlman		html
 ./usr/share/man/html4/gre.html			man-sys-htmlman		html
@@ -5934,6 +5936,7 @@
 ./usr/share/man/man4/gphyter.4			man-sys-man		.man
 ./usr/share/man/man4/gpib.4			man-sys-man		.man
 ./usr/share/man/man4/gpio.4			man-sys-man		.man
+./usr/share/man/man4/gpioiic.4			man-sys-man		.man
 ./usr/share/man/man4/gpioow.4			man-sys-man		.man
 ./usr/share/man/man4/gpiosim.4			man-sys-man		.man
 ./usr/share/man/man4/gre.4			man-sys-man		.man

Index: src/share/man/man4/Makefile
diff -u src/share/man/man4/Makefile:1.495 src/share/man/man4/Makefile:1.496
--- src/share/man/man4/Makefile:1.495	Sun Aug  9 06:40:09 2009
+++ src/share/man/man4/Makefile	Sun Aug  9 08:20:53 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.495 2009/08/09 06:40:09 kiyohara Exp $
+#	$NetBSD: Makefile,v 1.496 2009/08/09 08:20:53 mbalmer Exp $
 #	@(#)Makefile	8.1 (Berkeley) 6/18/93
 
 MAN=	aac.4 ac97.4 acardide.4 aceride.4 acphy.4 acpidalb.4 \
@@ -86,7 +86,7 @@
 MAN+=	radio.4 az.4 mr.4 rt.4 rtii.4 sf2r.4
 
 # machine-independent busses
-MAN+=	eisa.4 isa.4 isapnp.4 ofisa.4 pci.4 pcmcia.4
+MAN+=	eisa.4 gpioiic.4 isa.4 isapnp.4 ofisa.4 pci.4 pcmcia.4
 MAN+=	podulebus.4 ieee1394if.4 spi.4
 
 # machine-independent PCI devices

Added files:

Index: src/share/man/man4/gpioiic.4
diff -u /dev/null src/share/man/man4/gpioiic.4:1.1
--- /dev/null	Sun Aug  9 08:20:54 2009
+++ src/share/man/man4/gpioiic.4	Sun Aug  9 08:20:53 2009
@@ -0,0 +1,93 @@
+.\	$NetBSD: gpioiic.4,v 1.1 2009/08/09 08:20:53 mbalmer Exp $
+.\	$OpenBSD: gpioiic.4,v 1.6 2008/11/24 15:30:21 jmc Exp $
+.\
+.\ Copyright (c) 2006 Alexander Yurchenko gra...@openbsd.org
+.\
+.\ Permission to use, copy, modify, and distribute this software for any
+.\ purpose with or without fee is hereby granted, provided that the above
+.\ copyright notice and this permission notice appear in all copies.
+.\
+.\ THE SOFTWARE IS PROVIDED AS IS AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\
+.Dd August 8, 2009
+.Dt GPIOIIC 4
+.Os
+.Sh NAME
+.Nm gpioiic
+.Nd GPIO I2C controller
+.Sh SYNOPSIS
+.Cd gpioiic* at gpio? offset 0 mask 0x3
+.Cd gpioiic* at gpio?
+.Cd iic* at gpioiic?
+.Sh DESCRIPTION
+The
+.Nm
+driver allows bit-banging an I2C bus as a master using two GPIO pins.
+The first pin is used as a serial data (SDA) signal and the second as
+a serial clock (SCL).
+Both GPIO pins must be able to drive an output and the SDA pin must be
+also able to read an input.
+.Pp
+The pins can be specified in the kernel configuration with the
+.Ar offset
+and the
+.Ar mask
+locators.
+The
+.Ar offset
+and
+.Ar mask
+can also be specified when
+.Nm
+is attached at runtime using the
+.Dv GPIOATTACH
+.Xr ioctl 2
+on the
+.Xr gpio 4
+device.
+Each bit in the
+.Ar mask
+locator defines one pin; the 

CVS commit: src/share/man/man4

2009-08-09 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Sun Aug  9 08:44:30 UTC 2009

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

Log Message:
Sort sections. Fix typo.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/share/man/man4/gpioiic.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/gpioiic.4
diff -u src/share/man/man4/gpioiic.4:1.1 src/share/man/man4/gpioiic.4:1.2
--- src/share/man/man4/gpioiic.4:1.1	Sun Aug  9 08:20:53 2009
+++ src/share/man/man4/gpioiic.4	Sun Aug  9 08:44:30 2009
@@ -1,4 +1,4 @@
-.\	$NetBSD: gpioiic.4,v 1.1 2009/08/09 08:20:53 mbalmer Exp $
+.\	$NetBSD: gpioiic.4,v 1.2 2009/08/09 08:44:30 wiz Exp $
 .\	$OpenBSD: gpioiic.4,v 1.6 2008/11/24 15:30:21 jmc Exp $
 .\
 .\ Copyright (c) 2006 Alexander Yurchenko gra...@openbsd.org
@@ -62,14 +62,6 @@
 and
 .Ar mask 0x5
 defines pin numbers 17 and 19.
-.Sh CAVEATS
-A
-.Nm
-device can not be detached from the
-.Xr gpio 4
-bus at runtime due to the fact that
-.Xr iic 4
-busses can not detach once attached.
 .Sh SEE ALSO
 .Xr gpio 4 ,
 .Xr iic 4 ,
@@ -87,7 +79,15 @@
 .Nm
 driver was written by
 .An Alexander Yurchenko Aq gra...@openbsd.org
-and was pprted to
+and was ported to
 .Nx
 by
 .An Marc Balmer Aq m...@msys.ch .
+.Sh CAVEATS
+A
+.Nm
+device can not be detached from the
+.Xr gpio 4
+bus at runtime due to the fact that
+.Xr iic 4
+busses can not detach once attached.



CVS commit: src/sys/rump/librump/rumpkern

2009-08-09 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sun Aug  9 09:22:17 UTC 2009

Modified Files:
src/sys/rump/librump/rumpkern: pmap_stub.c

Log Message:
Fix vax.

Built by default options really should be tested better.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/rump/librump/rumpkern/pmap_stub.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/rump/librump/rumpkern/pmap_stub.c
diff -u src/sys/rump/librump/rumpkern/pmap_stub.c:1.15 src/sys/rump/librump/rumpkern/pmap_stub.c:1.16
--- src/sys/rump/librump/rumpkern/pmap_stub.c:1.15	Sat Aug  8 00:46:56 2009
+++ src/sys/rump/librump/rumpkern/pmap_stub.c	Sun Aug  9 09:22:16 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap_stub.c,v 1.15 2009/08/08 00:46:56 pooka Exp $	*/
+/*	$NetBSD: pmap_stub.c,v 1.16 2009/08/09 09:22:16 skrll Exp $	*/
 
 /*
  * Copyright (c) 2008 Antti Kantee.  All Rights Reserved.
@@ -29,7 +29,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: pmap_stub.c,v 1.15 2009/08/08 00:46:56 pooka Exp $);
+__KERNEL_RCSID(0, $NetBSD: pmap_stub.c,v 1.16 2009/08/09 09:22:16 skrll Exp $);
 
 #include sys/param.h
 
@@ -118,7 +118,7 @@
 
 	panic(%s: unavailable, __func__);
 }
-#else
+#elif !defined(__vax__)
 void
 pmap_remove(pmap_t pmap, vaddr_t sva, vaddr_t eva)
 {



CVS commit: src/sys/arch/sparc64/sparc64

2009-08-09 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Aug  9 13:15:05 UTC 2009

Modified Files:
src/sys/arch/sparc64/sparc64: pmap.c

Log Message:
Fix misplaced #endif, from Henning Petersen in PR port-sparc64/41856


To generate a diff of this commit:
cvs rdiff -u -r1.236 -r1.237 src/sys/arch/sparc64/sparc64/pmap.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/sparc64/sparc64/pmap.c
diff -u src/sys/arch/sparc64/sparc64/pmap.c:1.236 src/sys/arch/sparc64/sparc64/pmap.c:1.237
--- src/sys/arch/sparc64/sparc64/pmap.c:1.236	Tue Apr 21 21:30:00 2009
+++ src/sys/arch/sparc64/sparc64/pmap.c	Sun Aug  9 13:15:05 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap.c,v 1.236 2009/04/21 21:30:00 cegger Exp $	*/
+/*	$NetBSD: pmap.c,v 1.237 2009/08/09 13:15:05 martin Exp $	*/
 /*
  *
  * Copyright (C) 1996-1999 Eduardo Horvath.
@@ -26,7 +26,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: pmap.c,v 1.236 2009/04/21 21:30:00 cegger Exp $);
+__KERNEL_RCSID(0, $NetBSD: pmap.c,v 1.237 2009/08/09 13:15:05 martin Exp $);
 
 #undef	NO_VCACHE /* Don't forget the locked TLB in dostart */
 #define	HWREF
@@ -2687,9 +2687,9 @@
 		if (res)
 			pv-pv_va |= PV_WE;
 #endif
-#endif
 		mutex_exit(pmap_lock);
 	}
+#endif
 
 	DPRINTF(PDB_CHANGEPROT|PDB_REF, (pmap_is_modified(%p) = %d\n, pg,
 	res));



CVS commit: src/share/misc

2009-08-09 Thread Jonathan A. Kollasch
Module Name:src
Committed By:   jakllsch
Date:   Sun Aug  9 14:04:43 UTC 2009

Modified Files:
src/share/misc: acronyms.comp

Log Message:
Add DNARD, AKA 'shark'.


To generate a diff of this commit:
cvs rdiff -u -r1.92 -r1.93 src/share/misc/acronyms.comp

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

Modified files:

Index: src/share/misc/acronyms.comp
diff -u src/share/misc/acronyms.comp:1.92 src/share/misc/acronyms.comp:1.93
--- src/share/misc/acronyms.comp:1.92	Sat Jun  6 06:46:42 2009
+++ src/share/misc/acronyms.comp	Sun Aug  9 14:04:43 2009
@@ -1,4 +1,4 @@
-$NetBSD: acronyms.comp,v 1.92 2009/06/06 06:46:42 dholland Exp $
+$NetBSD: acronyms.comp,v 1.93 2009/08/09 14:04:43 jakllsch Exp $
 
 3WHS	three-way handshake
 ABI	application binary interface
@@ -86,6 +86,7 @@
 DIFS	distributed inter-frame space
 DLE	data link escape
 DMA	direct memory access
+DNARD	Digital network appliance reference design
 DNS	domain name system
 DOS	denial of service
 DPCM	differential pulse code modulation



CVS commit: src/sys/dev

2009-08-09 Thread Paul Goyette
Module Name:src
Committed By:   pgoyette
Date:   Sun Aug  9 14:12:22 UTC 2009

Modified Files:
src/sys/dev: DEVNAMES

Log Message:
Add dbcool - I'd have done it long ago, when the driver was added, but
didn't know about this file until now.


To generate a diff of this commit:
cvs rdiff -u -r1.247 -r1.248 src/sys/dev/DEVNAMES

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/DEVNAMES
diff -u src/sys/dev/DEVNAMES:1.247 src/sys/dev/DEVNAMES:1.248
--- src/sys/dev/DEVNAMES:1.247	Sun Aug  9 06:40:10 2009
+++ src/sys/dev/DEVNAMES	Sun Aug  9 14:12:22 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: DEVNAMES,v 1.247 2009/08/09 06:40:10 kiyohara Exp $
+#	$NetBSD: DEVNAMES,v 1.248 2009/08/09 14:12:22 pgoyette Exp $
 #
 # This file contains all used device names and defined attributes in
 # alphabetical order. New devices added to the system somewhere should first
@@ -310,6 +310,7 @@
 cypide			MI
 cz			MI
 #daic			MI
+dbcool			MI
 dbri			sparc
 dcm			hp300
 ddc			MI



CVS commit: src/sys/dev/acpi

2009-08-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Aug  9 17:42:48 UTC 2009

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

Log Message:
- pass unsigned char to toupper
- set snprintf did not bother to uppercase the name. Simplify and fix.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/acpi/sony_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/sony_acpi.c
diff -u src/sys/dev/acpi/sony_acpi.c:1.7 src/sys/dev/acpi/sony_acpi.c:1.8
--- src/sys/dev/acpi/sony_acpi.c:1.7	Thu May  1 12:06:41 2008
+++ src/sys/dev/acpi/sony_acpi.c	Sun Aug  9 13:42:48 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: sony_acpi.c,v 1.7 2008/05/01 16:06:41 simonb Exp $	*/
+/*	$NetBSD: sony_acpi.c,v 1.8 2009/08/09 17:42:48 christos Exp $	*/
 
 /*-
  * Copyright (c) 2005 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: sony_acpi.c,v 1.7 2008/05/01 16:06:41 simonb Exp $);
+__KERNEL_RCSID(0, $NetBSD: sony_acpi.c,v 1.8 2009/08/09 17:42:48 christos Exp $);
 
 #include sys/param.h
 #include sys/systm.h
@@ -120,7 +120,7 @@
 
 	(void)snprintf(buf, sizeof(buf), G%s, rnode-sysctl_name);
 	for (ptr = buf; *ptr; ptr++)
-		*ptr = toupper(*ptr);
+		*ptr = toupper((unsigned char)*ptr);
 
 	rv = acpi_eval_integer(sc-sc_node-ad_handle, buf, acpi_val);
 	if (ACPI_FAILURE(rv)) {
@@ -138,7 +138,7 @@
 	if (error || newp == NULL)
 		return error;
 
-	(void)snprintf(buf, sizeof(buf), S%s, rnode-sysctl_name);
+	buf[0] = 'S';
 	acpi_val = val;
 	rv = sony_acpi_eval_set_integer(sc-sc_node-ad_handle, buf,
 	acpi_val, NULL);



CVS commit: src/sys/arch/mips/mips

2009-08-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Aug  9 17:53:54 UTC 2009

Modified Files:
src/sys/arch/mips/mips: mips_machdep.c

Log Message:
Initialize Page Mask register based on PAGE_SIZE, don't assume it's always
going to be 4KB.  (And this change, I can boot a GDIUM kernel with 16KB
pages as far as I could with 4KB).


To generate a diff of this commit:
cvs rdiff -u -r1.215 -r1.216 src/sys/arch/mips/mips/mips_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/mips/mips/mips_machdep.c
diff -u src/sys/arch/mips/mips/mips_machdep.c:1.215 src/sys/arch/mips/mips/mips_machdep.c:1.216
--- src/sys/arch/mips/mips/mips_machdep.c:1.215	Sun Aug  9 04:06:35 2009
+++ src/sys/arch/mips/mips/mips_machdep.c	Sun Aug  9 17:53:54 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: mips_machdep.c,v 1.215 2009/08/09 04:06:35 matt Exp $	*/
+/*	$NetBSD: mips_machdep.c,v 1.216 2009/08/09 17:53:54 matt Exp $	*/
 
 /*
  * Copyright 2002 Wasabi Systems, Inc.
@@ -112,7 +112,7 @@
 
 #include sys/cdefs.h			/* RCS ID  Copyright macro defns */
 
-__KERNEL_RCSID(0, $NetBSD: mips_machdep.c,v 1.215 2009/08/09 04:06:35 matt Exp $);
+__KERNEL_RCSID(0, $NetBSD: mips_machdep.c,v 1.216 2009/08/09 17:53:54 matt Exp $);
 
 #include opt_cputype.h
 
@@ -931,7 +931,7 @@
 	case CPU_ARCH_MIPS3:
 	case CPU_ARCH_MIPS4:
 #if defined(MIPS3_5900)	/* XXX */
-		mips3_cp0_pg_mask_write(MIPS3_PG_SIZE_4K);
+		mips3_cp0_pg_mask_write(MIPS3_PG_SIZE_TO_MASK(PAGE_SIZE));
 		mips3_cp0_wired_write(0);
 		mips5900_TBIA(mips_num_tlb_entries);
 		mips3_cp0_wired_write(MIPS3_TLB_WIRED_UPAGES);
@@ -940,10 +940,10 @@
 #else /* MIPS3_5900 */
 #if defined(MIPS3_4100)
 		if (MIPS_PRID_IMPL(cpu_id) == MIPS_R4100)
-			mips3_cp0_pg_mask_write(MIPS4100_PG_SIZE_4K);
+			mips3_cp0_pg_mask_write(MIPS4100_PG_SIZE_TO_MASK(PAGE_SIZE));
 		else
 #endif
-		mips3_cp0_pg_mask_write(MIPS3_PG_SIZE_4K);
+		mips3_cp0_pg_mask_write(MIPS3_PG_SIZE_TO_MASK(PAGE_SIZE));
 		mips3_cp0_wired_write(0);
 		mips3_TBIA(mips_num_tlb_entries);
 		mips3_cp0_wired_write(MIPS3_TLB_WIRED_UPAGES);
@@ -954,7 +954,7 @@
 #endif
 #if defined(MIPS32)
 	case CPU_ARCH_MIPS32:
-		mips3_cp0_pg_mask_write(MIPS3_PG_SIZE_4K);
+		mips3_cp0_pg_mask_write(MIPS3_PG_SIZE_TO_MASK(PAGE_SIZE));
 		mips3_cp0_wired_write(0);
 		mips32_TBIA(mips_num_tlb_entries);
 		mips3_cp0_wired_write(MIPS3_TLB_WIRED_UPAGES);
@@ -964,7 +964,7 @@
 #endif
 #if defined(MIPS64)
 	case CPU_ARCH_MIPS64:
-		mips3_cp0_pg_mask_write(MIPS3_PG_SIZE_4K);
+		mips3_cp0_pg_mask_write(MIPS3_PG_SIZE_TO_MASK(PAGE_SIZE));
 		mips3_cp0_wired_write(0);
 		mips64_TBIA(mips_num_tlb_entries);
 		mips3_cp0_wired_write(MIPS3_TLB_WIRED_UPAGES);



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

2009-08-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Aug  9 19:35:02 UTC 2009

Modified Files:
src/sys/arch/i386/conf: files.i386

Log Message:
move spic to common acpi.


To generate a diff of this commit:
cvs rdiff -u -r1.350 -r1.351 src/sys/arch/i386/conf/files.i386

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/conf/files.i386
diff -u src/sys/arch/i386/conf/files.i386:1.350 src/sys/arch/i386/conf/files.i386:1.351
--- src/sys/arch/i386/conf/files.i386:1.350	Tue Jun 16 17:05:33 2009
+++ src/sys/arch/i386/conf/files.i386	Sun Aug  9 15:35:02 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: files.i386,v 1.350 2009/06/16 21:05:33 bouyer Exp $
+#	$NetBSD: files.i386,v 1.351 2009/08/09 19:35:02 christos Exp $
 #
 # new style config file for i386 architecture
 #
@@ -482,10 +482,6 @@
 attach	vald at acpinodebus with vald_acpi
 file	arch/i386/acpi/vald_acpi.c		vald_acpi
 
-# Sony SPIC (jog dial etc.)
-attach	spic at acpinodebus with spic_acpi
-file	arch/i386/acpi/spic_acpi.c		spic_acpi
-
 # Numeric Processing Extension; Math Co-processor
 attach	npx at acpinodebus with npx_acpi
 file	arch/i386/acpi/npx_acpi.c		npx_acpi



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

2009-08-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Aug  9 19:35:36 UTC 2009

Removed Files:
src/sys/arch/i386/acpi: spic_acpi.c

Log Message:
spic is moving


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r0 src/sys/arch/i386/acpi/spic_acpi.c

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



CVS commit: src/sys/dev/acpi

2009-08-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Aug  9 19:36:29 UTC 2009

Modified Files:
src/sys/dev/acpi: files.acpi
Added Files:
src/sys/dev/acpi: spic_acpi.c

Log Message:
spic has moved.


To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 src/sys/dev/acpi/files.acpi
cvs rdiff -u -r0 -r1.4 src/sys/dev/acpi/spic_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/files.acpi
diff -u src/sys/dev/acpi/files.acpi:1.55 src/sys/dev/acpi/files.acpi:1.56
--- src/sys/dev/acpi/files.acpi:1.55	Tue Aug  4 10:20:41 2009
+++ src/sys/dev/acpi/files.acpi	Sun Aug  9 15:36:28 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: files.acpi,v 1.55 2009/08/04 14:20:41 jmcneill Exp $
+#	$NetBSD: files.acpi,v 1.56 2009/08/09 19:36:28 christos Exp $
 
 include dev/acpi/acpica/files.acpica
 
@@ -133,6 +133,10 @@
 attach	sony at acpinodebus with sony_acpi
 file	dev/acpi/sony_acpi.c		sony_acpi
 
+# Sony SPIC (jog dial etc.)
+attach	spic at acpinodebus with spic_acpi
+file	dev/acpi/spic_acpi.c		spic_acpi
+
 # IBM/Lenovo Thinkpad hotkey device
 device	thinkpad
 attach	thinkpad at acpinodebus

Added files:

Index: src/sys/dev/acpi/spic_acpi.c
diff -u /dev/null src/sys/dev/acpi/spic_acpi.c:1.4
--- /dev/null	Sun Aug  9 15:36:29 2009
+++ src/sys/dev/acpi/spic_acpi.c	Sun Aug  9 15:36:28 2009
@@ -0,0 +1,129 @@
+/*	$NetBSD: spic_acpi.c,v 1.4 2009/08/09 19:36:28 christos Exp $	*/
+
+/*
+ * Copyright (c) 2002 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Lennart Augustsson (lenn...@augustsson.net).
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include sys/cdefs.h
+__KERNEL_RCSID(0, $NetBSD: spic_acpi.c,v 1.4 2009/08/09 19:36:28 christos Exp $);
+
+#include sys/param.h
+#include sys/systm.h
+#include sys/device.h
+#include sys/proc.h
+#include sys/kernel.h
+#include sys/callout.h
+#include sys/bus.h
+
+#include dev/ic/spicvar.h
+
+#include dev/acpi/acpica.h
+#include dev/acpi/acpivar.h
+
+struct spic_acpi_softc {
+	struct spic_softc sc_spic;	/* spic device */
+
+	struct acpi_devnode *sc_node;	/* our ACPI devnode */
+
+	void *sc_ih;
+};
+
+static const char * const spic_acpi_ids[] = {
+	SNY6001,
+	NULL
+};
+
+static int	spic_acpi_match(device_t, cfdata_t, void *);
+static void	spic_acpi_attach(device_t, device_t, void *);
+
+CFATTACH_DECL_NEW(spic_acpi, sizeof(struct spic_acpi_softc),
+spic_acpi_match, spic_acpi_attach, NULL, NULL);
+
+
+static int
+spic_acpi_match(device_t parent, cfdata_t match, void *aux)
+{
+	struct acpi_attach_args *aa = aux;
+
+	if (aa-aa_node-ad_type != ACPI_TYPE_DEVICE)
+		return (0);
+
+	return (acpi_match_hid(aa-aa_node-ad_devinfo, spic_acpi_ids));
+}
+
+static void
+spic_acpi_attach(device_t parent, device_t self, void *aux)
+{
+	struct spic_acpi_softc *sc = device_private(self);
+	struct acpi_attach_args *aa = aux;
+	struct acpi_io *io;
+	struct acpi_irq *irq;
+	struct acpi_resources res;
+
+	ACPI_STATUS rv;
+
+	sc-sc_spic.sc_dev = self;
+	sc-sc_node = aa-aa_node;
+
+	/* Parse our resources. */
+	rv = acpi_resource_parse(self, sc-sc_node-ad_handle,
+	_CRS, res, acpi_resource_parse_ops_default);
+	if (ACPI_FAILURE(rv))
+		return;
+
+	sc-sc_spic.sc_iot = aa-aa_iot;
+	io = acpi_res_io(res, 0);
+	if (io == NULL) {
+		aprint_error_dev(self, unable to find io resource\n);
+		goto out;
+	}
+	if (bus_space_map(sc-sc_spic.sc_iot, io-ar_base, io-ar_length,
+	0, sc-sc_spic.sc_ioh) != 0) {
+		aprint_error_dev(self, unable to map data register\n);
+		goto out;
+	}
+	irq = acpi_res_irq(res, 0);
+	if (irq == NULL) {
+		

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

2009-08-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Aug  9 20:27:06 UTC 2009

Modified Files:
src/sys/arch/amd64/conf: GENERIC

Log Message:
remove drm stuff for now


To generate a diff of this commit:
cvs rdiff -u -r1.247 -r1.248 src/sys/arch/amd64/conf/GENERIC

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/conf/GENERIC
diff -u src/sys/arch/amd64/conf/GENERIC:1.247 src/sys/arch/amd64/conf/GENERIC:1.248
--- src/sys/arch/amd64/conf/GENERIC:1.247	Sun Aug  9 15:37:35 2009
+++ src/sys/arch/amd64/conf/GENERIC	Sun Aug  9 16:27:06 2009
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.247 2009/08/09 19:37:35 christos Exp $
+# $NetBSD: GENERIC,v 1.248 2009/08/09 20:27:06 christos Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		GENERIC-$Revision: 1.247 $
+#ident 		GENERIC-$Revision: 1.248 $
 
 maxusers	64		# estimated number of users
 
@@ -369,16 +369,6 @@
 pcppi0		at isa?
 sysbeep0	at pcppi?
 
-# DRI driver
-i915drm*	at vga?		# Intel i915, i945 DRM driver
-mach64drm*	at vga?		# mach64 (3D Rage Pro, Rage) DRM driver
-mgadrm*		at vga?		# Matrox G[24]00, G[45]50 DRM driver
-r128drm*	at vga?		# ATI Rage 128 DRM driver
-radeondrm*	at vga?		# ATI Radeon DRM driver
-savagedrm*	at vga?		# S3 Savage DRM driver
-sisdrm*		at vga?		# SiS DRM driver
-tdfxdrm*	at vga?		# 3dfx (voodoo) DRM driver
-
 # Cryptographic Devices
 
 # PCI cryptographic devices



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

2009-08-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Aug  9 21:32:17 UTC 2009

Modified Files:
src/sys/arch/amd64/conf: GENERIC INSTALL

Log Message:
put back drm.


To generate a diff of this commit:
cvs rdiff -u -r1.248 -r1.249 src/sys/arch/amd64/conf/GENERIC
cvs rdiff -u -r1.81 -r1.82 src/sys/arch/amd64/conf/INSTALL

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/conf/GENERIC
diff -u src/sys/arch/amd64/conf/GENERIC:1.248 src/sys/arch/amd64/conf/GENERIC:1.249
--- src/sys/arch/amd64/conf/GENERIC:1.248	Sun Aug  9 16:27:06 2009
+++ src/sys/arch/amd64/conf/GENERIC	Sun Aug  9 17:32:16 2009
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.248 2009/08/09 20:27:06 christos Exp $
+# $NetBSD: GENERIC,v 1.249 2009/08/09 21:32:16 christos Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		GENERIC-$Revision: 1.248 $
+#ident 		GENERIC-$Revision: 1.249 $
 
 maxusers	64		# estimated number of users
 
@@ -369,6 +369,16 @@
 pcppi0		at isa?
 sysbeep0	at pcppi?
 
+# DRI driver
+i915drm*	at vga?		# Intel i915, i945 DRM driver
+mach64drm*	at vga?		# mach64 (3D Rage Pro, Rage) DRM driver
+mgadrm*		at vga?		# Matrox G[24]00, G[45]50 DRM driver
+r128drm*	at vga?		# ATI Rage 128 DRM driver
+radeondrm*	at vga?		# ATI Radeon DRM driver
+savagedrm*	at vga?		# S3 Savage DRM driver
+sisdrm*		at vga?		# SiS DRM driver
+tdfxdrm*	at vga?		# 3dfx (voodoo) DRM driver
+
 # Cryptographic Devices
 
 # PCI cryptographic devices

Index: src/sys/arch/amd64/conf/INSTALL
diff -u src/sys/arch/amd64/conf/INSTALL:1.81 src/sys/arch/amd64/conf/INSTALL:1.82
--- src/sys/arch/amd64/conf/INSTALL:1.81	Fri Feb  6 13:50:26 2009
+++ src/sys/arch/amd64/conf/INSTALL	Sun Aug  9 17:32:16 2009
@@ -1,4 +1,4 @@
-# $NetBSD: INSTALL,v 1.81 2009/02/06 18:50:26 jym Exp $
+# $NetBSD: INSTALL,v 1.82 2009/08/09 21:32:16 christos Exp $
 #
 #	INSTALL - Installation kernel.
 #
@@ -7,7 +7,7 @@
 
 include	arch/amd64/conf/GENERIC
 
-#ident 		INSTALL-$Revision: 1.81 $
+#ident 		INSTALL-$Revision: 1.82 $
 
 no options	MEMORY_DISK_DYNAMIC
 options 	MEMORY_DISK_IS_ROOT # force root on memory disk
@@ -16,3 +16,12 @@
 options 	MEMORY_DISK_RBFLAGS=RB_SINGLE	# boot in single-user mode
 
 no options	MTRR
+# DRI driver
+no i915drm*	at vga?		# Intel i915, i945 DRM driver
+no mach64drm*	at vga?		# mach64 (3D Rage Pro, Rage) DRM driver
+no mgadrm*	at vga?		# Matrox G[24]00, G[45]50 DRM driver
+no r128drm*	at vga?		# ATI Rage 128 DRM driver
+no radeondrm*	at vga?		# ATI Radeon DRM driver
+no savagedrm*	at vga?		# S3 Savage DRM driver
+no sisdrm*	at vga?		# SiS DRM driver
+no tdfxdrm*	at vga?		# 3dfx (voodoo) DRM driver



CVS commit: src/sys

2009-08-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Aug  9 21:58:03 UTC 2009

Modified Files:
src/sys/conf: std
src/sys/uvm: files.uvm

Log Message:
Add [default] option to make UAREAs swappable.  Disabling the option makes
them unswappable and therefore allocatable using KSEG/BAT/etc.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/conf/std
cvs rdiff -u -r1.14 -r1.15 src/sys/uvm/files.uvm

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

Modified files:

Index: src/sys/conf/std
diff -u src/sys/conf/std:1.10 src/sys/conf/std:1.11
--- src/sys/conf/std:1.10	Fri Nov 14 23:28:30 2008
+++ src/sys/conf/std	Sun Aug  9 21:58:03 2009
@@ -1,4 +1,4 @@
-# $NetBSD: std,v 1.10 2008/11/14 23:28:30 ad Exp $
+# $NetBSD: std,v 1.11 2009/08/09 21:58:03 matt Exp $
 #
 # standard MI 'options'
 #
@@ -8,6 +8,7 @@
 # the following options are on-by-default to keep
 # kernel config file compatibility.
 options	VMSWAP		# Swap device/file support
+options VMSWAP_UAREA	# Swap uarea's
 options	BUFQ_FCFS	# First-come First-serve strategy
 options	BUFQ_DISKSORT	# Traditional min seek sort strategy
 options	RFC2292		# Previous version of Adv. Sockets API for IPv6 

Index: src/sys/uvm/files.uvm
diff -u src/sys/uvm/files.uvm:1.14 src/sys/uvm/files.uvm:1.15
--- src/sys/uvm/files.uvm:1.14	Sun Jun 28 15:18:50 2009
+++ src/sys/uvm/files.uvm	Sun Aug  9 21:58:03 2009
@@ -1,11 +1,11 @@
-#	$NetBSD: files.uvm,v 1.14 2009/06/28 15:18:50 rmind Exp $
+#	$NetBSD: files.uvm,v 1.15 2009/08/09 21:58:03 matt Exp $
 
 #
 # UVM options
 # 
 defflag opt_uvmhist.h		UVMHIST UVMHIST_PRINT
 defflag opt_uvm.h		USE_TOPDOWN_VM UVMMAP_COUNTERS
-defflag opt_vmswap.h		VMSWAP
+defflag opt_vmswap.h		VMSWAP VMSWAP_UAREA
 defflag opt_readahead.h		READAHEAD_STATS
 defflag opt_ubc.h		UBC_STATS
 defparam opt_pagermap.h		PAGER_MAP_SIZE



CVS commit: src/sys/uvm

2009-08-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Aug  9 22:13:07 UTC 2009

Modified Files:
src/sys/uvm: uvm_map.c

Log Message:
If PMAP_MAP_POOLPAGE is defined, use it to map kernel map entries.  This
avoids TLB pollution on those platforms that define it.


To generate a diff of this commit:
cvs rdiff -u -r1.275 -r1.276 src/sys/uvm/uvm_map.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/uvm/uvm_map.c
diff -u src/sys/uvm/uvm_map.c:1.275 src/sys/uvm/uvm_map.c:1.276
--- src/sys/uvm/uvm_map.c:1.275	Sat Aug  1 16:35:51 2009
+++ src/sys/uvm/uvm_map.c	Sun Aug  9 22:13:07 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_map.c,v 1.275 2009/08/01 16:35:51 yamt Exp $	*/
+/*	$NetBSD: uvm_map.c,v 1.276 2009/08/09 22:13:07 matt Exp $	*/
 
 /*
  * Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -71,7 +71,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: uvm_map.c,v 1.275 2009/08/01 16:35:51 yamt Exp $);
+__KERNEL_RCSID(0, $NetBSD: uvm_map.c,v 1.276 2009/08/09 22:13:07 matt Exp $);
 
 #include opt_ddb.h
 #include opt_uvmhist.h
@@ -1345,6 +1345,7 @@
 	args-uma_uobj = uobj;
 	args-uma_uoffset = uoffset;
 
+	UVMHIST_LOG(maphist, - done!, 0,0,0,0);
 	return 0;
 }
 
@@ -4638,13 +4639,15 @@
 uvm_kmapent_alloc(struct vm_map *map, int flags)
 {
 	struct vm_page *pg;
-	struct uvm_map_args args;
 	struct uvm_kmapent_hdr *ukh;
 	struct vm_map_entry *entry;
+#ifndef PMAP_MAP_POOLPAGE
+	struct uvm_map_args args;
 	uvm_flag_t mapflags = UVM_MAPFLAG(UVM_PROT_ALL, UVM_PROT_ALL,
 	UVM_INH_NONE, UVM_ADV_RANDOM, flags | UVM_FLAG_NOMERGE);
-	vaddr_t va;
 	int error;
+#endif
+	vaddr_t va;
 	int i;
 
 	KDASSERT(UVM_KMAPENT_CHUNK  2);
@@ -4652,7 +4655,9 @@
 	KASSERT(vm_map_pmap(map) == pmap_kernel());
 
 	UVMMAP_EVCNT_INCR(uke_alloc);
+#ifndef PMAP_MAP_POOLPAGE
 	entry = NULL;
+#endif
 again:
 	/*
 	 * try to grab an entry from freelist.
@@ -4684,6 +4689,10 @@
 		goto again;
 	}
 
+#ifdef PMAP_MAP_POOLPAGE
+	va = PMAP_MAP_POOLPAGE(VM_PAGE_TO_PHYS(pg));
+	KASSERT(va != NULL);
+#else
 	error = uvm_map_prepare(map, 0, PAGE_SIZE, NULL, UVM_UNKNOWN_OFFSET,
 	0, mapflags, args);
 	if (error) {
@@ -4697,27 +4706,35 @@
 	VM_PROT_READ|VM_PROT_WRITE|PMAP_KMPAGE);
 	pmap_update(vm_map_pmap(map));
 
+#endif
 	ukh = (void *)va;
 
 	/*
-	 * use the first entry for ukh itsself.
+	 * use the last entry for ukh itsself.
 	 */
 
-	entry = ukh-ukh_entries[0];
+	i = UVM_KMAPENT_CHUNK - 1;
+#ifndef PMAP_MAP_POOLPAGE
+	entry = ukh-ukh_entries[i--];
 	entry-flags = UVM_MAP_KERNEL | UVM_MAP_KMAPENT;
 	error = uvm_map_enter(map, args, entry);
 	KASSERT(error == 0);
+#endif
 
 	ukh-ukh_nused = UVM_KMAPENT_CHUNK;
 	ukh-ukh_map = map;
 	ukh-ukh_freelist = NULL;
-	for (i = UVM_KMAPENT_CHUNK - 1; i = 2; i--) {
+	for (; i = 1; i--) {
 		struct vm_map_entry *xentry = ukh-ukh_entries[i];
 
 		xentry-flags = UVM_MAP_KERNEL;
 		uvm_kmapent_put(ukh, xentry);
 	}
+#ifdef PMAP_MAP_POOLPAGE
+	KASSERT(ukh-ukh_nused == 1);
+#else
 	KASSERT(ukh-ukh_nused == 2);
+#endif
 
 	mutex_spin_enter(uvm_kentry_lock);
 	LIST_INSERT_HEAD(vm_map_to_kernel(map)-vmk_kentry_free,
@@ -4725,12 +4742,13 @@
 	mutex_spin_exit(uvm_kentry_lock);
 
 	/*
-	 * return second entry.
+	 * return first entry.
 	 */
 
-	entry = ukh-ukh_entries[1];
+	entry = ukh-ukh_entries[0];
 	entry-flags = UVM_MAP_KERNEL;
 	UVMMAP_EVCNT_INCR(ukh_alloc);
+
 	return entry;
 }
 
@@ -4744,10 +4762,12 @@
 	struct uvm_kmapent_hdr *ukh;
 	struct vm_page *pg;
 	struct vm_map *map;
+#ifndef PMAP_UNMAP_POOLPAGE
 	struct pmap *pmap;
+	struct vm_map_entry *deadentry;
+#endif
 	vaddr_t va;
 	paddr_t pa;
-	struct vm_map_entry *deadentry;
 
 	UVMMAP_EVCNT_INCR(uke_free);
 	ukh = UVM_KHDR_FIND(entry);
@@ -4755,7 +4775,11 @@
 
 	mutex_spin_enter(uvm_kentry_lock);
 	uvm_kmapent_put(ukh, entry);
+#ifdef PMAP_UNMAP_POOLPAGE
+	if (ukh-ukh_nused  0) {
+#else
 	if (ukh-ukh_nused  1) {
+#endif
 		if (ukh-ukh_nused == UVM_KMAPENT_CHUNK - 1)
 			LIST_INSERT_HEAD(
 			vm_map_to_kernel(map)-vmk_kentry_free,
@@ -4778,13 +4802,19 @@
 	LIST_REMOVE(ukh, ukh_listq);
 	mutex_spin_exit(uvm_kentry_lock);
 
+	va = (vaddr_t)ukh;
+
+#ifdef PMAP_UNMAP_POOLPAGE
+	KASSERT(ukh-ukh_nused == 0);
+	pa = PMAP_UNMAP_POOLPAGE(va);
+	KASSERT(pa != 0);
+#else
 	KASSERT(ukh-ukh_nused == 1);
 
 	/*
 	 * remove map entry for ukh itsself.
 	 */
 
-	va = (vaddr_t)ukh;
 	KASSERT((va  PAGE_MASK) == 0);
 	vm_map_lock(map);
 	uvm_unmap_remove(map, va, va + PAGE_SIZE, deadentry, NULL, 0);
@@ -4804,6 +4834,7 @@
 	pmap_kremove(va, PAGE_SIZE);
 	pmap_update(vm_map_pmap(map));
 	vm_map_unlock(map);
+#endif /* !PMAP_UNMAP_POOLPAGE */
 	pg = PHYS_TO_VM_PAGE(pa);
 	uvm_pagefree(pg);
 	UVMMAP_EVCNT_INCR(ukh_free);



CVS commit: src/sys/uvm

2009-08-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Aug  9 22:19:10 UTC 2009

Modified Files:
src/sys/uvm: uvm_glue.c

Log Message:
Only swapout uareas if VMSWAP_UAREA is defined (which is should be by default).
If it's not defined and PMAP_MAP_POOLPAGE is defined and USPACE == PAGE_SIZE,
then allocate/map USPACE via uvm_pagealloc/PMAP_MAP_POOLPAGE.

On platforms like MIPS with 16KB pages, this means that uareas (and hence lwp
kernel stacks) will be always be accessible since they will be KSEG0.


To generate a diff of this commit:
cvs rdiff -u -r1.138 -r1.139 src/sys/uvm/uvm_glue.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/uvm/uvm_glue.c
diff -u src/sys/uvm/uvm_glue.c:1.138 src/sys/uvm/uvm_glue.c:1.139
--- src/sys/uvm/uvm_glue.c:1.138	Sun Jun 28 15:18:51 2009
+++ src/sys/uvm/uvm_glue.c	Sun Aug  9 22:19:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_glue.c,v 1.138 2009/06/28 15:18:51 rmind Exp $	*/
+/*	$NetBSD: uvm_glue.c,v 1.139 2009/08/09 22:19:09 matt Exp $	*/
 
 /*
  * Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -67,7 +67,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: uvm_glue.c,v 1.138 2009/06/28 15:18:51 rmind Exp $);
+__KERNEL_RCSID(0, $NetBSD: uvm_glue.c,v 1.139 2009/08/09 22:19:09 matt Exp $);
 
 #include opt_kgdb.h
 #include opt_kstack.h
@@ -93,8 +93,8 @@
  * local prototypes
  */
 
-static void uvm_swapout(struct lwp *);
 static int uarea_swapin(vaddr_t);
+static void uvm_swapout(struct lwp *);
 
 /*
  * XXXCDC: do these really belong here?
@@ -229,7 +229,6 @@
 uvm_lwp_fork(struct lwp *l1, struct lwp *l2, void *stack, size_t stacksize,
 void (*func)(void *), void *arg)
 {
-	int error;
 
 	/*
 	 * Wire down the U-area for the process, which contains the PCB
@@ -242,7 +241,9 @@
 	 */
 
 	if ((l2-l_flag  LW_INMEM) == 0) {
+#ifdef VMSWAP_UAREA
 		vaddr_t uarea = USER_TO_UAREA(l2-l_addr);
+		int error;
 
 		if ((error = uarea_swapin(uarea)) != 0)
 			panic(%s: uvm_fault_wire failed: %d, __func__, error);
@@ -250,6 +251,7 @@
 		/* Tell the pmap this is a u-area mapping */
 		PMAP_UAREA(uarea);
 #endif
+#endif /* VMSWAP_UAREA */
 		l2-l_flag |= LW_INMEM;
 	}
 
@@ -277,12 +279,14 @@
 	VM_PROT_READ | VM_PROT_WRITE, 0);
 }
 
+#ifdef VMSWAP_UAREA
 static void
 uarea_swapout(vaddr_t addr)
 {
 
 	uvm_fault_unwire(kernel_map, addr, addr + USPACE);
 }
+#endif /* VMSWAP_UAREA */
 
 #ifndef USPACE_ALIGN
 #define	USPACE_ALIGN	0
@@ -293,7 +297,10 @@
 static int
 uarea_ctor(void *arg, void *obj, int flags)
 {
-
+#if defined(PMAP_MAP_POOLPAGE)  !defined(VMSWAP_UAREA)
+	if (USPACE == PAGE_SIZE  USPACE_ALIGN == 0)
+		return 0;
+#endif
 	KASSERT((flags  PR_WAITOK) != 0);
 	return uarea_swapin((vaddr_t)obj);
 }
@@ -301,7 +308,21 @@
 static void *
 uarea_poolpage_alloc(struct pool *pp, int flags)
 {
-
+#if defined(PMAP_MAP_POOLPAGE)  !defined(VMSWAP_UAREA)
+	if (USPACE == PAGE_SIZE  USPACE_ALIGN == 0) {
+		struct vm_page *pg;
+		vaddr_t va;
+
+		pg = uvm_pagealloc(NULL, 0, NULL,
+		   ((flags  PR_WAITOK) == 0 ? UVM_KMF_NOWAIT : 0));
+		if (pg == NULL)
+			return NULL;
+		va = PMAP_MAP_POOLPAGE(VM_PAGE_TO_PHYS(pg));
+		if (va == 0)
+			uvm_pagefree(pg);
+		return (void *)va;
+	}
+#endif
 	return (void *)uvm_km_alloc(kernel_map, pp-pr_alloc-pa_pagesz,
 	USPACE_ALIGN, UVM_KMF_PAGEABLE |
 	((flags  PR_WAITOK) != 0 ? UVM_KMF_WAITVA :
@@ -311,7 +332,16 @@
 static void
 uarea_poolpage_free(struct pool *pp, void *addr)
 {
-
+#if defined(PMAP_MAP_POOLPAGE)  !defined(VMSWAP_UAREA)
+	if (USPACE == PAGE_SIZE  USPACE_ALIGN == 0) {
+		paddr_t pa;
+
+		pa = PMAP_UNMAP_POOLPAGE((vaddr_t) addr);
+		KASSERT(pa != 0);
+		uvm_pagefree(PHYS_TO_VM_PAGE(pa));
+		return;
+	}
+#endif
 	uvm_km_free(kernel_map, (vaddr_t)addr, pp-pr_alloc-pa_pagesz,
 	UVM_KMF_PAGEABLE);
 }
@@ -447,11 +477,14 @@
 void
 uvm_swapin(struct lwp *l)
 {
+#ifdef VMSWAP_UAREA
 	int error;
+#endif
 
 	KASSERT(mutex_owned(l-l_swaplock));
 	KASSERT(l != curlwp);
 
+#ifdef VMSWAP_UAREA
 	error = uarea_swapin(USER_TO_UAREA(l-l_addr));
 	if (error) {
 		panic(%s: rewiring stack failed: %d, __func__, error);
@@ -462,6 +495,7 @@
 	 * moved to new physical page(s) (e.g.  see mips/mips/vm_machdep.c).
 	 */
 	cpu_swapin(l);
+#endif
 	lwp_lock(l);
 	if (l-l_stat == LSRUN)
 		sched_enqueue(l, false);
@@ -708,7 +742,7 @@
 			l = outl2;
 #ifdef DEBUG
 		if (swapdebug  SDB_SWAPOUT)
-			printf(%s: no duds, try procp %p\n, __func__, l);
+			printf(__func__ : no duds, try procp %p\n, l);
 #endif
 		if (l) {
 			mutex_enter(l-l_swaplock);
@@ -763,6 +797,7 @@
 	l-l_ru.ru_nswap++;
 	++uvmexp.swapouts;
 
+#ifdef VMSWAP_UAREA
 	/*
 	 * Do any machine-specific actions necessary before swapout.
 	 * This can include saving floating point state, etc.
@@ -773,6 +808,7 @@
 	 * Unwire the to-be-swapped process's user struct and kernel stack.
 	 */
 	uarea_swapout(USER_TO_UAREA(l-l_addr));
+#endif
 	map = l-l_proc-p_vmspace-vm_map;
 	

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

2009-08-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Aug  9 22:21:44 UTC 2009

Modified Files:
src/sys/arch/mips/include: mips3_pte.h

Log Message:
Add 16KB variants of MIPS3_PG_{ODDPG,HVN,SVN}


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/mips/include/mips3_pte.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/include/mips3_pte.h
diff -u src/sys/arch/mips/include/mips3_pte.h:1.23 src/sys/arch/mips/include/mips3_pte.h:1.24
--- src/sys/arch/mips/include/mips3_pte.h:1.23	Wed Oct 17 19:55:37 2007
+++ src/sys/arch/mips/include/mips3_pte.h	Sun Aug  9 22:21:44 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: mips3_pte.h,v 1.23 2007/10/17 19:55:37 garbled Exp $	*/
+/*	$NetBSD: mips3_pte.h,v 1.24 2009/08/09 22:21:44 matt Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -115,9 +115,15 @@
 #define MIPS3_PG_WIRED	0x8000	/* SW */
 #define MIPS3_PG_RO	0x4000	/* SW */
 
+#ifdef ENABLE_MIPS_16KB_PAGE
+#define	MIPS3_PG_SVPN	0xc000	/* Software page no mask */
+#define	MIPS3_PG_HVPN	0x8000	/* Hardware page no mask */
+#define	MIPS3_PG_ODDPG	0x4000	/* Odd even pte entry */
+#elif defined(ENABLE_MIPS_4KB_PAGE) || 1
 #define	MIPS3_PG_SVPN	0xf000	/* Software page no mask */
 #define	MIPS3_PG_HVPN	0xe000	/* Hardware page no mask */
 #define	MIPS3_PG_ODDPG	0x1000	/* Odd even pte entry */
+#endif
 #define	MIPS3_PG_ASID	0x00ff	/* Address space ID */
 #define	MIPS3_PG_G	0x0001	/* Global; ignore ASID if in lo0  lo1 */
 #define	MIPS3_PG_V	0x0002	/* Valid */



CVS commit: src/sys/arch/mips/mips

2009-08-09 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Sun Aug  9 22:22:51 UTC 2009

Modified Files:
src/sys/arch/mips/mips: mips_machdep.c

Log Message:
If using 16KB pages, don't enable special CCA for loongson2 cpus.


To generate a diff of this commit:
cvs rdiff -u -r1.216 -r1.217 src/sys/arch/mips/mips/mips_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/mips/mips/mips_machdep.c
diff -u src/sys/arch/mips/mips/mips_machdep.c:1.216 src/sys/arch/mips/mips/mips_machdep.c:1.217
--- src/sys/arch/mips/mips/mips_machdep.c:1.216	Sun Aug  9 17:53:54 2009
+++ src/sys/arch/mips/mips/mips_machdep.c	Sun Aug  9 22:22:51 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: mips_machdep.c,v 1.216 2009/08/09 17:53:54 matt Exp $	*/
+/*	$NetBSD: mips_machdep.c,v 1.217 2009/08/09 22:22:51 matt Exp $	*/
 
 /*
  * Copyright 2002 Wasabi Systems, Inc.
@@ -112,7 +112,7 @@
 
 #include sys/cdefs.h			/* RCS ID  Copyright macro defns */
 
-__KERNEL_RCSID(0, $NetBSD: mips_machdep.c,v 1.216 2009/08/09 17:53:54 matt Exp $);
+__KERNEL_RCSID(0, $NetBSD: mips_machdep.c,v 1.217 2009/08/09 22:22:51 matt Exp $);
 
 #include opt_cputype.h
 
@@ -364,15 +364,22 @@
 	  CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT,
 		Toshiba TX4927 CPU	},
 	/* 
-	 * ICT Loongson2 is a MIPS64 CPU with a few quirks.
+	 * ICT Loongson2 is a MIPS64 CPU with a few quirks.  For some reason
+	 * the virtual aliases present with 4KB pages make the caches misbehave
+	 * so we make all accesses uncached.  With 16KB pages, no virtual
+	 * aliases are possible so we can use caching.
 	 */
+#ifdef ENABLE_MIPS_16KB_PAGE
+#define	MIPS_LOONGSON2_CCA	0
+#else
+#define	MIPS_LOONGSON2_CCA	(CPU_MIPS_HAVE_SPECIAL_CCA | \
+(2  CPU_MIPS_CACHED_CCA_SHIFT))
+#endif
 	{ 0, MIPS_LOONGSON2, MIPS_REV_LOONGSON2E, -1, CPU_ARCH_MIPS3, 64,
-	  CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT |
-	  CPU_MIPS_HAVE_SPECIAL_CCA | (2  CPU_MIPS_CACHED_CCA_SHIFT),
+	  CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT | MIPS_LOONGSON2_CCA,
 		ICT Loongson 2E CPU	},
 	{ 0, MIPS_LOONGSON2, MIPS_REV_LOONGSON2F, -1, CPU_ARCH_MIPS3, 64,
-	  CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT |
-	  CPU_MIPS_HAVE_SPECIAL_CCA | (2  CPU_MIPS_CACHED_CCA_SHIFT),
+	  CPU_MIPS_R4K_MMU | CPU_MIPS_DOUBLE_COUNT | MIPS_LOONGSON2_CCA,
 		ICT Loongson 2F CPU	},
 
 #if 0 /* ID collisions : can we use a CU1 test or similar? */