CVS commit: src/sys/arch/evbarm/rockchip

2014-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 27 04:20:39 UTC 2014

Modified Files:
src/sys/arch/evbarm/rockchip: rockchip_machdep.c

Log Message:
timer_clk is 24MHz


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/evbarm/rockchip/rockchip_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/evbarm/rockchip/rockchip_machdep.c
diff -u src/sys/arch/evbarm/rockchip/rockchip_machdep.c:1.5 src/sys/arch/evbarm/rockchip/rockchip_machdep.c:1.6
--- src/sys/arch/evbarm/rockchip/rockchip_machdep.c:1.5	Sat Dec 27 03:58:52 2014
+++ src/sys/arch/evbarm/rockchip/rockchip_machdep.c	Sat Dec 27 04:20:38 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: rockchip_machdep.c,v 1.5 2014/12/27 03:58:52 jmcneill Exp $ */
+/*	$NetBSD: rockchip_machdep.c,v 1.6 2014/12/27 04:20:38 jmcneill Exp $ */
 
 /*
  * Machine dependent functions for kernel setup for TI OSK5912 board.
@@ -125,7 +125,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: rockchip_machdep.c,v 1.5 2014/12/27 03:58:52 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rockchip_machdep.c,v 1.6 2014/12/27 04:20:38 jmcneill Exp $");
 
 #include "opt_machdep.h"
 #include "opt_ddb.h"
@@ -594,11 +594,8 @@ rockchip_device_register(device_t self, 
 	 * what frequency it runs at.
 	 */
 	if (device_is_a(self, "a9tmr") || device_is_a(self, "a9wdt")) {
-		/*
-		 * This clock always runs at (arm_clk div 2) and only goes
-		 * to timers that are part of the A9 MP core subsystem.
-		 */
-prop_dictionary_set_uint32(dict, "frequency", 14850); /* 148.5MHz */
+prop_dictionary_set_uint32(dict, "frequency",
+		ROCKCHIP_REF_FREQ);
 		return;
 	}
 



CVS commit: src/sys/arch/evbarm/rockchip

2014-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 27 03:58:52 UTC 2014

Modified Files:
src/sys/arch/evbarm/rockchip: rockchip_machdep.c

Log Message:
use correct bs tag for arml2cc_init


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/evbarm/rockchip/rockchip_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/evbarm/rockchip/rockchip_machdep.c
diff -u src/sys/arch/evbarm/rockchip/rockchip_machdep.c:1.4 src/sys/arch/evbarm/rockchip/rockchip_machdep.c:1.5
--- src/sys/arch/evbarm/rockchip/rockchip_machdep.c:1.4	Sat Dec 27 02:40:23 2014
+++ src/sys/arch/evbarm/rockchip/rockchip_machdep.c	Sat Dec 27 03:58:52 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: rockchip_machdep.c,v 1.4 2014/12/27 02:40:23 jmcneill Exp $ */
+/*	$NetBSD: rockchip_machdep.c,v 1.5 2014/12/27 03:58:52 jmcneill Exp $ */
 
 /*
  * Machine dependent functions for kernel setup for TI OSK5912 board.
@@ -125,7 +125,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: rockchip_machdep.c,v 1.4 2014/12/27 02:40:23 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rockchip_machdep.c,v 1.5 2014/12/27 03:58:52 jmcneill Exp $");
 
 #include "opt_machdep.h"
 #include "opt_ddb.h"
@@ -367,7 +367,7 @@ initarm(void *arg)
 	printf("probe the PL310 L2CC\n");
 const bus_space_handle_t pl310_bh =
 ROCKCHIP_CORE0_VBASE + ROCKCHIP_PL310_OFFSET;
-arml2cc_init(&rockchip_a4x_bs_tag, pl310_bh, 0);
+arml2cc_init(&rockchip_bs_tag, pl310_bh, 0);
 rockchip_putchar('l');
 #endif
 



CVS commit: src/sys/arch/evbarm/rockchip

2014-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 27 02:40:23 UTC 2014

Modified Files:
src/sys/arch/evbarm/rockchip: rockchip_machdep.c

Log Message:
dont hard-code cpu_cc_freq


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/evbarm/rockchip/rockchip_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/evbarm/rockchip/rockchip_machdep.c
diff -u src/sys/arch/evbarm/rockchip/rockchip_machdep.c:1.3 src/sys/arch/evbarm/rockchip/rockchip_machdep.c:1.4
--- src/sys/arch/evbarm/rockchip/rockchip_machdep.c:1.3	Sat Dec 27 01:21:02 2014
+++ src/sys/arch/evbarm/rockchip/rockchip_machdep.c	Sat Dec 27 02:40:23 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: rockchip_machdep.c,v 1.3 2014/12/27 01:21:02 jmcneill Exp $ */
+/*	$NetBSD: rockchip_machdep.c,v 1.4 2014/12/27 02:40:23 jmcneill Exp $ */
 
 /*
  * Machine dependent functions for kernel setup for TI OSK5912 board.
@@ -125,7 +125,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: rockchip_machdep.c,v 1.3 2014/12/27 01:21:02 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rockchip_machdep.c,v 1.4 2014/12/27 02:40:23 jmcneill Exp $");
 
 #include "opt_machdep.h"
 #include "opt_ddb.h"
@@ -349,7 +349,7 @@ initarm(void *arg)
 	if (set_cpufuncs())
 		panic("cpu not recognized!");
 
-curcpu()->ci_data.cpu_cc_freq = 16;   /* XXX hack XXX */
+	curcpu()->ci_data.cpu_cc_freq = rockchip_cpu_get_rate();
 
 	init_clocks();
 



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

2014-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 27 02:12:30 UTC 2014

Modified Files:
src/sys/arch/arm/rockchip: rockchip_board.c rockchip_crureg.h
rockchip_var.h

Log Message:
add functions to get apll and cpu rates


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/rockchip/rockchip_board.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/rockchip/rockchip_crureg.h
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/rockchip/rockchip_var.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/arm/rockchip/rockchip_board.c
diff -u src/sys/arch/arm/rockchip/rockchip_board.c:1.2 src/sys/arch/arm/rockchip/rockchip_board.c:1.3
--- src/sys/arch/arm/rockchip/rockchip_board.c:1.2	Sat Dec 27 01:21:21 2014
+++ src/sys/arch/arm/rockchip/rockchip_board.c	Sat Dec 27 02:12:29 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: rockchip_board.c,v 1.2 2014/12/27 01:21:21 jmcneill Exp $ */
+/* $NetBSD: rockchip_board.c,v 1.3 2014/12/27 02:12:29 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2014 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: rockchip_board.c,v 1.2 2014/12/27 01:21:21 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rockchip_board.c,v 1.3 2014/12/27 02:12:29 jmcneill Exp $");
 
 #include 
 #include 
@@ -64,27 +64,56 @@ rockchip_get_cru_bsh(bus_space_handle_t 
 	ROCKCHIP_CRU_OFFSET, ROCKCHIP_CRU_SIZE, pbsh);
 }
 
-u_int
-rockchip_gpll_get_rate(void)
+static u_int
+rockchip_pll_get_rate(bus_size_t con0_reg, bus_size_t con1_reg)
 {
 	bus_space_tag_t bst = &rockchip_bs_tag;
 	bus_space_handle_t bsh;
-	uint32_t gpll_con0, gpll_con1;
+	uint32_t pll_con0, pll_con1;
 	uint32_t nr, nf, no;
 
 	rockchip_get_cru_bsh(&bsh);
 
-	gpll_con0 = bus_space_read_4(bst, bsh, CRU_GPLL_CON0_REG);
-	gpll_con1 = bus_space_read_4(bst, bsh, CRU_GPLL_CON1_REG);
+	pll_con0 = bus_space_read_4(bst, bsh, con0_reg);
+	pll_con1 = bus_space_read_4(bst, bsh, con1_reg);
 
-	nr = __SHIFTOUT(gpll_con0, CRU_PLL_CON0_CLKR) + 1;
-	no = __SHIFTOUT(gpll_con0, CRU_PLL_CON0_CLKOD) + 1;
-	nf = __SHIFTOUT(gpll_con1, CRU_PLL_CON1_CLKF) + 1;
+	nr = __SHIFTOUT(pll_con0, CRU_PLL_CON0_CLKR) + 1;
+	no = __SHIFTOUT(pll_con0, CRU_PLL_CON0_CLKOD) + 1;
+	nf = __SHIFTOUT(pll_con1, CRU_PLL_CON1_CLKF) + 1;
 
 	return ROCKCHIP_REF_FREQ * nf / (nr * no);
 }
 
 u_int
+rockchip_gpll_get_rate(void)
+{
+	return rockchip_pll_get_rate(CRU_GPLL_CON0_REG, CRU_GPLL_CON1_REG);
+}
+
+u_int
+rockchip_apll_get_rate(void)
+{
+	return rockchip_pll_get_rate(CRU_APLL_CON0_REG, CRU_APLL_CON1_REG);
+}
+
+u_int
+rockchip_cpu_get_rate(void)
+{
+	bus_space_tag_t bst = &rockchip_bs_tag;
+	bus_space_handle_t bsh;
+	uint32_t clksel_con0;
+
+	rockchip_get_cru_bsh(&bsh);
+
+	clksel_con0 = bus_space_read_4(bst, bsh, CRU_CLKSEL_CON_REG(0));
+	if (clksel_con0 & CRU_CLKSEL_CON0_CPU_CLK_PLL_SEL) {
+		return rockchip_gpll_get_rate();
+	} else {
+		return rockchip_apll_get_rate();
+	}
+}
+
+u_int
 rockchip_ahb_get_rate(void)
 {
 	bus_space_tag_t bst = &rockchip_bs_tag;

Index: src/sys/arch/arm/rockchip/rockchip_crureg.h
diff -u src/sys/arch/arm/rockchip/rockchip_crureg.h:1.1 src/sys/arch/arm/rockchip/rockchip_crureg.h:1.2
--- src/sys/arch/arm/rockchip/rockchip_crureg.h:1.1	Sat Dec 27 01:20:31 2014
+++ src/sys/arch/arm/rockchip/rockchip_crureg.h	Sat Dec 27 02:12:29 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: rockchip_crureg.h,v 1.1 2014/12/27 01:20:31 jmcneill Exp $ */
+/* $NetBSD: rockchip_crureg.h,v 1.2 2014/12/27 02:12:29 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2014 Jared D. McNeill 
@@ -62,6 +62,13 @@
 #define CRU_PLL_CON1_CLKF_MASK	__BITS(28,16)
 #define CRU_PLL_CON1_CLKF	__BITS(12,0)
 
+#define CRU_CLKSEL_CON0_CPU_CLK_PLL_SEL_MASK	__BIT(24)
+#define CRU_CLKSEL_CON0_CORE_PERI_DIV_CON_MASK	__BITS(23,22)
+#define CRU_CLKSEL_CON0_A9_CORE_DIV_CON_MASK	__BITS(20,16)
+#define CRU_CLKSEL_CON0_CPU_CLK_PLL_SEL		__BIT(8)
+#define CRU_CLKSEL_CON0_CORE_PERI_DIV_CON	__BITS(7,6)
+#define CRU_CLKSEL_CON0_A9_CORE_DIV_CON		__BITS(4,0)
+
 #define CRU_CLKSEL_CON10_PERI_PLL_SEL_MASK	__BIT(31)
 #define CRU_CLKSEL_CON10_PERI_PCLK_DIV_CON_MASK	__BITS(29,28)
 #define CRU_CLKSEL_CON10_PERI_HCLK_DIV_CON_MASK	__BITS(25,24)

Index: src/sys/arch/arm/rockchip/rockchip_var.h
diff -u src/sys/arch/arm/rockchip/rockchip_var.h:1.3 src/sys/arch/arm/rockchip/rockchip_var.h:1.4
--- src/sys/arch/arm/rockchip/rockchip_var.h:1.3	Sat Dec 27 01:21:21 2014
+++ src/sys/arch/arm/rockchip/rockchip_var.h	Sat Dec 27 02:12:29 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: rockchip_var.h,v 1.3 2014/12/27 01:21:21 jmcneill Exp $ */
+/* $NetBSD: rockchip_var.h,v 1.4 2014/12/27 02:12:29 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -56,7 +56,9 @@ extern bus_space_handle_t rockchip_core1
 
 void rockchip_bootstrap(void);
 
+u_int rockchip_apll_get_rate(void);
 u_int rockchip_gpll_get_rate(void);
+u_int rockchip_cpu_get_rate(void);
 u_int rockchip_ahb_get_rate(void);
 
 #endif 

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

2014-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 27 01:29:13 UTC 2014

Modified Files:
src/sys/arch/evbarm/conf: ROCKCHIP

Log Message:
add dwcmmc


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/evbarm/conf/ROCKCHIP

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/ROCKCHIP
diff -u src/sys/arch/evbarm/conf/ROCKCHIP:1.1 src/sys/arch/evbarm/conf/ROCKCHIP:1.2
--- src/sys/arch/evbarm/conf/ROCKCHIP:1.1	Fri Dec 26 16:53:33 2014
+++ src/sys/arch/evbarm/conf/ROCKCHIP	Sat Dec 27 01:29:13 2014
@@ -1,5 +1,5 @@
 #
-#	$NetBSD: ROCKCHIP,v 1.1 2014/12/26 16:53:33 jmcneill Exp $
+#	$NetBSD: ROCKCHIP,v 1.2 2014/12/27 01:29:13 jmcneill Exp $
 #
 #	Rockchip RK3066/RK3188 based SBC (Single Board Computer)
 #
@@ -170,12 +170,13 @@ obio0		at mainbus?
 com0		at obio0 addr 0x20064000 size 0x400 intr 68 mult 4 # UART2 (console)
 options 	CONSADDR=0x20064000, CONSPEED=115200
 
-# SDHC
-#sdhc0		at obio0 addr 0x10214000 size 0x4000 intr 55
-#sdmmc*		at sdhc?
-#ld*		at sdmmc?
+# SD/MMC
+dwcmmc0 	at obio0 addr 0x10214000 size 0x4000 intr 55
+#dwcmmc1 	at obio0 addr 0x10218000 size 0x4000 intr 56
+sdmmc*		at dwcmmc?
+ld*		at sdmmc?
 
-#options SDHC_DEBUG
+#options DWC_MMC_DEBUG
 #options SDMMC_DEBUG
 #options SDMMCCISDEBUG
 



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

2014-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 27 01:22:07 UTC 2014

Added Files:
src/sys/arch/arm/rockchip: rockchip_dwcmmc.c

Log Message:
add dwcmmc glue, doesnt work yet


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/arch/arm/rockchip/rockchip_dwcmmc.c

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

Added files:

Index: src/sys/arch/arm/rockchip/rockchip_dwcmmc.c
diff -u /dev/null src/sys/arch/arm/rockchip/rockchip_dwcmmc.c:1.1
--- /dev/null	Sat Dec 27 01:22:07 2014
+++ src/sys/arch/arm/rockchip/rockchip_dwcmmc.c	Sat Dec 27 01:22:07 2014
@@ -0,0 +1,97 @@
+/* $NetBSD: rockchip_dwcmmc.c,v 1.1 2014/12/27 01:22:07 jmcneill Exp $ */
+
+/*-
+ * Copyright (c) 2014 Jared D. McNeill 
+ * All rights reserved.
+ *
+ * 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 AUTHOR ``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 AUTHOR 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 
+__KERNEL_RCSID(0, "$NetBSD: rockchip_dwcmmc.c,v 1.1 2014/12/27 01:22:07 jmcneill Exp $");
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+
+#include 
+
+static int	rk_dwcmmc_match(device_t, cfdata_t, void *);
+static void	rk_dwcmmc_attach(device_t, device_t, void *);
+
+static void	rk_dwcmmc_attach_i(device_t);
+
+CFATTACH_DECL_NEW(rkdwcmmc, sizeof(struct dwc_mmc_softc),
+	rk_dwcmmc_match, rk_dwcmmc_attach, NULL, NULL);
+
+static int
+rk_dwcmmc_match(device_t parent, cfdata_t cf, void *aux)
+{
+	return 1;
+}
+
+static void
+rk_dwcmmc_attach(device_t parent, device_t self, void *aux)
+{
+	struct dwc_mmc_softc *sc = device_private(self);
+	struct obio_attach_args * const obio = aux;
+
+	sc->sc_dev = self;
+	sc->sc_bst = obio->obio_bst;
+	sc->sc_dmat = obio->obio_dmat;
+	sc->sc_flags = DWC_MMC_F_USE_HOLD_REG;
+	sc->sc_clock_freq = rockchip_ahb_get_rate();
+	sc->sc_fifo_depth = 256;
+
+	bus_space_subregion(obio->obio_bst, obio->obio_bsh, obio->obio_offset,
+	obio->obio_size, &sc->sc_bsh);
+
+	aprint_naive("\n");
+	aprint_normal(": SD/MMC controller\n");
+
+	sc->sc_ih = intr_establish(obio->obio_intr, IPL_BIO, IST_LEVEL,
+	dwc_mmc_intr, sc);
+	if (sc->sc_ih == NULL) {
+		aprint_error_dev(self, "couldn't establish interrupt %d\n",
+		obio->obio_intr);
+		return;
+	}
+	aprint_normal_dev(self, "interrupting on irq %d\n", obio->obio_intr);
+
+	config_interrupts(self, rk_dwcmmc_attach_i);
+}
+
+static void
+rk_dwcmmc_attach_i(device_t self)
+{
+	struct dwc_mmc_softc *sc = device_private(self);
+
+	dwc_mmc_init(sc);
+}



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

2014-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 27 01:21:21 UTC 2014

Modified Files:
src/sys/arch/arm/rockchip: rockchip_board.c rockchip_var.h

Log Message:
add helpers to get gpll and ahb clock rates


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/rockchip/rockchip_board.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/rockchip/rockchip_var.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/arm/rockchip/rockchip_board.c
diff -u src/sys/arch/arm/rockchip/rockchip_board.c:1.1 src/sys/arch/arm/rockchip/rockchip_board.c:1.2
--- src/sys/arch/arm/rockchip/rockchip_board.c:1.1	Fri Dec 26 19:44:48 2014
+++ src/sys/arch/arm/rockchip/rockchip_board.c	Sat Dec 27 01:21:21 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: rockchip_board.c,v 1.1 2014/12/26 19:44:48 jmcneill Exp $ */
+/* $NetBSD: rockchip_board.c,v 1.2 2014/12/27 01:21:21 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2014 Jared D. McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: rockchip_board.c,v 1.1 2014/12/26 19:44:48 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rockchip_board.c,v 1.2 2014/12/27 01:21:21 jmcneill Exp $");
 
 #include 
 #include 
@@ -35,6 +35,7 @@ __KERNEL_RCSID(0, "$NetBSD: rockchip_boa
 #include 
 
 #include 
+#include 
 #include 
 
 bus_space_handle_t rockchip_core0_bsh;
@@ -55,3 +56,50 @@ rockchip_bootstrap(void)
 	if (error)
 		panic("%s: failed to map CORE1 registers: %d", __func__, error);
 }
+
+static void
+rockchip_get_cru_bsh(bus_space_handle_t *pbsh)
+{
+	bus_space_subregion(&rockchip_bs_tag, rockchip_core1_bsh,
+	ROCKCHIP_CRU_OFFSET, ROCKCHIP_CRU_SIZE, pbsh);
+}
+
+u_int
+rockchip_gpll_get_rate(void)
+{
+	bus_space_tag_t bst = &rockchip_bs_tag;
+	bus_space_handle_t bsh;
+	uint32_t gpll_con0, gpll_con1;
+	uint32_t nr, nf, no;
+
+	rockchip_get_cru_bsh(&bsh);
+
+	gpll_con0 = bus_space_read_4(bst, bsh, CRU_GPLL_CON0_REG);
+	gpll_con1 = bus_space_read_4(bst, bsh, CRU_GPLL_CON1_REG);
+
+	nr = __SHIFTOUT(gpll_con0, CRU_PLL_CON0_CLKR) + 1;
+	no = __SHIFTOUT(gpll_con0, CRU_PLL_CON0_CLKOD) + 1;
+	nf = __SHIFTOUT(gpll_con1, CRU_PLL_CON1_CLKF) + 1;
+
+	return ROCKCHIP_REF_FREQ * nf / (nr * no);
+}
+
+u_int
+rockchip_ahb_get_rate(void)
+{
+	bus_space_tag_t bst = &rockchip_bs_tag;
+	bus_space_handle_t bsh;
+	uint32_t clksel_con10;
+	uint32_t hclk_div, aclk_div;
+
+	rockchip_get_cru_bsh(&bsh);
+
+	clksel_con10 = bus_space_read_4(bst, bsh, CRU_CLKSEL_CON_REG(10));
+
+	hclk_div = __SHIFTOUT(clksel_con10,
+			  CRU_CLKSEL_CON10_PERI_HCLK_DIV_CON) + 1;
+	aclk_div = 1 << __SHIFTOUT(clksel_con10,
+   CRU_CLKSEL_CON10_PERI_ACLK_DIV_CON);
+
+	return rockchip_gpll_get_rate() / (hclk_div * aclk_div);
+}

Index: src/sys/arch/arm/rockchip/rockchip_var.h
diff -u src/sys/arch/arm/rockchip/rockchip_var.h:1.2 src/sys/arch/arm/rockchip/rockchip_var.h:1.3
--- src/sys/arch/arm/rockchip/rockchip_var.h:1.2	Fri Dec 26 19:44:48 2014
+++ src/sys/arch/arm/rockchip/rockchip_var.h	Sat Dec 27 01:21:21 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: rockchip_var.h,v 1.2 2014/12/26 19:44:48 jmcneill Exp $ */
+/* $NetBSD: rockchip_var.h,v 1.3 2014/12/27 01:21:21 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -56,4 +56,7 @@ extern bus_space_handle_t rockchip_core1
 
 void rockchip_bootstrap(void);
 
+u_int rockchip_gpll_get_rate(void);
+u_int rockchip_ahb_get_rate(void);
+
 #endif /* _ARM_ROCKCHIP_ROCKCHIP_VAR_H_ */



CVS commit: src/sys/arch/evbarm/rockchip

2014-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 27 01:21:02 UTC 2014

Modified Files:
src/sys/arch/evbarm/rockchip: rockchip_machdep.c

Log Message:
use rockchip_crureg.h


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/evbarm/rockchip/rockchip_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/evbarm/rockchip/rockchip_machdep.c
diff -u src/sys/arch/evbarm/rockchip/rockchip_machdep.c:1.2 src/sys/arch/evbarm/rockchip/rockchip_machdep.c:1.3
--- src/sys/arch/evbarm/rockchip/rockchip_machdep.c:1.2	Fri Dec 26 19:44:48 2014
+++ src/sys/arch/evbarm/rockchip/rockchip_machdep.c	Sat Dec 27 01:21:02 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: rockchip_machdep.c,v 1.2 2014/12/26 19:44:48 jmcneill Exp $ */
+/*	$NetBSD: rockchip_machdep.c,v 1.3 2014/12/27 01:21:02 jmcneill Exp $ */
 
 /*
  * Machine dependent functions for kernel setup for TI OSK5912 board.
@@ -125,7 +125,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: rockchip_machdep.c,v 1.2 2014/12/26 19:44:48 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rockchip_machdep.c,v 1.3 2014/12/27 01:21:02 jmcneill Exp $");
 
 #include "opt_machdep.h"
 #include "opt_ddb.h"
@@ -182,6 +182,7 @@ __KERNEL_RCSID(0, "$NetBSD: rockchip_mac
 #include 
 
 #include 
+#include 
 #include 
 
 #ifdef CPU_CORTEXA9
@@ -528,7 +529,8 @@ rockchip_reset(void)
 	bus_space_subregion(bst, rockchip_core1_bsh,
 	ROCKCHIP_CRU_OFFSET, ROCKCHIP_CRU_SIZE, &bsh);
 
-	bus_space_write_4(bst, bsh, 0x100, 0xfdb9);
+	bus_space_write_4(bst, bsh, CRU_GLB_SRST_FST_REG,
+	CRU_GLB_SRST_FST_MAGIC);
 }
 
 #ifdef KGDB



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

2014-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 27 01:20:31 UTC 2014

Added Files:
src/sys/arch/arm/rockchip: rockchip_crureg.h

Log Message:
add CRU reg definitions


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/arch/arm/rockchip/rockchip_crureg.h

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

Added files:

Index: src/sys/arch/arm/rockchip/rockchip_crureg.h
diff -u /dev/null src/sys/arch/arm/rockchip/rockchip_crureg.h:1.1
--- /dev/null	Sat Dec 27 01:20:31 2014
+++ src/sys/arch/arm/rockchip/rockchip_crureg.h	Sat Dec 27 01:20:31 2014
@@ -0,0 +1,76 @@
+/* $NetBSD: rockchip_crureg.h,v 1.1 2014/12/27 01:20:31 jmcneill Exp $ */
+
+/*-
+ * Copyright (c) 2014 Jared D. McNeill 
+ * All rights reserved.
+ *
+ * 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 AUTHOR ``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 AUTHOR 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.
+ */
+
+#ifndef _ROCKCHIP_CRUREG_H
+#define _ROCKCHIP_CRUREG_H
+
+#define CRU_APLL_CON0_REG	0x
+#define CRU_APLL_CON1_REG	0x0004
+#define CRU_APLL_CON2_REG	0x0008
+#define CRU_APLL_CON3_REG	0x000c
+#define CRU_DPLL_CON0_REG	0x0010
+#define CRU_DPLL_CON1_REG	0x0014
+#define CRU_DPLL_CON2_REG	0x0018
+#define CRU_DPLL_CON3_REG	0x001c
+#define CRU_CPLL_CON0_REG	0x0020
+#define CRU_CPLL_CON1_REG	0x0024
+#define CRU_CPLL_CON2_REG	0x0028
+#define CRU_CPLL_CON3_REG	0x002c
+#define CRU_GPLL_CON0_REG	0x0030
+#define CRU_GPLL_CON1_REG	0x0034
+#define CRU_GPLL_CON2_REG	0x0038
+#define CRU_GPLL_CON3_REG	0x003c
+#define CRU_MODE_CON_REG	0x0040
+#define CRU_CLKSEL_CON_REG(n)	(0x0044 + (n) * 4)
+#define CRU_CLKGATE_CON_REG(n)	(0x00d0 + (n) * 4)
+#define CRU_GLB_SRST_FST_REG	0x0100
+#define CRU_GLB_SRST_SND_REG	0x0104
+#define CRU_SOFTRST_REG(n)	(0x0110 + (n) * 4)
+#define CRU_MISC_CON_REG	0x0134
+#define CRU_GLB_CNT_TH_REG	0x0140
+
+#define CRU_PLL_CON0_CLKR_MASK	__BITS(29,24)
+#define CRU_PLL_CON0_CLKOD_MASK	__BITS(19,16)
+#define CRU_PLL_CON0_CLKR	__BITS(13,8)
+#define CRU_PLL_CON0_CLKOD	__BITS(3,0)
+
+#define CRU_PLL_CON1_CLKF_MASK	__BITS(28,16)
+#define CRU_PLL_CON1_CLKF	__BITS(12,0)
+
+#define CRU_CLKSEL_CON10_PERI_PLL_SEL_MASK	__BIT(31)
+#define CRU_CLKSEL_CON10_PERI_PCLK_DIV_CON_MASK	__BITS(29,28)
+#define CRU_CLKSEL_CON10_PERI_HCLK_DIV_CON_MASK	__BITS(25,24)
+#define CRU_CLKSEL_CON10_PERI_ACLK_DIV_CON_MASK	__BITS(20,16)
+#define CRU_CLKSEL_CON10_PERI_PLL_SEL		__BIT(15)
+#define CRU_CLKSEL_CON10_PERI_PCLK_DIV_CON	__BITS(13,12)
+#define CRU_CLKSEL_CON10_PERI_HCLK_DIV_CON	__BITS(9,8)
+#define CRU_CLKSEL_CON10_PERI_ACLK_DIV_CON	__BITS(4,0)
+
+#define CRU_GLB_SRST_FST_MAGIC	0xfdb9
+
+#endif /* !_ROCKCHIP_CRUREG_H */



CVS commit: src/sys

2014-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sat Dec 27 01:18:48 UTC 2014

Modified Files:
src/sys/conf: files
Added Files:
src/sys/dev/ic: dwc_mmc.c dwc_mmc_reg.h dwc_mmc_var.h

Log Message:
add DesignWare SD/MMC controller driver


To generate a diff of this commit:
cvs rdiff -u -r1.1121 -r1.1122 src/sys/conf/files
cvs rdiff -u -r0 -r1.1 src/sys/dev/ic/dwc_mmc.c src/sys/dev/ic/dwc_mmc_reg.h \
src/sys/dev/ic/dwc_mmc_var.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/conf/files
diff -u src/sys/conf/files:1.1121 src/sys/conf/files:1.1122
--- src/sys/conf/files:1.1121	Fri Oct 31 07:38:36 2014
+++ src/sys/conf/files	Sat Dec 27 01:18:48 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: files,v 1.1121 2014/10/31 07:38:36 uebayasi Exp $
+#	$NetBSD: files,v 1.1122 2014/12/27 01:18:48 jmcneill Exp $
 #	@(#)files.newconf	7.5 (Berkeley) 5/10/93
 
 version 	20141030
@@ -1264,6 +1264,11 @@ file	dev/ic/w83l518d_sdmmc.c		wb
 device	rtsx: sdmmcbus
 file	dev/ic/rtsx.c			rtsx
 
+# DesignWare SD/MMC host controller
+defflag	opt_dwc_mmc.h	DWC_MMC_DEBUG
+device	dwcmmc: sdmmcbus
+file	dev/ic/dwc_mmc.c		dwcmmc
+
 # Myson MTD803 3-in-1 Fast Ethernet Controller
 device	mtd: arp, ether, ifnet, mii
 file	dev/ic/mtd803.c			mtd

Added files:

Index: src/sys/dev/ic/dwc_mmc.c
diff -u /dev/null src/sys/dev/ic/dwc_mmc.c:1.1
--- /dev/null	Sat Dec 27 01:18:49 2014
+++ src/sys/dev/ic/dwc_mmc.c	Sat Dec 27 01:18:48 2014
@@ -0,0 +1,582 @@
+/* $NetBSD: dwc_mmc.c,v 1.1 2014/12/27 01:18:48 jmcneill Exp $ */
+
+/*-
+ * Copyright (c) 2014 Jared D. McNeill 
+ * All rights reserved.
+ *
+ * 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 AUTHOR ``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 AUTHOR 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 "opt_dwc_mmc.h"
+
+#include 
+__KERNEL_RCSID(0, "$NetBSD: dwc_mmc.c,v 1.1 2014/12/27 01:18:48 jmcneill Exp $");
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+
+#include 
+#include 
+
+static int	dwc_mmc_host_reset(sdmmc_chipset_handle_t);
+static uint32_t	dwc_mmc_host_ocr(sdmmc_chipset_handle_t);
+static int	dwc_mmc_host_maxblklen(sdmmc_chipset_handle_t);
+static int	dwc_mmc_card_detect(sdmmc_chipset_handle_t);
+static int	dwc_mmc_write_protect(sdmmc_chipset_handle_t);
+static int	dwc_mmc_bus_power(sdmmc_chipset_handle_t, uint32_t);
+static int	dwc_mmc_bus_clock(sdmmc_chipset_handle_t, int);
+static int	dwc_mmc_bus_width(sdmmc_chipset_handle_t, int);
+static int	dwc_mmc_bus_rod(sdmmc_chipset_handle_t, int);
+static void	dwc_mmc_exec_command(sdmmc_chipset_handle_t,
+ struct sdmmc_command *);
+static void	dwc_mmc_card_enable_intr(sdmmc_chipset_handle_t, int);
+static void	dwc_mmc_card_intr_ack(sdmmc_chipset_handle_t);
+
+static int	dwc_mmc_set_clock(struct dwc_mmc_softc *, u_int);
+static int	dwc_mmc_update_clock(struct dwc_mmc_softc *);
+static int	dwc_mmc_wait_rint(struct dwc_mmc_softc *, uint32_t, int);
+static int	dwc_mmc_pio_wait(struct dwc_mmc_softc *,
+ struct sdmmc_command *);
+static int	dwc_mmc_pio_transfer(struct dwc_mmc_softc *,
+ struct sdmmc_command *);
+
+void		dwc_mmc_dump_regs(void);
+
+static struct sdmmc_chip_functions dwc_mmc_chip_functions = {
+	.host_reset = dwc_mmc_host_reset,
+	.host_ocr = dwc_mmc_host_ocr,
+	.host_maxblklen = dwc_mmc_host_maxblklen,
+	.card_detect = dwc_mmc_card_detect,
+	.write_protect = dwc_mmc_write_protect,
+	.bus_power = dwc_mmc_bus_power,
+	.bus_clock = dwc_mmc_bus_clock,
+	.bus_width = dwc_mmc_bus_width,
+	.bus_rod = dwc_mmc_bus_rod,
+	.exec_command = dwc_mmc_exec_command,
+	.card_enable_intr = dwc_mmc_card_enable_intr,
+	.card_intr_ack = dwc_mmc_card_intr_ack,
+};
+
+#define MMC_WRITE(sc, reg, val) \
+	bus_space_write_4((sc)->sc_bst, (sc)->sc_bsh, (reg), (val))
+#de

CVS commit: src/usr.sbin/npf/npfctl

2014-12-26 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Dec 26 22:44:54 UTC 2014

Modified Files:
src/usr.sbin/npf/npfctl: npf.conf.5 npf_parse.y npf_scan.l npfctl.c
npfctl.h

Log Message:
allow turning off the bpf jit loading.


To generate a diff of this commit:
cvs rdiff -u -r1.42 -r1.43 src/usr.sbin/npf/npfctl/npf.conf.5
cvs rdiff -u -r1.35 -r1.36 src/usr.sbin/npf/npfctl/npf_parse.y
cvs rdiff -u -r1.21 -r1.22 src/usr.sbin/npf/npfctl/npf_scan.l
cvs rdiff -u -r1.44 -r1.45 src/usr.sbin/npf/npfctl/npfctl.c
cvs rdiff -u -r1.38 -r1.39 src/usr.sbin/npf/npfctl/npfctl.h

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

Modified files:

Index: src/usr.sbin/npf/npfctl/npf.conf.5
diff -u src/usr.sbin/npf/npfctl/npf.conf.5:1.42 src/usr.sbin/npf/npfctl/npf.conf.5:1.43
--- src/usr.sbin/npf/npfctl/npf.conf.5:1.42	Sat Aug  2 20:02:56 2014
+++ src/usr.sbin/npf/npfctl/npf.conf.5	Fri Dec 26 17:44:54 2014
@@ -1,4 +1,4 @@
-.\"$NetBSD: npf.conf.5,v 1.42 2014/08/03 00:02:56 rmind Exp $
+.\"$NetBSD: npf.conf.5,v 1.43 2014/12/26 22:44:54 christos Exp $
 .\"
 .\" Copyright (c) 2009-2014 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd August 2, 2014
+.Dd December 26, 2014
 .Dt NPF.CONF 5
 .Os
 .Sh NAME
@@ -240,6 +240,9 @@ var-name	= "$" . string
 interface	= interface-name | var-name
 var-def		= var "=" ( var-value | "{" value *[ "," value ] "}" )
 
+; Parameter setting
+set-statement	= "set" parameter value
+
 ; Table definition.  Table ID shall be numeric.  Path is in the double quotes.
 
 table-id	= \*[Lt]table-name\*[Gt]

Index: src/usr.sbin/npf/npfctl/npf_parse.y
diff -u src/usr.sbin/npf/npfctl/npf_parse.y:1.35 src/usr.sbin/npf/npfctl/npf_parse.y:1.36
--- src/usr.sbin/npf/npfctl/npf_parse.y:1.35	Sat Mar 15 11:22:37 2014
+++ src/usr.sbin/npf/npfctl/npf_parse.y	Fri Dec 26 17:44:54 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: npf_parse.y,v 1.35 2014/03/15 15:22:37 riastradh Exp $	*/
+/*	$NetBSD: npf_parse.y,v 1.36 2014/12/26 22:44:54 christos Exp $	*/
 
 /*-
  * Copyright (c) 2011-2014 The NetBSD Foundation, Inc.
@@ -92,6 +92,7 @@ yyerror(const char *fmt, ...)
 %token			ARROWLEFT
 %token			ARROWRIGHT
 %token			BLOCK
+%token			BPFJIT
 %token			CDB
 %token			CURLY_CLOSE
 %token			CURLY_OPEN
@@ -118,6 +119,7 @@ yyerror(const char *fmt, ...)
 %token			NAME
 %token			NPT66
 %token			ON
+%token			OFF
 %token			OUT
 %token			PAR_CLOSE
 %token			PAR_OPEN
@@ -134,6 +136,7 @@ yyerror(const char *fmt, ...)
 %token			RETURNRST
 %token			RULESET
 %token			SEPLINE
+%token			SET
 %token			SLASH
 %token			STATEFUL
 %token			STATEFUL_ENDS
@@ -169,9 +172,11 @@ yyerror(const char *fmt, ...)
 %type		filt_opts, all_or_filt_opts
 %type		opt_proto
 %type		group_opts
+%type			onoff
 
 %union {
 	char *		str;
+	bool		tf;
 	unsigned long	num;
 	double		fpnum;
 	npfvar_t *	var;
@@ -200,6 +205,7 @@ line
 	| group
 	| rproc
 	| alg
+	| set
 	|
 	;
 
@@ -210,6 +216,21 @@ alg
 	}
 	;
 
+onoff
+	: ON {
+		$$ = true;
+	}
+	| OFF {
+		$$ = false;
+	}
+	;
+
+set
+	: SET BPFJIT onoff {
+		npfctl_bpfjit($3);
+	}
+	;
+
 /*
  * A value - an element or a list of elements.
  * Can be assigned to a variable or used inline.

Index: src/usr.sbin/npf/npfctl/npf_scan.l
diff -u src/usr.sbin/npf/npfctl/npf_scan.l:1.21 src/usr.sbin/npf/npfctl/npf_scan.l:1.22
--- src/usr.sbin/npf/npfctl/npf_scan.l:1.21	Sat May 31 18:37:05 2014
+++ src/usr.sbin/npf/npfctl/npf_scan.l	Fri Dec 26 17:44:54 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: npf_scan.l,v 1.21 2014/05/31 22:37:05 rmind Exp $	*/
+/*	$NetBSD: npf_scan.l,v 1.22 2014/12/26 22:44:54 christos Exp $	*/
 
 /*-
  * Copyright (c) 2011-2012 The NetBSD Foundation, Inc.
@@ -97,6 +97,7 @@ static			return TSTATIC;
 dynamic			return TDYNAMIC;
 file			return TFILE;
 map			return MAP;
+set			return SET;
 "<->"			return ARROWBOTH;
 "<-"			return ARROWLEFT;
 "->"			return ARROWRIGHT;
@@ -124,6 +125,8 @@ apply			return APPLY;
 final			return FINAL;
 quick			return FINAL;
 on			return ON;
+off			return OFF;
+bpf.jit			return BPFJIT;
 inet6			return INET6;
 inet4			return INET4;
 proto			return PROTO;

Index: src/usr.sbin/npf/npfctl/npfctl.c
diff -u src/usr.sbin/npf/npfctl/npfctl.c:1.44 src/usr.sbin/npf/npfctl/npfctl.c:1.45
--- src/usr.sbin/npf/npfctl/npfctl.c:1.44	Fri Dec 26 15:44:38 2014
+++ src/usr.sbin/npf/npfctl/npfctl.c	Fri Dec 26 17:44:54 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: npfctl.c,v 1.44 2014/12/26 20:44:38 rmind Exp $	*/
+/*	$NetBSD: npfctl.c,v 1.45 2014/12/26 22:44:54 christos Exp $	*/
 
 /*-
  * Copyright (c) 2009-2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__RCSID("$NetBSD: npfctl.c,v 1.44 2014/12/26 20:44:38 rmind Exp $");
+__RCSID("$NetBSD: npfctl.c,v 1.45 2014/12/26 22:44:54 christos Exp $");
 
 #include 
 #include 
@@ -481,6 +481,14 @@ npfctl_rule(int fd, int argc, char **arg
 	exit(EX

CVS commit: src/sys/arch/evbarm/awin

2014-12-26 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Fri Dec 26 21:45:17 UTC 2014

Modified Files:
src/sys/arch/evbarm/awin: awin_start.S

Log Message:
"Jared broke my kernel by adding comments!" - make it compile again


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/evbarm/awin/awin_start.S

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/awin/awin_start.S
diff -u src/sys/arch/evbarm/awin/awin_start.S:1.10 src/sys/arch/evbarm/awin/awin_start.S:1.11
--- src/sys/arch/evbarm/awin/awin_start.S:1.10	Mon Dec 22 23:46:50 2014
+++ src/sys/arch/evbarm/awin/awin_start.S	Fri Dec 26 21:45:17 2014
@@ -41,7 +41,7 @@
 #include 
 #include   
 
-RCSID("$NetBSD: awin_start.S,v 1.10 2014/12/22 23:46:50 jmcneill Exp $")
+RCSID("$NetBSD: awin_start.S,v 1.11 2014/12/26 21:45:17 martin Exp $")
 
 #if defined(VERBOSE_INIT_ARM)
 #define	XPUTC(n)	mov r0, n; bl xputc
@@ -157,7 +157,8 @@ _C_LABEL(awin_start):
 	movt	r5, #:upper16:(AWIN_CORE_PBASE+AWIN_SRAM_OFFSET)
 	ldr	r1, [r5, #AWIN_SRAM_VER_REG]
 #ifdef __ARMEB__
-	orr	r1, r1, #(AWIN_SRAM_VER_R_EN << 8)	# it's bit 15
+	# it's bit 15
+	orr	r1, r1, #(AWIN_SRAM_VER_R_EN << 8)
 #else
 	orr	r1, r1, #AWIN_SRAM_VER_R_EN
 #endif



CVS commit: src/usr.sbin/npf/npfctl

2014-12-26 Thread Mindaugas Rasiukevicius
Module Name:src
Committed By:   rmind
Date:   Fri Dec 26 20:44:38 UTC 2014

Modified Files:
src/usr.sbin/npf/npfctl: npfctl.c

Log Message:
npfctl(8): attempt to preload bpfjit kernel module and print the
warning on failure.


To generate a diff of this commit:
cvs rdiff -u -r1.43 -r1.44 src/usr.sbin/npf/npfctl/npfctl.c

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

Modified files:

Index: src/usr.sbin/npf/npfctl/npfctl.c
diff -u src/usr.sbin/npf/npfctl/npfctl.c:1.43 src/usr.sbin/npf/npfctl/npfctl.c:1.44
--- src/usr.sbin/npf/npfctl/npfctl.c:1.43	Mon Aug 11 23:48:01 2014
+++ src/usr.sbin/npf/npfctl/npfctl.c	Fri Dec 26 20:44:38 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: npfctl.c,v 1.43 2014/08/11 23:48:01 rmind Exp $	*/
+/*	$NetBSD: npfctl.c,v 1.44 2014/12/26 20:44:38 rmind Exp $	*/
 
 /*-
  * Copyright (c) 2009-2014 The NetBSD Foundation, Inc.
@@ -30,11 +30,12 @@
  */
 
 #include 
-__RCSID("$NetBSD: npfctl.c,v 1.43 2014/08/11 23:48:01 rmind Exp $");
+__RCSID("$NetBSD: npfctl.c,v 1.44 2014/12/26 20:44:38 rmind Exp $");
 
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -480,6 +481,22 @@ npfctl_rule(int fd, int argc, char **arg
 	exit(EXIT_SUCCESS);
 }
 
+static void
+npfctl_preload_bpfjit(void)
+{
+	modctl_load_t args = {
+		.ml_filename = "bpfjit",
+		.ml_flags = MODCTL_NO_PROP,
+		.ml_props = NULL,
+		.ml_propslen = 0
+	};
+
+	if (modctl(MODCTL_LOAD, &args) != 0 && errno != EEXIST) {
+		fprintf(stderr, "WARNING: bpfjit is not loaded; "
+		"this may have severe impact on performance.");
+	}
+}
+
 static int
 npfctl_save(int fd)
 {
@@ -547,6 +564,7 @@ npfctl(int action, int argc, char **argv
 		fun = "ioctl(IOC_NPF_SWITCH)";
 		break;
 	case NPFCTL_RELOAD:
+		npfctl_preload_bpfjit();
 		npfctl_config_init(false);
 		npfctl_parse_file(argc < 3 ? NPF_CONF_PATH : argv[2]);
 		errno = ret = npfctl_config_send(fd, NULL);
@@ -581,6 +599,7 @@ npfctl(int action, int argc, char **argv
 		npfctl_rule(fd, argc, argv);
 		break;
 	case NPFCTL_LOAD:
+		npfctl_preload_bpfjit();
 		ret = npfctl_load(fd);
 		fun = "npfctl_config_load";
 		break;



CVS commit: src/libexec/httpd

2014-12-26 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Fri Dec 26 19:52:00 UTC 2014

Modified Files:
src/libexec/httpd: auth-bozo.c

Log Message:
more for the previous:  make sure [i - 1] can never go negative.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/libexec/httpd/auth-bozo.c

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

Modified files:

Index: src/libexec/httpd/auth-bozo.c
diff -u src/libexec/httpd/auth-bozo.c:1.15 src/libexec/httpd/auth-bozo.c:1.16
--- src/libexec/httpd/auth-bozo.c:1.15	Fri Dec 26 19:48:52 2014
+++ src/libexec/httpd/auth-bozo.c	Fri Dec 26 19:52:00 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: auth-bozo.c,v 1.15 2014/12/26 19:48:52 mrg Exp $	*/
+/*	$NetBSD: auth-bozo.c,v 1.16 2014/12/26 19:52:00 mrg Exp $	*/
 
 /*	$eterna: auth-bozo.c,v 1.17 2011/11/18 09:21:15 mrg Exp $	*/
 
@@ -265,7 +265,7 @@ base64_decode(const unsigned char *in, s
 			| decodetable[in[i + 3]];
 #undef IN_CHECK
 	}
-	while (in[i - 1] == '=')
+	while (i > 0 && in[i - 1] == '=')
 		cp--,i--;
 	return (cp - out);
 }



CVS commit: src/libexec/httpd

2014-12-26 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Fri Dec 26 19:48:52 UTC 2014

Modified Files:
src/libexec/httpd: auth-bozo.c

Log Message:
properly handle ilen = 0 case, which could lead to array underflow.
pointed out by Maxime Villard.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/libexec/httpd/auth-bozo.c

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

Modified files:

Index: src/libexec/httpd/auth-bozo.c
diff -u src/libexec/httpd/auth-bozo.c:1.14 src/libexec/httpd/auth-bozo.c:1.15
--- src/libexec/httpd/auth-bozo.c:1.14	Fri Nov 21 08:58:28 2014
+++ src/libexec/httpd/auth-bozo.c	Fri Dec 26 19:48:52 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: auth-bozo.c,v 1.14 2014/11/21 08:58:28 shm Exp $	*/
+/*	$NetBSD: auth-bozo.c,v 1.15 2014/12/26 19:48:52 mrg Exp $	*/
 
 /*	$eterna: auth-bozo.c,v 1.17 2011/11/18 09:21:15 mrg Exp $	*/
 
@@ -238,6 +238,12 @@ base64_decode(const unsigned char *in, s
 	unsigned char *cp;
 	size_t	 i;
 
+	if (ilen == 0) {
+		if (olen)
+			*out = '\0';
+		return 0;
+	}
+
 	cp = out;
 	for (i = 0; i < ilen; i += 4) {
 		if (cp + 3 > out + olen)



CVS commit: src/sys/arch

2014-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Fri Dec 26 19:44:48 UTC 2014

Modified Files:
src/sys/arch/arm/rockchip: files.rockchip obio.c obio_com.c
rockchip_dwctwo.c rockchip_reg.h rockchip_var.h
src/sys/arch/evbarm/rockchip: rockchip_machdep.c
Added Files:
src/sys/arch/arm/rockchip: rockchip_board.c

Log Message:
Map all of core0 and core1 space and let drivers use bus_space_subregion
instead of bus_space_map. Fill in rockchip_reset.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/rockchip/files.rockchip \
src/sys/arch/arm/rockchip/obio.c src/sys/arch/arm/rockchip/obio_com.c \
src/sys/arch/arm/rockchip/rockchip_dwctwo.c \
src/sys/arch/arm/rockchip/rockchip_reg.h \
src/sys/arch/arm/rockchip/rockchip_var.h
cvs rdiff -u -r0 -r1.1 src/sys/arch/arm/rockchip/rockchip_board.c
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/evbarm/rockchip/rockchip_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/arm/rockchip/files.rockchip
diff -u src/sys/arch/arm/rockchip/files.rockchip:1.1 src/sys/arch/arm/rockchip/files.rockchip:1.2
--- src/sys/arch/arm/rockchip/files.rockchip:1.1	Fri Dec 26 16:53:33 2014
+++ src/sys/arch/arm/rockchip/files.rockchip	Fri Dec 26 19:44:48 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: files.rockchip,v 1.1 2014/12/26 16:53:33 jmcneill Exp $
+#	$NetBSD: files.rockchip,v 1.2 2014/12/26 19:44:48 jmcneill Exp $
 #
 # Configuration info for Rockchip ARM Peripherals
 #
@@ -11,6 +11,7 @@ file	arch/arm/arm32/arm32_kvminit.c
 file	arch/arm/arm32/arm32_reboot.c
 file	arch/arm/arm32/irq_dispatch.S
 
+file	arch/arm/rockchip/rockchip_board.c
 file	arch/arm/rockchip/rockchip_space.c	obio
 #file	arch/arm/rockchip/rockchip_a4x_space.c	obio
 file	arch/arm/rockchip/rockchip_dma.c
@@ -25,11 +26,11 @@ file arch/arm/rockchip/obio.c		obio
 attach com at obio with obiouart
 file	arch/arm/rockchip/obio_com.c	obiouart
 
-# SDHC
-#attach	sdhc at obio with rksdhc
-#file	arch/arm/rockchip/rockchip_sdhc.c	rksdhc
+# SD/MMC (Synopsys DesignWare)
+attach	dwcmmc at obio with rkdwcmmc
+file	arch/arm/rockchip/rockchip_dwcmmc.c	rkdwcmmc
 
-# USB OTG (Synopsys DesignWave OTG)
+# USB OTG (Synopsys DesignWare OTG)
 attach  dwctwo at obio with rkdwctwo
 filearch/arm/rockchip/rockchip_dwctwo.c	rkdwctwo	needs-flag
 
Index: src/sys/arch/arm/rockchip/obio.c
diff -u src/sys/arch/arm/rockchip/obio.c:1.1 src/sys/arch/arm/rockchip/obio.c:1.2
--- src/sys/arch/arm/rockchip/obio.c:1.1	Fri Dec 26 16:53:33 2014
+++ src/sys/arch/arm/rockchip/obio.c	Fri Dec 26 19:44:48 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: obio.c,v 1.1 2014/12/26 16:53:33 jmcneill Exp $	*/
+/*	$NetBSD: obio.c,v 1.2 2014/12/26 19:44:48 jmcneill Exp $	*/
 
 /*
  * Copyright (c) 2001, 2002, 2003 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: obio.c,v 1.1 2014/12/26 16:53:33 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: obio.c,v 1.2 2014/12/26 19:44:48 jmcneill Exp $");
 
 #include 
 #include 
@@ -100,14 +100,16 @@ int
 obio_print(void *aux, const char *pnp)
 {
 	struct obio_attach_args *obio = aux;
+	bus_addr_t addr = obio->obio_base + obio->obio_offset;
 
-	aprint_normal(": addr 0x%08lx", obio->obio_addr);
-	aprint_normal("-0x%08lx", obio->obio_addr + (obio->obio_size - 1));
+	aprint_normal(": addr 0x%08lx", addr);
+	aprint_normal("-0x%08lx", addr + (obio->obio_size - 1));
 	if (obio->obio_width != OBIOCF_WIDTH_DEFAULT)
 		aprint_normal(" width %d", obio->obio_width);
 	if (obio->obio_intr != OBIOCF_INTR_DEFAULT)
 		aprint_normal(" intr %d", obio->obio_intr);
-	aprint_normal(" mult %d", obio->obio_mult);
+	if (obio->obio_mult != OBIOCF_MULT_DEFAULT)
+		aprint_normal(" mult %d", obio->obio_mult);
 
 	return UNCONF;
 }
@@ -116,21 +118,33 @@ int
 obio_search(device_t parent, cfdata_t cf, const int *ldesc, void *aux)
 {
 	struct obio_attach_args obio;
+	bus_addr_t addr = cf->cf_loc[OBIOCF_ADDR];
 
-	obio.obio_addr = cf->cf_loc[OBIOCF_ADDR];
+	if (addr >= ROCKCHIP_CORE0_BASE &&
+	addr < ROCKCHIP_CORE0_BASE + ROCKCHIP_CORE0_SIZE) {
+		obio.obio_base = ROCKCHIP_CORE0_BASE;
+		obio.obio_bsh = rockchip_core0_bsh;
+	} else if (addr >= ROCKCHIP_CORE1_BASE &&
+	addr < ROCKCHIP_CORE1_BASE + ROCKCHIP_CORE1_SIZE) {
+		obio.obio_base = ROCKCHIP_CORE1_BASE;
+		obio.obio_bsh = rockchip_core1_bsh;
+	} else {
+		panic("addr %#llx is not in CORE0 or CORE1 space",
+		(long long unsigned int)addr);
+	}
+	obio.obio_offset = addr - obio.obio_base;
 	obio.obio_size = cf->cf_loc[OBIOCF_SIZE];
 	obio.obio_width = cf->cf_loc[OBIOCF_WIDTH];
 	obio.obio_intr = cf->cf_loc[OBIOCF_INTR];
 	obio.obio_mult = cf->cf_loc[OBIOCF_MULT];
 	obio.obio_dmat = &rockchip_bus_dma_tag;
 
-
 	switch (cf->cf_loc[OBIOCF_MULT]) {
 	case 1:
-		obio.obio_iot = &rockchip_bs_tag;
+		obio.obio_bst = &rockchip_bs_tag;
 		break;
 	case 4:
-		obio.obio_iot = &rockchip_a4x_bs_tag;
+		obio.obio_bst = &rockchip

CVS commit: src/share/man/man4

2014-12-26 Thread David A. Holland
Module Name:src
Committed By:   dholland
Date:   Fri Dec 26 19:15:04 UTC 2014

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

Log Message:
typo in previous


To generate a diff of this commit:
cvs rdiff -u -r1.443 -r1.444 src/share/man/man4/options.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/options.4
diff -u src/share/man/man4/options.4:1.443 src/share/man/man4/options.4:1.444
--- src/share/man/man4/options.4:1.443	Fri Dec 26 01:19:43 2014
+++ src/share/man/man4/options.4	Fri Dec 26 19:15:04 2014
@@ -1,4 +1,4 @@
-.\"	$NetBSD: options.4,v 1.443 2014/12/26 01:19:43 christos Exp $
+.\"	$NetBSD: options.4,v 1.444 2014/12/26 19:15:04 dholland Exp $
 .\"
 .\" Copyright (c) 1996
 .\" 	Perry E. Metzger.  All rights reserved.
@@ -978,7 +978,7 @@ routines, (a.k.a. the
 cache, though called by many other names in the kernel source).
 By default, this cache has
 .Dv (NPROC + NTEXT + 100)
-entires (NPROC set as 20 + 16 * MAXUSERS and NTEXT as 80 + NPROC / 8).
+entries (NPROC set as 20 + 16 * MAXUSERS and NTEXT as 80 + NPROC / 8).
 A reasonable way to derive a value of
 .Dv NVNODE ,
 should you notice a large number of namei cache misses with a tool such as



CVS commit: src/sys/arch/evbmips/evbmips

2014-12-26 Thread Michael Lorenz
Module Name:src
Committed By:   macallan
Date:   Fri Dec 26 18:08:52 UTC 2014

Modified Files:
src/sys/arch/evbmips/evbmips: interrupt.c

Log Message:
put #ifdef MIPS3_ENABLE_CLOCK_INTR around special handling of INT5


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/evbmips/evbmips/interrupt.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/evbmips/evbmips/interrupt.c
diff -u src/sys/arch/evbmips/evbmips/interrupt.c:1.20 src/sys/arch/evbmips/evbmips/interrupt.c:1.21
--- src/sys/arch/evbmips/evbmips/interrupt.c:1.20	Sat Nov 22 15:17:02 2014
+++ src/sys/arch/evbmips/evbmips/interrupt.c	Fri Dec 26 18:08:52 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: interrupt.c,v 1.20 2014/11/22 15:17:02 macallan Exp $	*/
+/*	$NetBSD: interrupt.c,v 1.21 2014/12/26 18:08:52 macallan Exp $	*/
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.20 2014/11/22 15:17:02 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.21 2014/12/26 18:08:52 macallan Exp $");
 
 #include 
 #include 
@@ -75,16 +75,16 @@ cpu_intr(int ppl, vaddr_t pc, uint32_t s
 		cf.sr = status;
 		cf.intr = (ci->ci_idepth > 1);
 
+#ifdef MIPS3_ENABLE_CLOCK_INTR
 		if (pending & MIPS_INT_MASK_5) {
 			KASSERTMSG(ipl == IPL_SCHED,
 			"%s: ipl (%d) != IPL_SCHED (%d)",
 			 __func__, ipl, IPL_SCHED);
-#ifdef MIPS3_ENABLE_CLOCK_INTR
 			/* call the common MIPS3 clock interrupt handler */ 
 			mips3_clockintr(&cf);
-#endif
 			pending ^= MIPS_INT_MASK_5;
 		}
+#endif
 
 		if (pending != 0) {
 			/* Process I/O and error interrupts. */



CVS commit: src/sys/arch/evbmips/ingenic

2014-12-26 Thread Michael Lorenz
Module Name:src
Committed By:   macallan
Date:   Fri Dec 26 18:06:52 UTC 2014

Modified Files:
src/sys/arch/evbmips/ingenic: intr.c

Log Message:
make interrupt names part of the handler struct so event counters will show
up correctly
also reshuffle debug code a bit


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/evbmips/ingenic/intr.c

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

Modified files:

Index: src/sys/arch/evbmips/ingenic/intr.c
diff -u src/sys/arch/evbmips/ingenic/intr.c:1.3 src/sys/arch/evbmips/ingenic/intr.c:1.4
--- src/sys/arch/evbmips/ingenic/intr.c:1.3	Tue Dec 23 16:17:39 2014
+++ src/sys/arch/evbmips/ingenic/intr.c	Fri Dec 26 18:06:52 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: intr.c,v 1.3 2014/12/23 16:17:39 macallan Exp $ */
+/*	$NetBSD: intr.c,v 1.4 2014/12/26 18:06:52 macallan Exp $ */
 
 /*-
  * Copyright (c) 2014 Michael Lorenz
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.3 2014/12/23 16:17:39 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.4 2014/12/26 18:06:52 macallan Exp $");
 
 #define __INTR_PRIVATE
 
@@ -82,6 +82,7 @@ static const struct ipl_sr_map ingenic_i
 /* some timer channels share interrupts, couldn't find any others */
 struct intrhand {
 	struct evcnt ih_count;
+	char ih_name[16];
 	int (*ih_func)(void *);
 	void *ih_arg;
 	int ih_ipl;
@@ -96,7 +97,6 @@ evbmips_intr_init(void)
 {
 	uint32_t reg;
 	int i;
-	char irqstr[8];
 
 	ipl_sr_map = ingenic_ipl_sr_map;
 
@@ -104,9 +104,10 @@ evbmips_intr_init(void)
 	for (i = 0; i < NINTR; i++) {
 		intrs[i].ih_func = NULL;
 		intrs[i].ih_arg = NULL;
-		snprintf(irqstr, sizeof(irqstr), "irq %d", i);
+		snprintf(intrs[i].ih_name, sizeof(intrs[i].ih_name),
+		"irq %d", i);
 		evcnt_attach_dynamic(&intrs[i].ih_count, EVCNT_TYPE_INTR,
-		NULL, "PIC", irqstr);
+		NULL, "PIC", intrs[i].ih_name);
 	}
 
 	/* mask all peripheral IRQs */
@@ -127,10 +128,12 @@ evbmips_iointr(int ipl, vaddr_t pc, uint
 #ifdef INGENIC_INTR_DEBUG
 	char buffer[256];
 	
+#if 0
 	snprintf(buffer, 256, "pending: %08x CR %08x\n", ipending,
 	MFC0(MIPS_COP_0_CAUSE, 0));
 	ingenic_puts(buffer);
 #endif
+#endif
 	/* see which core we're on */
 	id = MFC0(15, 1) & 7;
 
@@ -193,7 +196,7 @@ evbmips_iointr(int ipl, vaddr_t pc, uint
 		 * and IPIs. If that doesn't work we'll have to send an IPI to
 		 * core1 for each timer tick.  
 		 */
-		if (readreg(JZ_ICPR0) & 0x0800) {
+		if (readreg(JZ_ICPR0) & 0x0c00) {
 			ingenic_clockintr(id);
 		}
 		ingenic_irq(ipl);
@@ -205,7 +208,7 @@ void
 ingenic_irq(int ipl)
 {
 	uint32_t irql, irqh, mask;
-	int bit, idx;
+	int bit, idx, bail;
 #ifdef INGENIC_INTR_DEBUG
 	char buffer[16];
 #endif
@@ -217,6 +220,7 @@ ingenic_irq(int ipl)
 		ingenic_puts(buffer);
 	}
 #endif
+	bail = 32;
 	bit = ffs32(irql);
 	while (bit != 0) {
 		idx = bit - 1;
@@ -234,6 +238,8 @@ ingenic_irq(int ipl)
 		}		
 		irql &= ~mask;
 		bit = ffs32(irql);
+		bail--;
+		KASSERT(bail > 0);
 	}
 
 	irqh = readreg(JZ_ICPR1);
@@ -262,7 +268,6 @@ ingenic_irq(int ipl)
 		irqh &= ~mask;
 		bit = ffs32(irqh);
 	}
-
 }
 
 void *



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

2014-12-26 Thread Michael Lorenz
Module Name:src
Committed By:   macallan
Date:   Fri Dec 26 17:45:27 UTC 2014

Modified Files:
src/sys/arch/evbmips/conf: files.ingenic

Log Message:
use generic subr_disk_mbr.c


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/evbmips/conf/files.ingenic

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

Modified files:

Index: src/sys/arch/evbmips/conf/files.ingenic
diff -u src/sys/arch/evbmips/conf/files.ingenic:1.4 src/sys/arch/evbmips/conf/files.ingenic:1.5
--- src/sys/arch/evbmips/conf/files.ingenic:1.4	Tue Dec 23 16:16:49 2014
+++ src/sys/arch/evbmips/conf/files.ingenic	Fri Dec 26 17:45:27 2014
@@ -1,9 +1,8 @@
-#	$NetBSD: files.ingenic,v 1.4 2014/12/23 16:16:49 macallan Exp $
+#	$NetBSD: files.ingenic,v 1.5 2014/12/26 17:45:27 macallan Exp $
 
 
 file	arch/mips/mips/bus_dma.c
-
-file	arch/evbmips/evbmips/disksubr.c
+file	kern/subr_disk_mbr.c
 file	arch/evbmips/evbmips/interrupt.c
 
 defflag	opt_ingenic.h	INGENIC_DEBUG INGENIC_CLOCK_DEBUG



CVS commit: src/sys/arch/evbmips/ingenic

2014-12-26 Thread Michael Lorenz
Module Name:src
Committed By:   macallan
Date:   Fri Dec 26 17:43:32 UTC 2014

Modified Files:
src/sys/arch/evbmips/ingenic: clock.c

Log Message:
use #ifdef USE_OST to switch between OS Timer and timer 5
always enable interrupts, not just with INGENIC_CLOCK_DEBUG


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/evbmips/ingenic/clock.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/evbmips/ingenic/clock.c
diff -u src/sys/arch/evbmips/ingenic/clock.c:1.3 src/sys/arch/evbmips/ingenic/clock.c:1.4
--- src/sys/arch/evbmips/ingenic/clock.c:1.3	Tue Dec 23 15:07:33 2014
+++ src/sys/arch/evbmips/ingenic/clock.c	Fri Dec 26 17:43:32 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: clock.c,v 1.3 2014/12/23 15:07:33 macallan Exp $ */
+/*	$NetBSD: clock.c,v 1.4 2014/12/26 17:43:32 macallan Exp $ */
 
 /*-
  * Copyright (c) 2014 Michael Lorenz
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.3 2014/12/23 15:07:33 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.4 2014/12/26 17:43:32 macallan Exp $");
 
 #include 
 #include 
@@ -75,8 +75,8 @@ cpu_initclocks(void)
 	/* start the timer interrupt */
 	cnt = readreg(JZ_OST_CNT_LO);
 	ci->ci_next_cp0_clk_intr = cnt + ci->ci_cycles_per_hz;
-	writereg(JZ_OST_DATA, ci->ci_next_cp0_clk_intr);
 	writereg(JZ_TC_TFCR, TFR_OSTFLAG);
+	writereg(JZ_OST_DATA, ci->ci_next_cp0_clk_intr);
 	/*
 	 * XXX
 	 * We can use OST or one of the regular timers to generate the 100hz
@@ -93,7 +93,7 @@ cpu_initclocks(void)
 	 * For now, use OST and hope we'll figure out how to make it fire on
 	 * INT2.
 	 */
-#if 1
+#ifdef USE_OST
 	writereg(JZ_TC_TMCR, TFR_OSTFLAG);
 #else
 	writereg(JZ_TC_TECR, TESR_TCST5);	/* disable timer 5 */
@@ -108,8 +108,9 @@ cpu_initclocks(void)
 
 #ifdef INGENIC_CLOCK_DEBUG
 	printf("INTC %08x %08x\n", readreg(JZ_ICSR0), readreg(JZ_ICSR1));
-	writereg(JZ_ICMCR0, 0x0c00); /* TCU2, OST */
+	printf("ICMR0 %08x\n", readreg(JZ_ICMR0));
 #endif
+	writereg(JZ_ICMCR0, 0x0c00); /* TCU2, OST */
 	spl0();
 #ifdef INGENIC_CLOCK_DEBUG
 	printf("TFR: %08x\n", readreg(JZ_TC_TFR));
@@ -191,8 +192,9 @@ void
 ingenic_clockintr(uint32_t id)
 {
 	struct cpu_info * const ci = curcpu();
+#ifdef USE_OST
 	uint32_t new_cnt;
-
+#endif
 	ci->ci_ev_count_compare.ev_count++;
 
 	/* clear flags */
@@ -200,6 +202,7 @@ ingenic_clockintr(uint32_t id)
 
 	KASSERT((ci->ci_cycles_per_hz & ~(0x)) == 0);
 	ci->ci_next_cp0_clk_intr += (uint32_t)(ci->ci_cycles_per_hz & 0x);
+#ifdef USE_OST
 	writereg(JZ_OST_DATA, ci->ci_next_cp0_clk_intr);
 
 	/* Check for lost clock interrupts */
@@ -215,6 +218,10 @@ ingenic_clockintr(uint32_t id)
 		writereg(JZ_OST_DATA, ci->ci_next_cp0_clk_intr);
 		curcpu()->ci_ev_count_compare_missed.ev_count++;
 	}
+	writereg(JZ_TC_TFCR, TFR_OSTFLAG);
+#else
+	writereg(JZ_TC_TFCR, TFR_FFLAG5);
+#endif
 
 #ifdef INGENIC_CLOCK_DEBUG
 	cnt++;



CVS commit: src/sys/arch

2014-12-26 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Fri Dec 26 16:53:33 UTC 2014

Added Files:
src/sys/arch/arm/rockchip: files.rockchip obio.c obio_com.c
rockchip_dma.c rockchip_dwctwo.c rockchip_intr.h rockchip_reg.h
rockchip_space.c rockchip_var.h
src/sys/arch/evbarm/conf: ROCKCHIP files.rockchip mk.rockchip
std.rockchip
src/sys/arch/evbarm/rockchip: genassym.cf platform.h rockchip_machdep.c
rockchip_start.S

Log Message:
Initial support for Rockchip RK3066 / RK3188 SoCs, from Hiroshi Tokuda
 on port-arm:

http://mail-index.netbsd.org/port-arm/2014/10/09/msg002651.html


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/arch/arm/rockchip/files.rockchip \
src/sys/arch/arm/rockchip/obio.c src/sys/arch/arm/rockchip/obio_com.c \
src/sys/arch/arm/rockchip/rockchip_dma.c \
src/sys/arch/arm/rockchip/rockchip_dwctwo.c \
src/sys/arch/arm/rockchip/rockchip_intr.h \
src/sys/arch/arm/rockchip/rockchip_reg.h \
src/sys/arch/arm/rockchip/rockchip_space.c \
src/sys/arch/arm/rockchip/rockchip_var.h
cvs rdiff -u -r0 -r1.1 src/sys/arch/evbarm/conf/ROCKCHIP \
src/sys/arch/evbarm/conf/files.rockchip \
src/sys/arch/evbarm/conf/mk.rockchip \
src/sys/arch/evbarm/conf/std.rockchip
cvs rdiff -u -r0 -r1.1 src/sys/arch/evbarm/rockchip/genassym.cf \
src/sys/arch/evbarm/rockchip/platform.h \
src/sys/arch/evbarm/rockchip/rockchip_machdep.c \
src/sys/arch/evbarm/rockchip/rockchip_start.S

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

Added files:

Index: src/sys/arch/arm/rockchip/files.rockchip
diff -u /dev/null src/sys/arch/arm/rockchip/files.rockchip:1.1
--- /dev/null	Fri Dec 26 16:53:33 2014
+++ src/sys/arch/arm/rockchip/files.rockchip	Fri Dec 26 16:53:33 2014
@@ -0,0 +1,42 @@
+#	$NetBSD: files.rockchip,v 1.1 2014/12/26 16:53:33 jmcneill Exp $
+#
+# Configuration info for Rockchip ARM Peripherals
+#
+
+include "arch/arm/pic/files.pic"
+include "arch/arm/cortex/files.cortex"
+
+file	arch/arm/arm32/arm32_boot.c
+file	arch/arm/arm32/arm32_kvminit.c
+file	arch/arm/arm32/arm32_reboot.c
+file	arch/arm/arm32/irq_dispatch.S
+
+file	arch/arm/rockchip/rockchip_space.c	obio
+#file	arch/arm/rockchip/rockchip_a4x_space.c	obio
+file	arch/arm/rockchip/rockchip_dma.c
+file	arch/arm/arm/bus_space_a4x.S		obio
+
+# On-board I/O
+device obio {[addr = -1], [size = -1], [width = -1], [intr = -1], [mult = 1]}: bus_space_generic
+attach obio at mainbus
+file arch/arm/rockchip/obio.c		obio
+
+# serial
+attach com at obio with obiouart
+file	arch/arm/rockchip/obio_com.c	obiouart
+
+# SDHC
+#attach	sdhc at obio with rksdhc
+#file	arch/arm/rockchip/rockchip_sdhc.c	rksdhc
+
+# USB OTG (Synopsys DesignWave OTG)
+attach  dwctwo at obio with rkdwctwo
+filearch/arm/rockchip/rockchip_dwctwo.c	rkdwctwo	needs-flag
+
+# Console parameters
+defparam opt_rockchip.h			CONADDR
+defparam opt_rockchip.h			CONSPEED
+defparam opt_rockchip.h			CONMODE
+
+# Memory parameters
+defparam opt_rockchip.h			MEMSIZE
Index: src/sys/arch/arm/rockchip/obio.c
diff -u /dev/null src/sys/arch/arm/rockchip/obio.c:1.1
--- /dev/null	Fri Dec 26 16:53:33 2014
+++ src/sys/arch/arm/rockchip/obio.c	Fri Dec 26 16:53:33 2014
@@ -0,0 +1,201 @@
+/*	$NetBSD: obio.c,v 1.1 2014/12/26 16:53:33 jmcneill Exp $	*/
+
+/*
+ * Copyright (c) 2001, 2002, 2003 Wasabi Systems, Inc.
+ * All rights reserved.
+ *
+ * Written by Jason R. Thorpe for Wasabi Systems, Inc.
+ *
+ * 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.
+ * 3. All advertising materials mentioning features or use of this software
+ *must display the following acknowledgement:
+ *	This product includes software developed for the NetBSD Project by
+ *	Wasabi Systems, Inc.
+ * 4. The name of Wasabi Systems, Inc. may not be used to endorse
+ *or promote products derived from this software without specific prior
+ *written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``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 WASABI SYSTEMS, INC
+ * 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

CVS commit: src/sys/fs/sysvbfs

2014-12-26 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Fri Dec 26 15:23:21 UTC 2014

Modified Files:
src/sys/fs/sysvbfs: sysvbfs.c sysvbfs.h sysvbfs_vfsops.c
sysvbfs_vnops.c

Log Message:
Change sysvbfs to vcache.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/fs/sysvbfs/sysvbfs.c
cvs rdiff -u -r1.9 -r1.10 src/sys/fs/sysvbfs/sysvbfs.h
cvs rdiff -u -r1.44 -r1.45 src/sys/fs/sysvbfs/sysvbfs_vfsops.c
cvs rdiff -u -r1.55 -r1.56 src/sys/fs/sysvbfs/sysvbfs_vnops.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/fs/sysvbfs/sysvbfs.c
diff -u src/sys/fs/sysvbfs/sysvbfs.c:1.14 src/sys/fs/sysvbfs/sysvbfs.c:1.15
--- src/sys/fs/sysvbfs/sysvbfs.c:1.14	Fri Jul 25 08:20:52 2014
+++ src/sys/fs/sysvbfs/sysvbfs.c	Fri Dec 26 15:23:21 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysvbfs.c,v 1.14 2014/07/25 08:20:52 dholland Exp $	*/
+/*	$NetBSD: sysvbfs.c,v 1.15 2014/12/26 15:23:21 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: sysvbfs.c,v 1.14 2014/07/25 08:20:52 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysvbfs.c,v 1.15 2014/12/26 15:23:21 hannken Exp $");
 
 #include 
 #include 
@@ -121,6 +121,7 @@ struct vfsops sysvbfs_vfsops = {
 	.vfs_statvfs = sysvbfs_statvfs,
 	.vfs_sync = sysvbfs_sync,
 	.vfs_vget = sysvbfs_vget,
+	.vfs_loadvnode = sysvbfs_loadvnode,
 	.vfs_fhtovp = sysvbfs_fhtovp,
 	.vfs_vptofh = sysvbfs_vptofh,
 	.vfs_init = sysvbfs_init,

Index: src/sys/fs/sysvbfs/sysvbfs.h
diff -u src/sys/fs/sysvbfs/sysvbfs.h:1.9 src/sys/fs/sysvbfs/sysvbfs.h:1.10
--- src/sys/fs/sysvbfs/sysvbfs.h:1.9	Thu May 27 23:40:12 2010
+++ src/sys/fs/sysvbfs/sysvbfs.h	Fri Dec 26 15:23:21 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysvbfs.h,v 1.9 2010/05/27 23:40:12 pooka Exp $	*/
+/*	$NetBSD: sysvbfs.h,v 1.10 2014/12/26 15:23:21 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -53,15 +53,12 @@ struct sysvbfs_node {
 	int update_atime;
 	int update_mtime;
 	int removed;
-
-	LIST_ENTRY(sysvbfs_node) link;
 };
 
 struct sysvbfs_mount {
 	struct mount *mountp;
 	struct vnode *devvp;		/* block device mounted vnode */
 	struct bfs *bfs;
-	LIST_HEAD(, sysvbfs_node) bnode_head;
 };
 
 /* v-node ops. */

Index: src/sys/fs/sysvbfs/sysvbfs_vfsops.c
diff -u src/sys/fs/sysvbfs/sysvbfs_vfsops.c:1.44 src/sys/fs/sysvbfs/sysvbfs_vfsops.c:1.45
--- src/sys/fs/sysvbfs/sysvbfs_vfsops.c:1.44	Sun Dec  7 23:48:04 2014
+++ src/sys/fs/sysvbfs/sysvbfs_vfsops.c	Fri Dec 26 15:23:21 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysvbfs_vfsops.c,v 1.44 2014/12/07 23:48:04 justin Exp $	*/
+/*	$NetBSD: sysvbfs_vfsops.c,v 1.45 2014/12/26 15:23:21 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: sysvbfs_vfsops.c,v 1.44 2014/12/07 23:48:04 justin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysvbfs_vfsops.c,v 1.45 2014/12/26 15:23:21 hannken Exp $");
 
 #include 
 #include 
@@ -189,7 +189,6 @@ sysvbfs_mountfs(struct vnode *devvp, str
 		VOP_CLOSE(devvp, oflags, NOCRED);
 		goto out;
 	}
-	LIST_INIT(&bmp->bnode_head);
 
 	mp->mnt_data = bmp;
 	mp->mnt_stat.f_fsidx.__fsid_val[0] = (long)devvp->v_rdev;
@@ -289,89 +288,58 @@ sysvbfs_statvfs(struct mount *mp, struct
 int
 sysvbfs_sync(struct mount *mp, int waitfor, kauth_cred_t cred)
 {
-	struct sysvbfs_mount *bmp = mp->mnt_data;
-	struct sysvbfs_node *bnode;
-	struct vnode *v;
+	struct vnode_iterator *marker;
+	struct vnode *vp;
 	int err, error;
 
 	DPRINTF("%s:\n", __func__);
 	error = 0;
-	mutex_enter(&mntvnode_lock);
-	for (bnode = LIST_FIRST(&bmp->bnode_head); bnode != NULL;
-	bnode = LIST_NEXT(bnode, link)) {
-		v = bnode->vnode;
-		mutex_enter(v->v_interlock);
-		mutex_exit(&mntvnode_lock);
-		err = vget(v, LK_EXCLUSIVE | LK_NOWAIT);
-		if (err == 0) {
-			err = VOP_FSYNC(v, cred, FSYNC_WAIT, 0, 0);
-			vput(v);
+	vfs_vnode_iterator_init(mp, &marker);
+	while ((vp = vfs_vnode_iterator_next(marker, NULL, NULL)) != NULL) {
+		err = vn_lock(vp, LK_EXCLUSIVE);
+		if (err) {
+			vrele(vp);
+			continue;
 		}
+		err = VOP_FSYNC(vp, cred, FSYNC_WAIT, 0, 0);
+		vput(vp);
 		if (err != 0)
 			error = err;
-		mutex_enter(&mntvnode_lock);
 	}
-	mutex_exit(&mntvnode_lock);
+	vfs_vnode_iterator_destroy(marker);
 
 	return error;
 }
 
 int
-sysvbfs_vget(struct mount *mp, ino_t ino, struct vnode **vpp)
+sysvbfs_loadvnode(struct mount *mp, struct vnode *vp,
+const void *key, size_t key_len, const void **new_key)
 {
-	struct sysvbfs_mount *bmp = mp->mnt_data;
-	struct bfs *bfs = bmp->bfs;
-	struct vnode *vp;
+	struct sysvbfs_mount *bmp;
+	struct bfs *bfs;
 	struct sysvbfs_node *bnode;
 	struct bfs_inode *inode;
-	int error;
+	uint16_t ino;
+
+	KASSERT(key_len == sizeof(ino));
+	memcpy(&ino, key, key_len);
+
+	DPRINTF("%s: i-node=%u\n", __func__, ino);
+
+	bmp = mp->mnt_data;
+	bfs = bmp->bfs;
 
-	DPRINTF("%s: i

CVS commit: src/sys/fs/sysvbfs

2014-12-26 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Fri Dec 26 15:22:15 UTC 2014

Modified Files:
src/sys/fs/sysvbfs: bfs.c sysvbfs_vnops.c

Log Message:
Sysvbfs_rename: Call bfs_file_delete(bfs, to_name, true) before calling
bfs_file_rename() and remove the bfs_file_delete() from bfs_file_rename().

After calling bfs_file_rename() it was too late to set "tnode->removed"
as the inode already disappeared.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/fs/sysvbfs/bfs.c
cvs rdiff -u -r1.54 -r1.55 src/sys/fs/sysvbfs/sysvbfs_vnops.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/fs/sysvbfs/bfs.c
diff -u src/sys/fs/sysvbfs/bfs.c:1.17 src/sys/fs/sysvbfs/bfs.c:1.18
--- src/sys/fs/sysvbfs/bfs.c:1.17	Thu Jan  9 13:23:57 2014
+++ src/sys/fs/sysvbfs/bfs.c	Fri Dec 26 15:22:15 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: bfs.c,v 1.17 2014/01/09 13:23:57 hannken Exp $	*/
+/*	$NetBSD: bfs.c,v 1.18 2014/12/26 15:22:15 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include 
 
-__KERNEL_RCSID(0, "$NetBSD: bfs.c,v 1.17 2014/01/09 13:23:57 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bfs.c,v 1.18 2014/12/26 15:22:15 hannken Exp $");
 #define	BFS_DEBUG
 
 #include 
@@ -344,7 +344,6 @@ bfs_file_rename(struct bfs *bfs, const c
 		goto out;
 	}
 
-	bfs_file_delete(bfs, to_name, false);
 	strncpy(dirent->name, to_name, BFS_FILENAME_MAXLEN);
 	bfs_writeback_dirent(bfs, dirent, false);
 

Index: src/sys/fs/sysvbfs/sysvbfs_vnops.c
diff -u src/sys/fs/sysvbfs/sysvbfs_vnops.c:1.54 src/sys/fs/sysvbfs/sysvbfs_vnops.c:1.55
--- src/sys/fs/sysvbfs/sysvbfs_vnops.c:1.54	Fri Aug  8 19:14:45 2014
+++ src/sys/fs/sysvbfs/sysvbfs_vnops.c	Fri Dec 26 15:22:15 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysvbfs_vnops.c,v 1.54 2014/08/08 19:14:45 gson Exp $	*/
+/*	$NetBSD: sysvbfs_vnops.c,v 1.55 2014/12/26 15:22:15 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: sysvbfs_vnops.c,v 1.54 2014/08/08 19:14:45 gson Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysvbfs_vnops.c,v 1.55 2014/12/26 15:22:15 hannken Exp $");
 
 #include 
 #include 
@@ -581,21 +581,23 @@ sysvbfs_rename(void *arg)
 		goto out;
 	}
 
+	/*
+	 * Remove the target if it exists.
+	 */
+	if (tvp != NULL) {
+		error = bfs_file_delete(bfs, to_name, true);
+		if (error)
+			goto out;
+	}
 	error = bfs_file_rename(bfs, from_name, to_name);
  out:
-	if (tvp) {
-		if (error == 0) {
-			struct sysvbfs_node *tbnode = tvp->v_data;
-			tbnode->removed = 1;
-		}
-		vput(tvp);
-	}
-
 	/* tdvp == tvp probably can't happen with this fs, but safety first */
 	if (tdvp == tvp)
 		vrele(tdvp);
 	else
 		vput(tdvp);
+	if (tvp)
+		vput(tvp);
 
 	vrele(fdvp);
 	vrele(fvp);



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

2014-12-26 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Dec 26 14:19:20 UTC 2014

Modified Files:
src/distrib/sets/lists/xdebug: md.amd64 md.evbarm md.i386 shl.mi

Log Message:
move mi debug files into shl.mi


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/distrib/sets/lists/xdebug/md.amd64
cvs rdiff -u -r1.4 -r1.5 src/distrib/sets/lists/xdebug/md.evbarm
cvs rdiff -u -r1.9 -r1.10 src/distrib/sets/lists/xdebug/md.i386
cvs rdiff -u -r1.16 -r1.17 src/distrib/sets/lists/xdebug/shl.mi

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

Modified files:

Index: src/distrib/sets/lists/xdebug/md.amd64
diff -u src/distrib/sets/lists/xdebug/md.amd64:1.8 src/distrib/sets/lists/xdebug/md.amd64:1.9
--- src/distrib/sets/lists/xdebug/md.amd64:1.8	Tue Dec 23 12:48:59 2014
+++ src/distrib/sets/lists/xdebug/md.amd64	Fri Dec 26 09:19:20 2014
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.8 2014/12/23 17:48:59 christos Exp $
+# $NetBSD: md.amd64,v 1.9 2014/12/26 14:19:20 christos Exp $
 ./usr/X11R7/lib/libI810XvMC_g.a-unknown-	debuglib,xorg
 ./usr/X11R7/lib/libIntelXvMC_g.a			-unknown-	debuglib,xorg
 ./usr/X11R7/lib/libchromeXvMCPro_g.a			-unknown-	debuglib,xorg
@@ -7,7 +7,7 @@
 ./usr/X11R7/lib/modules/extensions/libdbe_g.a		-unknown-	xorg,debuglib
 ./usr/X11R7/lib/modules/extensions/libdri2_g.a		-unknown-	debuglib,xorg
 ./usr/X11R7/lib/modules/extensions/libdri_g.a		-unknown-	xorg,debuglib
-./usr/X11R7/lib/modules/extensions/libextmod_g.a		-unknown-	xorg,debuglib
+./usr/X11R7/lib/modules/extensions/libextmod_g.a	-unknown-	xorg,debuglib
 ./usr/X11R7/lib/modules/extensions/libglx_g.a		-unknown-	xorg,debuglib
 ./usr/X11R7/lib/modules/extensions/librecord_g.a	-unknown-	xorg,debuglib
 ./usr/X11R7/lib/modules/extensions/libshadow_g.a	-unknown-	xorg,debuglib
@@ -49,8 +49,6 @@
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/i810_dri.so.0.debug	-unknown-		obsolete
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/i915_dri.so.0.debug	-unknown-		xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/i965_dri.so.0.debug	-unknown-		xorg,debug
-./usr/libdata/debug/usr/X11R7/lib/modules/dri/kms_swrast_dri.so.0.debug		-unknown-	xorg,debug
-./usr/libdata/debug/usr/X11R7/lib/modules/dri/mesa_dri_drivers.so.0.debug	-unknown-	xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi810_dri.so.0.debug	obsolete		xorg,obsolete
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi915_dri.so.0.debug	obsolete		xorg,obsolete
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi965_dri.so.0.debug	obsolete		xorg,obsolete
@@ -68,12 +66,12 @@
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtrident_dri.so.0.debug	obsolete		obsolete
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/libunichrome_dri.so.0.debug	obsolete		xorg,obsolete
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/mach64_dri.so.0.debug	-unknown-		obsolete
+./usr/libdata/debug/usr/X11R7/lib/modules/dri/mesa_dri_drivers.so.0.debug	-unknown-	xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/mga_dri.so.0.debug	-unknown-		obsolete
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/r128_dri.so.0.debug	-unknown-		obsolete
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/r200_dri.so.0.debug	-unknown-		xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/r300_dri.so.0.debug	-unknown-		obsolete,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/r600_dri.so.0.debug	-unknown-		xorg,debug
-./usr/libdata/debug/usr/X11R7/lib/modules/dri/gallium_dri.so.0.debug	-unknown-		xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/radeon_dri.so.0.debug	-unknown-		xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/s3v_dri.so.0.debug	-unknown-		obsolete
 ./usr/libdata/debug/usr/X11R7/lib/modules/dri/savage_dri.so.0.debug	-unknown-		obsolete

Index: src/distrib/sets/lists/xdebug/md.evbarm
diff -u src/distrib/sets/lists/xdebug/md.evbarm:1.4 src/distrib/sets/lists/xdebug/md.evbarm:1.5
--- src/distrib/sets/lists/xdebug/md.evbarm:1.4	Wed Dec 24 20:38:28 2014
+++ src/distrib/sets/lists/xdebug/md.evbarm	Fri Dec 26 09:19:20 2014
@@ -1,4 +1,4 @@
-# $NetBSD: md.evbarm,v 1.4 2014/12/25 01:38:28 htodd Exp $
+# $NetBSD: md.evbarm,v 1.5 2014/12/26 14:19:20 christos Exp $
 ./usr/X11R7/lib/modules/extensions/libdbe_g.a		-unknown-	debuglib,xorg
 ./usr/X11R7/lib/modules/extensions/libdri2_g.a		-unknown-	debuglib,xorg
 ./usr/X11R7/lib/modules/extensions/libdri_g.a		-unknown-	debuglib,xorg
@@ -17,7 +17,6 @@
 ./usr/libdata/debug/usr/X11R7/bin/Xorg.debug	-unknown-	xorg,debug
 ./usr/libdata/debug/usr/X11R7/bin/cvt.debug	-unknown-	xorg,debug
 ./usr/libdata/debug/usr/X11R7/bin/gtf.debug	-unknown-	xorg,debug
-./usr/libdata/debug/usr/X11R7/lib/modules/dri/kms_swrast_dri.so.0.debug		-unknown-	xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug	-unknown-	xorg,debug
 ./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug	obsolete	xorg,obsolete
 ./usr/libdata/debug/usr/X11R7/lib/modules/drive

CVS commit: src/share/man/man9

2014-12-26 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Fri Dec 26 14:15:18 UTC 2014

Modified Files:
src/share/man/man9: clock.9

Log Message:
Fix description of days_in_month. Based on email from Kamil
Rytarowski.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/share/man/man9/clock.9

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/man9/clock.9
diff -u src/share/man/man9/clock.9:1.1 src/share/man/man9/clock.9:1.2
--- src/share/man/man9/clock.9:1.1	Mon Dec 22 18:02:52 2014
+++ src/share/man/man9/clock.9	Fri Dec 26 14:15:18 2014
@@ -1,4 +1,4 @@
-.\" $NetBSD: clock.9,v 1.1 2014/12/22 18:02:52 wiz Exp $
+.\" $NetBSD: clock.9,v 1.2 2014/12/26 14:15:18 wiz Exp $
 .\"
 .\" Copyright (c) 2014 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -26,7 +26,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd December 20, 2014
+.Dd December 26, 2014
 .Dt CLOCK 9
 .Os
 .Sh NAME
@@ -58,7 +58,9 @@ functions.
 .Sh FUNCTIONS
 The
 .Fn days_in_month
-function takes as the input parameter number of days in the given month.
+function returns the number of days in the given month.
+.Fn days_in_month
+assumes 28 days for February.
 If the input value is out of the valid range (1-12) then the function returns
 \-1.
 .Pp



CVS commit: src/usr.bin/finger

2014-12-26 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Dec 26 12:45:57 UTC 2014

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

Log Message:
And correct it.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/usr.bin/finger/finger.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/finger/finger.1
diff -u src/usr.bin/finger/finger.1:1.17 src/usr.bin/finger/finger.1:1.18
--- src/usr.bin/finger/finger.1:1.17	Thu Dec 25 22:49:00 2014
+++ src/usr.bin/finger/finger.1	Fri Dec 26 07:45:57 2014
@@ -1,4 +1,4 @@
-.\"	$NetBSD: finger.1,v 1.17 2014/12/26 03:49:00 christos Exp $
+.\"	$NetBSD: finger.1,v 1.18 2014/12/26 12:45:57 christos Exp $
 .\"
 .\" Copyright (c) 1989, 1990, 1993, 1994
 .\"	The Regents of the University of California.  All rights reserved.
@@ -210,5 +210,5 @@ last login data base
 The
 .Nm
 command appeared in
-.Bx 3.0 :
+.Bx 2.0 :
 .Lk ftp://ftp.tuhs.org.ua/PDP-11/Distributions/ucb/2bsd.tar.gz



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

2014-12-26 Thread NONAKA Kimihiro
Module Name:src
Committed By:   nonaka
Date:   Fri Dec 26 11:56:14 UTC 2014

Modified Files:
src/sys/arch/evbppc/conf: TWRP1025

Log Message:
Uncommented out INET6.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/evbppc/conf/TWRP1025

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/evbppc/conf/TWRP1025
diff -u src/sys/arch/evbppc/conf/TWRP1025:1.18 src/sys/arch/evbppc/conf/TWRP1025:1.19
--- src/sys/arch/evbppc/conf/TWRP1025:1.18	Sun Aug 24 07:59:22 2014
+++ src/sys/arch/evbppc/conf/TWRP1025	Fri Dec 26 11:56:14 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: TWRP1025,v 1.18 2014/08/24 07:59:22 jnemeth Exp $
+#	$NetBSD: TWRP1025,v 1.19 2014/12/26 11:56:14 nonaka Exp $
 #
 #	TWRP1025 -- everything that's currently supported
 #
@@ -7,7 +7,7 @@ include		"arch/evbppc/conf/std.mpc85xx"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-ident 		"TWRP1025-$Revision: 1.18 $"
+ident 		"TWRP1025-$Revision: 1.19 $"
 
 maxusers	32
 
@@ -107,7 +107,7 @@ options 	INET		# IP + ICMP + TCP + UDP
 options 	INET_CSUM_COUNTERS
 options 	TCP_CSUM_COUNTERS
 options 	UDP_CSUM_COUNTERS
-#options 	INET6		# IPV6
+options 	INET6		# IPV6
 #options 	IPSEC		# IP security
 #options 	IPSEC_DEBUG	# debug for IP security
 #options 	MROUTING	# IP multicast routing



CVS commit: src/sys/arch/powerpc/booke

2014-12-26 Thread NONAKA Kimihiro
Module Name:src
Committed By:   nonaka
Date:   Fri Dec 26 11:13:05 UTC 2014

Modified Files:
src/sys/arch/powerpc/booke: e500_tlb.c

Log Message:
fix typo.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/powerpc/booke/e500_tlb.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/powerpc/booke/e500_tlb.c
diff -u src/sys/arch/powerpc/booke/e500_tlb.c:1.13 src/sys/arch/powerpc/booke/e500_tlb.c:1.14
--- src/sys/arch/powerpc/booke/e500_tlb.c:1.13	Mon Dec  9 09:35:16 2013
+++ src/sys/arch/powerpc/booke/e500_tlb.c	Fri Dec 26 11:13:05 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: e500_tlb.c,v 1.13 2013/12/09 09:35:16 wiz Exp $	*/
+/*	$NetBSD: e500_tlb.c,v 1.14 2014/12/26 11:13:05 nonaka Exp $	*/
 /*-
  * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -38,7 +38,7 @@
 
 #include 
 
-__KERNEL_RCSID(0, "$NetBSD: e500_tlb.c,v 1.13 2013/12/09 09:35:16 wiz Exp $");
+__KERNEL_RCSID(0, "$NetBSD: e500_tlb.c,v 1.14 2014/12/26 11:13:05 nonaka Exp $");
 
 #include 
 
@@ -361,7 +361,7 @@ e500_tlb_invalidate_all(void)
 	__asm volatile("tlbivax\t0, %0" :: "b"(4));	/* INV_ALL */
 	__asm volatile("tlbsync\n\tisync\n\tsync");
 #else
-	mtspr(SPR_MMUCSR0, MMUCSR0_TLB0_FL);
+	mtspr(SPR_MMUCSR0, MMUCSR0_TLB0_FI);
 	while (mfspr(SPR_MMUCSR0) != 0)
 		;
 #endif