CVS commit: src
Module Name:src Committed By: jruoho Date: Thu Mar 29 06:16:57 UTC 2012 Modified Files: src/distrib/sets/lists/tests: mi src/tests/lib/libc/stdlib: Makefile Added Files: src/tests/lib/libc/stdlib: t_abs.c Log Message: Few fundamental consistency checks for the abs(3) family. To generate a diff of this commit: cvs rdiff -u -r1.460 -r1.461 src/distrib/sets/lists/tests/mi cvs rdiff -u -r1.21 -r1.22 src/tests/lib/libc/stdlib/Makefile cvs rdiff -u -r0 -r1.1 src/tests/lib/libc/stdlib/t_abs.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/tests/mi diff -u src/distrib/sets/lists/tests/mi:1.460 src/distrib/sets/lists/tests/mi:1.461 --- src/distrib/sets/lists/tests/mi:1.460 Thu Mar 29 05:42:31 2012 +++ src/distrib/sets/lists/tests/mi Thu Mar 29 06:16:57 2012 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.460 2012/03/29 05:42:31 jruoho Exp $ +# $NetBSD: mi,v 1.461 2012/03/29 06:16:57 jruoho Exp $ # # Note: don't delete entries from here - mark them as obsolete instead. # @@ -486,6 +486,7 @@ ./usr/libdata/debug/usr/tests/lib/libc/stdlib/h_atexit.debug tests-lib-debug debug,atf ./usr/libdata/debug/usr/tests/lib/libc/stdlib/h_getopt.debug tests-lib-debug debug,atf ./usr/libdata/debug/usr/tests/lib/libc/stdlib/h_getopt_long.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_abs.debug tests-lib-debug debug,atf ./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_atoi.debug tests-lib-debug debug,atf ./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_div.debug tests-lib-debug debug,atf ./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_environment.debug tests-obsolete obsolete @@ -2379,6 +2380,7 @@ ./usr/tests/lib/libc/stdlib/h_getopt tests-lib-tests atf ./usr/tests/lib/libc/stdlib/h_getopt_long tests-lib-tests atf ./usr/tests/lib/libc/stdlib/t_atexit tests-lib-tests atf +./usr/tests/lib/libc/stdlib/t_abs tests-lib-tests atf ./usr/tests/lib/libc/stdlib/t_atoi tests-lib-tests atf ./usr/tests/lib/libc/stdlib/t_div tests-lib-tests atf ./usr/tests/lib/libc/stdlib/t_environment tests-obsolete obsolete Index: src/tests/lib/libc/stdlib/Makefile diff -u src/tests/lib/libc/stdlib/Makefile:1.21 src/tests/lib/libc/stdlib/Makefile:1.22 --- src/tests/lib/libc/stdlib/Makefile:1.21 Thu Mar 29 05:42:31 2012 +++ src/tests/lib/libc/stdlib/Makefile Thu Mar 29 06:16:56 2012 @@ -1,9 +1,10 @@ -# $NetBSD: Makefile,v 1.21 2012/03/29 05:42:31 jruoho Exp $ +# $NetBSD: Makefile,v 1.22 2012/03/29 06:16:56 jruoho Exp $ .include bsd.own.mk TESTSDIR= ${TESTSBASE}/lib/libc/stdlib +TESTS_C+= t_abs TESTS_C+= t_atoi TESTS_C+= t_div TESTS_C+= t_getenv Added files: Index: src/tests/lib/libc/stdlib/t_abs.c diff -u /dev/null src/tests/lib/libc/stdlib/t_abs.c:1.1 --- /dev/null Thu Mar 29 06:16:57 2012 +++ src/tests/lib/libc/stdlib/t_abs.c Thu Mar 29 06:16:56 2012 @@ -0,0 +1,136 @@ +/* $NetBSD: t_abs.c,v 1.1 2012/03/29 06:16:56 jruoho Exp $ */ + +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Jukka Ruohonen. + * + * 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 +__RCSID($NetBSD: t_abs.c,v 1.1 2012/03/29 06:16:56 jruoho Exp $); + +#include atf-c.h +#include inttypes.h +#include limits.h +#include stdlib.h + +struct test { + int64_t val; + int64_t res; +}; + +ATF_TC(abs_basic); +ATF_TC_HEAD(abs_basic, tc) +{ + atf_tc_set_md_var(tc, descr, Test that abs(3) works); +} + +ATF_TC_BODY(abs_basic, tc) +{ + static const struct test table[] = { + { 0, 0 }, + {
CVS commit: src/usr.bin/xlint/arch/mips64
Module Name:src Committed By: macallan Date: Thu Mar 29 08:52:31 UTC 2012 Modified Files: src/usr.bin/xlint/arch/mips64: targparam.h Log Message: XXX Don't assume LP64 unless lint itself is built as LP64 On mips64 we default to n32 which produces errors when things like TARG_LONG_MAX don't fit into a long A proper fix would be to teach lint about different target ABIs so it can pick the right parameters, this is just a bandaid to make it slightly less wrong and allow a mips64 build to complete. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/usr.bin/xlint/arch/mips64/targparam.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.bin/xlint/arch/mips64/targparam.h diff -u src/usr.bin/xlint/arch/mips64/targparam.h:1.3 src/usr.bin/xlint/arch/mips64/targparam.h:1.4 --- src/usr.bin/xlint/arch/mips64/targparam.h:1.3 Tue Mar 27 19:24:02 2012 +++ src/usr.bin/xlint/arch/mips64/targparam.h Thu Mar 29 08:52:31 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: targparam.h,v 1.3 2012/03/27 19:24:02 christos Exp $ */ +/* $NetBSD: targparam.h,v 1.4 2012/03/29 08:52:31 macallan Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -35,8 +35,11 @@ * Machine-dependent target parameters for lint1. */ #include schar.h +#ifdef _LP64 #include lp64.h - +#else +#include ilp32.h +#endif /* * Should be set to 1 if the difference of two pointers is of type long * or the value of sizeof is of type unsigned long. Note this MUST be
CVS commit: src/tests/lib/libc/stdlib
Module Name:src Committed By: jruoho Date: Thu Mar 29 08:56:06 UTC 2012 Modified Files: src/tests/lib/libc/stdlib: t_random.c Log Message: Adjust as per apb@'s suggestion. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libc/stdlib/t_random.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/stdlib/t_random.c diff -u src/tests/lib/libc/stdlib/t_random.c:1.2 src/tests/lib/libc/stdlib/t_random.c:1.3 --- src/tests/lib/libc/stdlib/t_random.c:1.2 Wed Mar 28 10:38:00 2012 +++ src/tests/lib/libc/stdlib/t_random.c Thu Mar 29 08:56:06 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: t_random.c,v 1.2 2012/03/28 10:38:00 jruoho Exp $ */ +/* $NetBSD: t_random.c,v 1.3 2012/03/29 08:56:06 jruoho Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. @@ -29,47 +29,54 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include sys/cdefs.h -__RCSID($NetBSD: t_random.c,v 1.2 2012/03/28 10:38:00 jruoho Exp $); +__RCSID($NetBSD: t_random.c,v 1.3 2012/03/29 08:56:06 jruoho Exp $); #include atf-c.h +#include stdio.h #include stdlib.h /* * TODO: Add some general RNG tests (cf. the famous diehard tests?). */ -ATF_TC(random_zero); -ATF_TC_HEAD(random_zero, tc) +ATF_TC(random_same); +ATF_TC_HEAD(random_same, tc) { atf_tc_set_md_var(tc, descr, - Test that random(3) does not always return - zero when the seed is initialized to zero); + Test that random(3) does not always return the same + value when the seed is initialized to zero); } -ATF_TC_BODY(random_zero, tc) +#define MAX_ITER 10 + +ATF_TC_BODY(random_same, tc) { - const size_t n = 100; + long buf[MAX_ITER]; size_t i, j; - long x; /* * See CVE-2012-1577. */ srandom(0); - for (i = j = 0; i n; i++) { + for (i = 0; i __arraycount(buf); i++) { - if ((x = random()) == 0) - j++; - } + buf[i] = random(); + + for (j = 0; j i; j++) { - ATF_REQUIRE(j != n); + (void)fprintf(stderr, i = %zu, j = %zu: + %ld vs. %ld\n, i, j, buf[i], buf[j]); + + ATF_CHECK(buf[i] != buf[j]); + } + } } ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, random_zero); + ATF_TP_ADD_TC(tp, random_same); return atf_no_error(); }
CVS commit: src/sys/arch/hp700/hp700
Module Name:src Committed By: skrll Date: Thu Mar 29 09:26:24 UTC 2012 Modified Files: src/sys/arch/hp700/hp700: intr.c Log Message: Check for HPPA_SID_KERNEL when checking for interrupt in the mutex_enter critical section. To generate a diff of this commit: cvs rdiff -u -r1.37 -r1.38 src/sys/arch/hp700/hp700/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/hp700/hp700/intr.c diff -u src/sys/arch/hp700/hp700/intr.c:1.37 src/sys/arch/hp700/hp700/intr.c:1.38 --- src/sys/arch/hp700/hp700/intr.c:1.37 Thu Mar 1 21:10:00 2012 +++ src/sys/arch/hp700/hp700/intr.c Thu Mar 29 09:26:24 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.c,v 1.37 2012/03/01 21:10:00 skrll Exp $ */ +/* $NetBSD: intr.c,v 1.38 2012/03/29 09:26:24 skrll Exp $ */ /* $OpenBSD: intr.c,v 1.27 2009/12/31 12:52:35 jsing Exp $ */ /* @@ -35,7 +35,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: intr.c,v 1.37 2012/03/01 21:10:00 skrll Exp $); +__KERNEL_RCSID(0, $NetBSD: intr.c,v 1.38 2012/03/29 09:26:24 skrll Exp $); #define __MUTEX_PRIVATE @@ -391,7 +391,8 @@ hppa_intr(struct trapframe *frame) * interrupt handlers need to aquire the mutex, they could deadlock if * the owner value is left unset. */ - if (frame-tf_iioq_head = (u_int)mutex_enter_crit_start + if (frame-tf_iisq_head == HPPA_SID_KERNEL + frame-tf_iioq_head = (u_int)mutex_enter_crit_start frame-tf_iioq_head = (u_int)mutex_enter_crit_end frame-tf_ret0 != 0) ((kmutex_t *)frame-tf_arg0)-mtx_owner = (uintptr_t)curlwp;
CVS commit: src/lib/libc/gen
Module Name:src Committed By: christos Date: Thu Mar 29 13:05:10 UTC 2012 Modified Files: src/lib/libc/gen: getgrent.c getpwent.c Log Message: PR?40728: W. Stukenbrock: Fix various issues with NIS-netgroups in users and groups. To generate a diff of this commit: cvs rdiff -u -r1.65 -r1.66 src/lib/libc/gen/getgrent.c cvs rdiff -u -r1.77 -r1.78 src/lib/libc/gen/getpwent.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/gen/getgrent.c diff -u src/lib/libc/gen/getgrent.c:1.65 src/lib/libc/gen/getgrent.c:1.66 --- src/lib/libc/gen/getgrent.c:1.65 Tue Mar 13 17:13:35 2012 +++ src/lib/libc/gen/getgrent.c Thu Mar 29 09:05:10 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: getgrent.c,v 1.65 2012/03/13 21:13:35 christos Exp $ */ +/* $NetBSD: getgrent.c,v 1.66 2012/03/29 13:05:10 christos Exp $ */ /*- * Copyright (c) 1999-2000, 2004-2005 The NetBSD Foundation, Inc. @@ -88,7 +88,7 @@ #if 0 static char sccsid[] = @(#)getgrent.c 8.2 (Berkeley) 3/21/94; #else -__RCSID($NetBSD: getgrent.c,v 1.65 2012/03/13 21:13:35 christos Exp $); +__RCSID($NetBSD: getgrent.c,v 1.66 2012/03/29 13:05:10 christos Exp $); #endif #endif /* LIBC_SCCS and not lint */ @@ -1190,9 +1190,17 @@ _nis_getgrgid_r(void *nsrv, void *nscb, _DIAGASSERT(result != NULL); *result = NULL; - memset(state, 0, sizeof(state)); - rv = __grscan_nis(retval, grp, buffer, buflen, state, 1, NULL, gid); - __grend_nis(state); +/* remark: we run under a global mutex inside of this module ... */ + if (_nis_state.stayopen) + { /* use global state only if stayopen is set - otherwiese we would blow up getgrent_r() ... */ + rv = __grscan_nis(retval, grp, buffer, buflen, _nis_state, 1, NULL, gid); + } + else + { + memset(state, 0, sizeof(state)); + rv = __grscan_nis(retval, grp, buffer, buflen, state, 1, NULL, gid); + __grend_nis(state); + } if (rv == NS_SUCCESS) *result = grp; return rv; @@ -1242,9 +1250,17 @@ _nis_getgrnam_r(void *nsrv, void *nscb, _DIAGASSERT(result != NULL); *result = NULL; - memset(state, 0, sizeof(state)); - rv = __grscan_nis(retval, grp, buffer, buflen, state, 1, name, 0); - __grend_nis(state); +/* remark: we run under a global mutex inside of this module ... */ + if (_nis_state.stayopen) + { /* use global state only if stayopen is set - otherwiese we would blow up getgrent_r() ... */ + rv = __grscan_nis(retval, grp, buffer, buflen, _nis_state, 1, name, 0); + } + else + { + memset(state, 0, sizeof(state)); + rv = __grscan_nis(retval, grp, buffer, buflen, state, 1, name, 0); + __grend_nis(state); + } if (rv == NS_SUCCESS) *result = grp; return rv; Index: src/lib/libc/gen/getpwent.c diff -u src/lib/libc/gen/getpwent.c:1.77 src/lib/libc/gen/getpwent.c:1.78 --- src/lib/libc/gen/getpwent.c:1.77 Tue Mar 23 16:28:59 2010 +++ src/lib/libc/gen/getpwent.c Thu Mar 29 09:05:10 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: getpwent.c,v 1.77 2010/03/23 20:28:59 drochner Exp $ */ +/* $NetBSD: getpwent.c,v 1.78 2012/03/29 13:05:10 christos Exp $ */ /*- * Copyright (c) 1997-2000, 2004-2005 The NetBSD Foundation, Inc. @@ -88,7 +88,7 @@ #if 0 static char sccsid[] = @(#)getpwent.c 8.2 (Berkeley) 4/27/95; #else -__RCSID($NetBSD: getpwent.c,v 1.77 2010/03/23 20:28:59 drochner Exp $); +__RCSID($NetBSD: getpwent.c,v 1.78 2012/03/29 13:05:10 christos Exp $); #endif #endif /* LIBC_SCCS and not lint */ @@ -1126,7 +1126,7 @@ struct nis_state { char *current; /* current first/next match */ int currentlen; /* length of _nis_current */ enum {/* shadow map type */ - NISMAP_UNKNOWN, /* unknown ... */ + NISMAP_UNKNOWN = 0, /* unknown ... */ NISMAP_NONE, /* none: use passwd.by* */ NISMAP_ADJUNCT, /* pw_passwd from passwd.adjunct.* */ NISMAP_MASTER /* all from master.passwd.by* */ @@ -1138,11 +1138,17 @@ static struct nis_state _nis_state; static struct passwd _nis_passwd; static char _nis_passwdbuf[_GETPW_R_SIZE_MAX]; +static const char __nis_pw_n_1[] = master.passwd.byname; +static const char __nis_pw_n_2[] = passwd.byname; +static const char __nis_pw_u_1[] = master.passwd.byuid; +static const char __nis_pw_u_2[] = passwd.byuid; + +static const char * const __nis_pw_n_map[4] = { __nis_pw_n_2, __nis_pw_n_2, __nis_pw_n_2, __nis_pw_n_1 }; +static const char * const __nis_pw_u_map[4] = { __nis_pw_u_2, __nis_pw_u_2, __nis_pw_u_2, __nis_pw_u_1 }; + /* macros for deciding which NIS maps to use. */ -#define PASSWD_BYNAME(x) ((x)-maptype == NISMAP_MASTER \ -? master.passwd.byname : passwd.byname) -#define PASSWD_BYUID(x) ((x)-maptype == NISMAP_MASTER \ -? master.passwd.byuid : passwd.byuid) +#define PASSWD_BYNAME(x) ((x)-maptype == NISMAP_MASTER ? __nis_pw_n_1 : __nis_pw_n_2) +#define PASSWD_BYUID(x) ((x)-maptype == NISMAP_MASTER ? __nis_pw_u_1 : __nis_pw_u_2) static int _nis_start(struct nis_state *state) @@ -1263,7 +1269,7 @@
CVS commit: src/lib/libc/stdio
Module Name:src Committed By: christos Date: Thu Mar 29 14:27:34 UTC 2012 Modified Files: src/lib/libc/stdio: fmemopen.c Log Message: The flush function makes the tests fail. So undo it for now until we decide if the tests are wrong or the flushing is wrong. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/lib/libc/stdio/fmemopen.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/stdio/fmemopen.c diff -u src/lib/libc/stdio/fmemopen.c:1.7 src/lib/libc/stdio/fmemopen.c:1.8 --- src/lib/libc/stdio/fmemopen.c:1.7 Tue Mar 27 11:05:42 2012 +++ src/lib/libc/stdio/fmemopen.c Thu Mar 29 10:27:33 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: fmemopen.c,v 1.7 2012/03/27 15:05:42 christos Exp $ */ +/* $NetBSD: fmemopen.c,v 1.8 2012/03/29 14:27:33 christos Exp $ */ /*- * Copyright (c)2007, 2010 Takehiko NOZAKI, @@ -29,7 +29,7 @@ #include sys/cdefs.h #if defined(LIBC_SCCS) !defined(lint) -__RCSID($NetBSD: fmemopen.c,v 1.7 2012/03/27 15:05:42 christos Exp $); +__RCSID($NetBSD: fmemopen.c,v 1.8 2012/03/29 14:27:33 christos Exp $); #endif /* LIBC_SCCS and not lint */ #include assert.h @@ -98,6 +98,7 @@ ok: return (ssize_t)(p-cur - s); } +#ifdef notyet static int fmemopen_flush(void *cookie) { @@ -111,6 +112,7 @@ fmemopen_flush(void *cookie) *p-cur = '\0'; return 0; } +#endif static off_t fmemopen_seek(void *cookie, off_t offset, int whence) @@ -221,7 +223,9 @@ fmemopen(void * __restrict buf, size_t s fp-_write = (flags __SRD) ? NULL : fmemopen_write; fp-_read = (flags __SWR) ? NULL : fmemopen_read; fp-_seek = fmemopen_seek; +#ifdef notyet fp-_flush = fmemopen_flush; +#endif fp-_cookie = (void *)cookie; return fp;
CVS commit: src/sys/arch/powerpc/booke/dev
Module Name:src Committed By: matt Date: Thu Mar 29 14:47:09 UTC 2012 Modified Files: src/sys/arch/powerpc/booke/dev: pq3gpio.c Log Message: Fix P2020 GPIO support (which has pins that are input/output instead of just input or output). To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/powerpc/booke/dev/pq3gpio.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/dev/pq3gpio.c diff -u src/sys/arch/powerpc/booke/dev/pq3gpio.c:1.4 src/sys/arch/powerpc/booke/dev/pq3gpio.c:1.5 --- src/sys/arch/powerpc/booke/dev/pq3gpio.c:1.4 Thu Jun 30 04:43:47 2011 +++ src/sys/arch/powerpc/booke/dev/pq3gpio.c Thu Mar 29 14:47:09 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: pq3gpio.c,v 1.4 2011/06/30 04:43:47 matt Exp $ */ +/* $NetBSD: pq3gpio.c,v 1.5 2012/03/29 14:47:09 matt Exp $ */ /*- * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -35,12 +35,13 @@ */ #define GLOBAL_PRIVATE +#define GPIO_PRIVATE #include opt_mpc85xx.h #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: pq3gpio.c,v 1.4 2011/06/30 04:43:47 matt Exp $); +__KERNEL_RCSID(0, $NetBSD: pq3gpio.c,v 1.5 2012/03/29 14:47:09 matt Exp $); #include sys/param.h #include sys/cpu.h @@ -108,6 +109,19 @@ pq3gpio_pin_write(void *v, int num, int static void pq3gpio_pin_ctl(void *v, int num, int ctl) { + struct pq3gpio_group * const gc = v; + const u_int mask = 1 (gc-gc_pins[num].pin_num ^ 31); +uint32_t old, new; + +old = bus_space_read_4(gc-gc_bst, gc-gc_bsh, GPDIR); +new = old; +switch (ctl (GPIO_PIN_INPUT|GPIO_PIN_OUTPUT)) { +case GPIO_PIN_OUTPUT:new |= mask; break; +case GPIO_PIN_INPUT: new = ~mask; break; +default:return; +} +if (old != new) + bus_space_write_4(gc-gc_bst, gc-gc_bsh, GPDIR, new); } static void @@ -291,19 +305,21 @@ pq3gpio_p20x0_attach(device_t self, bus_ bus_space_handle_t bsh, u_int svr) { static const uint32_t gpio2pmuxcr_map[][2] = { - { __BIT(10), PMUXCR_TSEC3_TS|PMUXCR_USB }, - { __BIT(11), PMUXCR_TSEC3_TS|PMUXCR_USB }, - { __BIT(12), PMUXCR_TSEC1_TS }, - { __BIT(13), PMUXCR_TSEC1_TS }, - { __BIT(14), PMUXCR_TSEC2_TS }, - { __BIT(15), PMUXCR_TSEC2_TS }, + { __BIT(8), PMUXCR_SDHC_CD }, + { __BIT(9), PMUXCR_SDHC_WP }, + /* + * These are really two bits but the low bit MBZ so we ignore + * it. + */ + { __BIT(10), PMUXCR_TSEC3_TS }, + { __BIT(11), PMUXCR_TSEC3_TS }, }; - uint32_t pinmask = ~0; /* assume all bits are valid */ - size_t pincnt = 32; + uint32_t pinmask = 0x; /* assume all bits are valid */ + size_t pincnt = 16; const uint32_t pmuxcr = bus_space_read_4(bst, bsh, PMUXCR); for (size_t i = 0; i __arraycount(gpio2pmuxcr_map); i++) { - if (pmuxcr gpio2pmuxcr_map[i][1]) { + if ((pmuxcr gpio2pmuxcr_map[i][1]) == 0) { pinmask = ~gpio2pmuxcr_map[i][0]; pincnt--; } @@ -312,10 +328,10 @@ pq3gpio_p20x0_attach(device_t self, bus_ /* * Create GPIO pin groups */ - aprint_normal_dev(self, %zu input pins, %zu output pins\n, - pincnt, pincnt); - pq3gpio_group_create(self, bst, bsh, GPINDR, pinmask, GPIO_PIN_INPUT); - pq3gpio_group_create(self, bst, bsh, GPOUTDR, pinmask, GPIO_PIN_OUTPUT); + aprint_normal_dev(self, %zu input/output pins\n, + pincnt); + pq3gpio_group_create(self, bst, bsh, GPDAT, pinmask, + GPIO_PIN_INPUT|GPIO_PIN_OUTPUT); } #endif /* P2020 */
CVS commit: src/sys/arch/powerpc/conf
Module Name:src Committed By: matt Date: Thu Mar 29 15:42:16 UTC 2012 Added Files: src/sys/arch/powerpc/conf: kern-mb.ldscript Log Message: Add ldscript which aligns .data to a 1MB boundary. (used for testing) To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/sys/arch/powerpc/conf/kern-mb.ldscript 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/powerpc/conf/kern-mb.ldscript diff -u /dev/null src/sys/arch/powerpc/conf/kern-mb.ldscript:1.1 --- /dev/null Thu Mar 29 15:42:16 2012 +++ src/sys/arch/powerpc/conf/kern-mb.ldscript Thu Mar 29 15:42:15 2012 @@ -0,0 +1,76 @@ +/* $NetBSD: kern-mb.ldscript,v 1.1 2012/03/29 15:42:15 matt Exp $ */ + +/* ldscript for NetBSD/powerpc kernels and LKMs */ +OUTPUT_ARCH(powerpc) +ENTRY(_start) +SEARCH_DIR(/lib); +/* Do we need any of these? + __DYNAMIC = 0;*/ +_DYNAMIC_LINK = 0; +SECTIONS +{ + /* Read-only sections, merged into text segment. Assumes the + kernel Makefile sets the start address via -Ttext. */ + .text : + { +_ftext = . ; +*(.text) +__stub_start = .; +*(.stub) +__stub_end = .; +__stub_pmap_start = .; +*(.stub.pmap) +__stub_pmap_end = .; +*(.gnu.warning) + } =0 + _etext = .; + PROVIDE (etext = .); + .rodata: { *(.rodata) *(.rodata.*) } + .reginfo : { *(.reginfo) } + . = ALIGN(0x10); + .data: + { +_fdata = . ; +*(.data) +CONSTRUCTORS + } + .data1 : { *(.data1) } + . = ALIGN(32); /* COHERENCY UNIT */ + .data.cacheline_aligned : { *(.data.cacheline_aligned) } + . = ALIGN(32); /* COHERENCY UNIT */ + .data.read_mostly : { *(.data.read_mostly) } + . = ALIGN(32); /* COHERENCY UNIT */ + _gp = ALIGN(16) + 0x7ff0; + .lit8 : { *(.lit8) } + .lit4 : { *(.lit4) } + .sdata : { *(.sdata) } + _edata = .; + PROVIDE (edata = .); + __bss_start = .; + _fbss = .; + .sbss : { *(.sbss) *(.scommon) } + .bss : + { + *(.bss) + *(COMMON) + } + _end = . ; + PROVIDE (end = .); + /* These are needed for ELF backends which have not yet been + converted to the new style linker. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + /* DWARF debug sections. + Symbols in the .debug DWARF section are relative to the beginning of the + section so we begin .debug at 0. It's not clear yet what needs to happen + for the others. */ + .debug 0 : { *(.debug) } + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_sfnames 0 : { *(.debug_sfnames) } + .line 0 : { *(.line) } + /* These must appear regardless of . */ + .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) } + .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) } +}
CVS commit: src/sys/arch/powerpc/conf
Module Name:src Committed By: matt Date: Thu Mar 29 15:42:59 UTC 2012 Modified Files: src/sys/arch/powerpc/conf: files.powerpc Log Message: Add PMAP_MINIMALTLB defflag To generate a diff of this commit: cvs rdiff -u -r1.82 -r1.83 src/sys/arch/powerpc/conf/files.powerpc 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/conf/files.powerpc diff -u src/sys/arch/powerpc/conf/files.powerpc:1.82 src/sys/arch/powerpc/conf/files.powerpc:1.83 --- src/sys/arch/powerpc/conf/files.powerpc:1.82 Wed Jun 29 06:02:43 2011 +++ src/sys/arch/powerpc/conf/files.powerpc Thu Mar 29 15:42:59 2012 @@ -1,10 +1,10 @@ -# $NetBSD: files.powerpc,v 1.82 2011/06/29 06:02:43 matt Exp $ +# $NetBSD: files.powerpc,v 1.83 2012/03/29 15:42:59 matt Exp $ defflag opt_altivec.h ALTIVEC K_ALTIVEC PPC_HAVE_SPE defflag opt_openpic.h OPENPIC OPENPIC_SERIAL_MODE OPENPIC_DISTRIBUTE defparam opt_ppcparam.h L2CR_CONFIG L3CR_CONFIG INTSTK CLOCKBASE VERBOSE_INITPPC defflag opt_ppcarch.h PPC_OEA PPC_OEA601 PPC_OEA64 PPC_OEA64_BRIDGE PPC_MPC8XX PPC_IBM4XX PPC_IBM403 PPC_BOOKE -defflag opt_pmap.h PMAPDEBUG PMAPCHECK PMAPCOUNTERS +defflag opt_pmap.h PMAPDEBUG PMAPCHECK PMAPCOUNTERS PMAP_MINIMALTLB defparam opt_pmap.h PTEGCOUNT PMAP_MEMLIMIT file arch/powerpc/powerpc/copystr.c
CVS commit: src/sys/arch/powerpc/include/booke
Module Name:src Committed By: matt Date: Thu Mar 29 15:44:40 UTC 2012 Modified Files: src/sys/arch/powerpc/include/booke: pmap.h Log Message: Add vsize_t to pmap_md_{un,}map_poolpage. Add pmap_kvptefill prototype. Slightly change pmap_bootstrap prototype. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/powerpc/include/booke/pmap.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/powerpc/include/booke/pmap.h diff -u src/sys/arch/powerpc/include/booke/pmap.h:1.8 src/sys/arch/powerpc/include/booke/pmap.h:1.9 --- src/sys/arch/powerpc/include/booke/pmap.h:1.8 Thu Jun 30 00:52:59 2011 +++ src/sys/arch/powerpc/include/booke/pmap.h Thu Mar 29 15:44:40 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.h,v 1.8 2011/06/30 00:52:59 matt Exp $ */ +/* $NetBSD: pmap.h,v 1.9 2012/03/29 15:44:40 matt Exp $ */ /*- * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -44,6 +44,10 @@ #error this file should not be included by loadable kernel modules #endif +#ifdef _KERNEL_OPT +#include opt_pmap.h +#endif + #include sys/cpu.h #include sys/kcore.h #include uvm/uvm_page.h @@ -77,7 +81,8 @@ void pmap_procwr(struct proc *, vaddr_t, #ifdef __PMAP_PRIVATE struct vm_page * pmap_md_alloc_poolpage(int flags); -vaddr_t pmap_md_map_poolpage(paddr_t); +vaddr_t pmap_md_map_poolpage(paddr_t, vsize_t); +void pmap_md_unmap_poolpage(vaddr_t, vsize_t); bool pmap_md_direct_mapped_vaddr_p(vaddr_t); bool pmap_md_io_vaddr_p(vaddr_t); paddr_t pmap_md_direct_mapped_vaddr_to_paddr(vaddr_t); @@ -85,10 +90,14 @@ vaddr_t pmap_md_direct_map_paddr(paddr_t void pmap_md_init(void); bool pmap_md_tlb_check_entry(void *, vaddr_t, tlb_asid_t, pt_entry_t); + +#ifdef PMAP_MINIMALTLB +vaddr_t pmap_kvptefill(vaddr_t, vaddr_t, pt_entry_t); +#endif #endif void pmap_md_page_syncicache(struct vm_page *, __cpuset_t); -void pmap_bootstrap(vaddr_t, vaddr_t, const phys_ram_seg_t *, size_t); +vaddr_t pmap_bootstrap(vaddr_t, vaddr_t, phys_ram_seg_t *, size_t); bool pmap_extract(struct pmap *, vaddr_t, paddr_t *); static inline paddr_t vtophys(vaddr_t);
CVS commit: src/sys/arch/powerpc/include/booke
Module Name:src Committed By: matt Date: Thu Mar 29 15:45:06 UTC 2012 Modified Files: src/sys/arch/powerpc/include/booke: e500var.h Log Message: Add e500_tlb_minimize prototype. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/powerpc/include/booke/e500var.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/powerpc/include/booke/e500var.h diff -u src/sys/arch/powerpc/include/booke/e500var.h:1.4 src/sys/arch/powerpc/include/booke/e500var.h:1.5 --- src/sys/arch/powerpc/include/booke/e500var.h:1.4 Wed Jun 29 06:01:33 2011 +++ src/sys/arch/powerpc/include/booke/e500var.h Thu Mar 29 15:45:06 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: e500var.h,v 1.4 2011/06/29 06:01:33 matt Exp $ */ +/* $NetBSD: e500var.h,v 1.5 2012/03/29 15:45:06 matt Exp $ */ /*- * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -55,6 +55,7 @@ void e500_device_register(device_t, void int e500_clock_intr(void *); void e500_cpu_start(void); void e500_tlb_init(vaddr_t, psize_t); +void e500_tlb_minimize(vaddr_t); bool e500_device_disabled_p(uint32_t); struct e500_truthtab {
CVS commit: src/sys/arch/powerpc/booke
Module Name:src Committed By: matt Date: Thu Mar 29 15:48:20 UTC 2012 Modified Files: src/sys/arch/powerpc/booke: booke_pmap.c e500_tlb.c Log Message: Add support PMAP_MINIMALTLB option. This changes the default use of TLB1 entries to map all of physical memory to using two TLB1 entries, one for mapping text and one for data. The rest of memory is mapped using the page table which is updated as needed. This is used to trap memory corruption issues. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/arch/powerpc/booke/booke_pmap.c cvs rdiff -u -r1.7 -r1.8 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/booke_pmap.c diff -u src/sys/arch/powerpc/booke/booke_pmap.c:1.12 src/sys/arch/powerpc/booke/booke_pmap.c:1.13 --- src/sys/arch/powerpc/booke/booke_pmap.c:1.12 Thu Feb 2 18:59:44 2012 +++ src/sys/arch/powerpc/booke/booke_pmap.c Thu Mar 29 15:48:20 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: booke_pmap.c,v 1.12 2012/02/02 18:59:44 para Exp $ */ +/* $NetBSD: booke_pmap.c,v 1.13 2012/03/29 15:48:20 matt Exp $ */ /*- * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -38,7 +38,7 @@ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: booke_pmap.c,v 1.12 2012/02/02 18:59:44 para Exp $); +__KERNEL_RCSID(0, $NetBSD: booke_pmap.c,v 1.13 2012/03/29 15:48:20 matt Exp $); #include sys/param.h #include sys/kcore.h @@ -59,6 +59,8 @@ __KERNEL_RCSID(0, $NetBSD: booke_pmap.c CTASSERT(sizeof(struct pmap_segtab) == NBPG); +struct pmap_segtab pmap_kernel_segtab; + void pmap_procwr(struct proc *p, vaddr_t va, size_t len) { @@ -120,30 +122,46 @@ pmap_md_direct_mapped_vaddr_to_paddr(vad return (paddr_t) va; } +#ifdef PMAP_MINIMALTLB +static pt_entry_t * +kvtopte(const struct pmap_segtab *stp, vaddr_t va) +{ + pt_entry_t * const ptep = stp-seg_tab[va SEGSHIFT]; + if (ptep == NULL) + return NULL; + return ptep[(va SEGOFSET) PAGE_SHIFT]; +} + +vaddr_t +pmap_kvptefill(vaddr_t sva, vaddr_t eva, pt_entry_t pt_entry) +{ + const struct pmap_segtab * const stp = pmap_kernel()-pm_segtab; + KASSERT(sva == trunc_page(sva)); + pt_entry_t *ptep = kvtopte(stp, sva); + for (; sva eva; sva += NBPG) { + *ptep++ = pt_entry ? (sva | pt_entry) : 0; + } + return sva; +} +#endif + /* * Bootstrap the system enough to run with virtual memory. * firstaddr is the first unused kseg0 address (not page aligned). */ -void +vaddr_t pmap_bootstrap(vaddr_t startkernel, vaddr_t endkernel, - const phys_ram_seg_t *avail, size_t cnt) + phys_ram_seg_t *avail, size_t cnt) { - for (size_t i = 0; i cnt; i++) { - printf( uvm_page_physload(%#lx,%#lx,%#lx,%#lx,%d), - atop(avail[i].start), - atop(avail[i].start + avail[i].size) - 1, - atop(avail[i].start), - atop(avail[i].start + avail[i].size) - 1, - VM_FREELIST_DEFAULT); - uvm_page_physload( - atop(avail[i].start), - atop(avail[i].start + avail[i].size) - 1, - atop(avail[i].start), - atop(avail[i].start + avail[i].size) - 1, - VM_FREELIST_DEFAULT); - } + struct pmap_segtab * const stp = pmap_kernel_segtab; + + /* + * Initialize the kernel segment table. + */ + pmap_kernel()-pm_segtab = stp; + curcpu()-ci_pmap_kern_segtab = stp; - pmap_tlb_info_init(pmap_tlb0_info); /* init the lock */ + KASSERT(endkernel == trunc_page(endkernel)); /* * Compute the number of pages kmem_arena will have. @@ -160,7 +178,7 @@ pmap_bootstrap(vaddr_t startkernel, vadd vsize_t bufsz = buf_memcalc(); buf_setvalimit(bufsz); - vsize_t nsegtabs = pmap_round_seg(VM_PHYS_SIZE + vsize_t kv_nsegtabs = pmap_round_seg(VM_PHYS_SIZE + (ubc_nwins ubc_winshift) + bufsz + 16 * NCARGS @@ -169,7 +187,7 @@ pmap_bootstrap(vaddr_t startkernel, vadd #ifdef SYSVSHM + NBPG * shminfo.shmall #endif - + NBPG * nkmempages); + + NBPG * nkmempages) SEGSHIFT; /* * Initialize `FYI' variables. Note we're relying on @@ -179,68 +197,100 @@ pmap_bootstrap(vaddr_t startkernel, vadd */ pmap_limits.avail_start = vm_physmem[0].start PGSHIFT; pmap_limits.avail_end = vm_physmem[vm_nphysseg - 1].end PGSHIFT; - const vsize_t max_nsegtabs = + const size_t max_nsegtabs = (pmap_round_seg(VM_MAX_KERNEL_ADDRESS) - pmap_trunc_seg(VM_MIN_KERNEL_ADDRESS)) / NBSEG; - if (nsegtabs = max_nsegtabs) { + if (kv_nsegtabs = max_nsegtabs) { pmap_limits.virtual_end = VM_MAX_KERNEL_ADDRESS; - nsegtabs = max_nsegtabs; + kv_nsegtabs = max_nsegtabs; } else { pmap_limits.virtual_end = VM_MIN_KERNEL_ADDRESS - + nsegtabs * NBSEG; + + kv_nsegtabs * NBSEG; } - pmap_pvlist_lock_init(curcpu()-ci_ci.dcache_line_size); - /* * Now actually allocate the kernel PTE array (must be done * after virtual_end is initialized). */ - vaddr_t segtabs = - uvm_pageboot_alloc(NBPG * nsegtabs + sizeof(struct
CVS commit: src/sys/arch/evbppc/mpc85xx
Module Name:src Committed By: matt Date: Thu Mar 29 15:49:08 UTC 2012 Modified Files: src/sys/arch/evbppc/mpc85xx: machdep.c Log Message: Add support for PMAP_MINIMALTLB. To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/arch/evbppc/mpc85xx/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/evbppc/mpc85xx/machdep.c diff -u src/sys/arch/evbppc/mpc85xx/machdep.c:1.22 src/sys/arch/evbppc/mpc85xx/machdep.c:1.23 --- src/sys/arch/evbppc/mpc85xx/machdep.c:1.22 Fri Jan 27 18:52:54 2012 +++ src/sys/arch/evbppc/mpc85xx/machdep.c Thu Mar 29 15:49:08 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.22 2012/01/27 18:52:54 para Exp $ */ +/* $NetBSD: machdep.c,v 1.23 2012/03/29 15:49:08 matt Exp $ */ /*- * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -1126,44 +1126,20 @@ initppc(vaddr_t startkernel, vaddr_t end /* * Initialize the pmap. */ - pmap_bootstrap(startkernel, endkernel, availmemr, nmemr); + endkernel = pmap_bootstrap(startkernel, endkernel, availmemr, nmemr); /* * Let's take all the indirect calls via our stubs and patch * them to be direct calls. */ cpu_fixup_stubs(); -#if 0 + /* * As a debug measure we can change the TLB entry that maps all of * memory to one that encompasses the 64KB with the kernel vectors. * All other pages will be soft faulted into the TLB as needed. */ - const uint32_t saved_mas0 = mfspr(SPR_MAS0); - mtspr(SPR_MAS6, 0); - __asm volatile(tlbsx\t0, %0 :: b(startkernel)); - uint32_t mas0 = mfspr(SPR_MAS0); - uint32_t mas1 = mfspr(SPR_MAS1); - uint32_t mas2 = mfspr(SPR_MAS2); - uint32_t mas3 = mfspr(SPR_MAS3); - KASSERT(mas3 MAS3_SW); - KASSERT(mas3 MAS3_SR); - KASSERT(mas3 MAS3_SX); - mas1 = (mas1 ~MAS1_TSIZE) | MASX_TSIZE_64KB; - pt_entry_t xpn_mask = ~0 (10 + 2 * MASX_TSIZE_GET(mas1)); - mas2 = (mas2 ~(MAS2_EPN)) | (startkernel xpn_mask); - mas3 = (mas3 ~(MAS3_RPN|MAS3_SW)) | (startkernel xpn_mask); - printf( %#lx=%#x,%#x,%#x,%#x, startkernel, mas0, mas1, mas2, mas3); -#if 1 - mtspr(SPR_MAS1, mas1); - mtspr(SPR_MAS2, mas2); - mtspr(SPR_MAS3, mas3); - extern void tlbwe(void); - tlbwe(); - mtspr(SPR_MAS0, saved_mas0); - printf((ok)); -#endif -#endif + e500_tlb_minimize(endkernel); /* * Set some more MD helpers
CVS commit: src/compat
Module Name:src Committed By: wiz Date: Thu Mar 29 18:35:11 UTC 2012 Modified Files: src/compat: README Log Message: Fix typos; wording. From patch by Bug Hunting. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/compat/README Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/compat/README diff -u src/compat/README:1.7 src/compat/README:1.8 --- src/compat/README:1.7 Sun Apr 17 01:29:06 2011 +++ src/compat/README Thu Mar 29 18:35:11 2012 @@ -1,7 +1,7 @@ -$NetBSD: README,v 1.7 2011/04/17 01:29:06 mrg Exp $ +$NetBSD: README,v 1.8 2012/03/29 18:35:11 wiz Exp $ -Building multi- ABI libraries for NetBSD platforms. +Building multi-ABI libraries for NetBSD platforms. src/compat has a framework to (re)build the libraries shipped with @@ -15,11 +15,11 @@ The basic premise is to re-set $MAKEOBJD underneath src/compat and rebuild the libraries with a different set of options. Each platform wanting support should create their port subdirectory directly in src/compat, and then one subdirectory in here -for each ABI required. e.g., src/compat/amd64/i386 is where we build +for each ABI required, e.g., src/compat/amd64/i386 is where we build the 32-bit compat libraries for the amd64 port. In each of these -subdirs, a small Makefile and makefile fragment should exist. The +subdirectories, a small Makefile and makefile fragment should exist. The Makefile should set BSD_MK_COMPAT_FILE to equal the fragment, and then -include ../../compatsubdir.mk Eg, amd64/i386/Makefile has: +include ../../compatsubdir.mk. E.g., amd64/i386/Makefile has: BSD_MK_COMPAT_FILE=${.CURDIR}/bsd.i386.mk @@ -60,7 +60,7 @@ ld.elf_so) to build with this ABI. archdirs.mk holds the list of subdirectories for each port. Makefile.compat has the basic framework to force the right paths for -library and ld.elf_so linkage. It contains a hack to create subdirs +library and ld.elf_so linkage. It contains a hack to create subdirectories in the build that should be fixed. dirshack/Makefile is a hack to get objdirs created timely, and should
CVS commit: src/share/man/man7
Module Name:src Committed By: wiz Date: Thu Mar 29 18:37:22 UTC 2012 Modified Files: src/share/man/man7: hostname.7 Log Message: Replace references to resolver(5) with ones to resolv.conf(5). From patch by Bug Hunting. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/share/man/man7/hostname.7 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/man7/hostname.7 diff -u src/share/man/man7/hostname.7:1.12 src/share/man/man7/hostname.7:1.13 --- src/share/man/man7/hostname.7:1.12 Thu Mar 22 07:58:18 2012 +++ src/share/man/man7/hostname.7 Thu Mar 29 18:37:21 2012 @@ -1,4 +1,4 @@ -.\ $NetBSD: hostname.7,v 1.12 2012/03/22 07:58:18 wiz Exp $ +.\ $NetBSD: hostname.7,v 1.13 2012/03/29 18:37:21 wiz Exp $ .\ .\ Copyright (c) 2004 by Internet Systems Consortium, Inc. (ISC) .\ @@ -156,7 +156,7 @@ and options are present in the resolver configuration file, then only the .Em last one listed is used (see -.Xr resolver 5 ) . +.Xr resolv.conf 5 ) . .Pp If the name was not previously tried .Dq as-is @@ -177,9 +177,9 @@ pairs. .Bl -tag -width /etc/resolv.conf -compact .It Pa /etc/resolv.conf See -.Xr resolver 5 . +.Xr resolv.conf 5 . .El .Sh SEE ALSO .Xr gethostbyname 3 , -.Xr resolver 5 , +.Xr resolv.conf 5 , .Xr mailaddr 7
CVS commit: src/lib/libc/arch/mips/gen
Module Name:src Committed By: christos Date: Thu Mar 29 19:26:21 UTC 2012 Modified Files: src/lib/libc/arch/mips/gen: cacheflush.c Log Message: fix lint, should nbytes be changed to size_t to match with the struct passed? To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/mips/gen/cacheflush.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/mips/gen/cacheflush.c diff -u src/lib/libc/arch/mips/gen/cacheflush.c:1.4 src/lib/libc/arch/mips/gen/cacheflush.c:1.5 --- src/lib/libc/arch/mips/gen/cacheflush.c:1.4 Mon Apr 28 16:22:56 2008 +++ src/lib/libc/arch/mips/gen/cacheflush.c Thu Mar 29 15:26:21 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: cacheflush.c,v 1.4 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: cacheflush.c,v 1.5 2012/03/29 19:26:21 christos Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -34,14 +34,12 @@ #include mips/sysarch.h int -_cacheflush(addr, nbytes, whichcache) - void * addr; - int nbytes, whichcache; +_cacheflush(void *addr, int nbytes, int whichcache) { struct mips_cacheflush_args cfa; - cfa.va = (vaddr_t) addr; + cfa.va = (vaddr_t)(intptr_t)addr; cfa.nbytes = nbytes; cfa.whichcache = whichcache; - return (sysarch(MIPS_CACHEFLUSH, (void *)cfa)); + return sysarch(MIPS_CACHEFLUSH, (void *)cfa); }
CVS commit: src/lib/libc/arch/mips/gen
Module Name:src Committed By: christos Date: Thu Mar 29 19:27:05 UTC 2012 Modified Files: src/lib/libc/arch/mips/gen: longjmp.c Log Message: make constant explicitly unsigned To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/mips/gen/longjmp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/arch/mips/gen/longjmp.c diff -u src/lib/libc/arch/mips/gen/longjmp.c:1.4 src/lib/libc/arch/mips/gen/longjmp.c:1.5 --- src/lib/libc/arch/mips/gen/longjmp.c:1.4 Fri Sep 3 13:22:51 2010 +++ src/lib/libc/arch/mips/gen/longjmp.c Thu Mar 29 15:27:05 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: longjmp.c,v 1.4 2010/09/03 17:22:51 matt Exp $ */ +/* $NetBSD: longjmp.c,v 1.5 2012/03/29 19:27:05 christos Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -49,7 +49,7 @@ __longjmp14(jmp_buf env, int val) ucontext_t uc; /* Ensure non-zero SP and sigcontext magic number is present */ - if (sc-sc_regs[_R_SP] == 0 || sc-sc_regs[_R_ZERO] != (mips_reg_t)0xACEDBADE) + if (sc-sc_regs[_R_SP] == 0 || sc-sc_regs[_R_ZERO] != (mips_reg_t)0xACEDBADEU) goto err; /* Ensure non-zero return value */
CVS commit: src/sys/arch/hppa/hppa
Module Name:src Committed By: skrll Date: Thu Mar 29 20:31:49 UTC 2012 Modified Files: src/sys/arch/hppa/hppa: db_machdep.c Log Message: Use PSW_BITS to decode the bits of the PSW in db_dump_trap To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/hppa/hppa/db_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/hppa/hppa/db_machdep.c diff -u src/sys/arch/hppa/hppa/db_machdep.c:1.5 src/sys/arch/hppa/hppa/db_machdep.c:1.6 --- src/sys/arch/hppa/hppa/db_machdep.c:1.5 Wed Jan 18 09:35:48 2012 +++ src/sys/arch/hppa/hppa/db_machdep.c Thu Mar 29 20:31:49 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: db_machdep.c,v 1.5 2012/01/18 09:35:48 skrll Exp $ */ +/* $NetBSD: db_machdep.c,v 1.6 2012/03/29 20:31:49 skrll Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: db_machdep.c,v 1.5 2012/01/18 09:35:48 skrll Exp $); +__KERNEL_RCSID(0, $NetBSD: db_machdep.c,v 1.6 2012/03/29 20:31:49 skrll Exp $); #include sys/param.h #include sys/lwp.h @@ -130,6 +130,7 @@ db_dump_trap(db_expr_t addr, bool have_a const char *cp = modif; bool lwpaddr = false; char c; + char buf[64]; tf = DDB_REGS; while ((c = *cp++) != 0) { @@ -186,7 +187,9 @@ db_dump_trap(db_expr_t addr, bool have_a db_printf(\n); db_printf(Other state\n); db_printf(eiem: %08x\n, tf-tf_eiem); - db_printf(ipsw: %08x\n, tf-tf_ipsw); + + snprintb(buf, sizeof(buf), PSW_BITS, tf-tf_ipsw); + db_printf(ipsw: %s\n, buf); db_printf(flags: %08x\n, tf-tf_flags); db_printf(sar:%08x\n, tf-tf_sar); db_printf(pidr1: %08x\n, tf-tf_pidr1); /* cr8 */
CVS commit: src/sys/arch/hppa/include
Module Name:src Committed By: skrll Date: Thu Mar 29 21:44:10 UTC 2012 Modified Files: src/sys/arch/hppa/include: psl.h Log Message: Remove unnecessary #include To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/hppa/include/psl.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/hppa/include/psl.h diff -u src/sys/arch/hppa/include/psl.h:1.7 src/sys/arch/hppa/include/psl.h:1.8 --- src/sys/arch/hppa/include/psl.h:1.7 Tue Nov 3 05:07:26 2009 +++ src/sys/arch/hppa/include/psl.h Thu Mar 29 21:44:10 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: psl.h,v 1.7 2009/11/03 05:07:26 snj Exp $ */ +/* $NetBSD: psl.h,v 1.8 2012/03/29 21:44:10 skrll Exp $ */ /* $OpenBSD: psl.h,v 1.6 1999/11/25 18:29:01 mickey Exp $ */ @@ -106,8 +106,4 @@ #define PSW_MBS (PSW_C | PSW_Q | PSW_P | PSW_D | PSW_I) #define PSW_MBZ (PSW_Y | PSW_Z | PSW_S | PSW_X | PSW_M | PSW_R) -#ifdef _KERNEL -#include machine/intr.h -#endif - #endif /* _HPPA_PSL_H_ */
CVS commit: [matt-nb5-mips64] src/sys/arch/mips/rmi
Module Name:src Committed By: matt Date: Fri Mar 30 01:04:48 UTC 2012 Modified Files: src/sys/arch/mips/rmi [matt-nb5-mips64]: rmixl_fmn.c Log Message: Deal with station ids without names (not all XLS have all stations). To generate a diff of this commit: cvs rdiff -u -r1.1.2.11 -r1.1.2.12 src/sys/arch/mips/rmi/rmixl_fmn.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/mips/rmi/rmixl_fmn.c diff -u src/sys/arch/mips/rmi/rmixl_fmn.c:1.1.2.11 src/sys/arch/mips/rmi/rmixl_fmn.c:1.1.2.12 --- src/sys/arch/mips/rmi/rmixl_fmn.c:1.1.2.11 Thu Jan 19 10:29:34 2012 +++ src/sys/arch/mips/rmi/rmixl_fmn.c Fri Mar 30 01:04:47 2012 @@ -790,8 +790,10 @@ rmixl_fmn_cpu_attach(struct cpu_info *ci KASSERT(xname != NULL); for (size_t i = 1; i fmn_info.fmn_nstid; i++) { - evcnt_attach_dynamic(sc-sc_fmn_stid_evcnts[i], - EVCNT_TYPE_MISC, NULL, xname, fmn_stid_ev_names[i]); + if (fmn_stid_ev_names[i][0] != '\0') { + evcnt_attach_dynamic(sc-sc_fmn_stid_evcnts[i], + EVCNT_TYPE_MISC, NULL, xname, fmn_stid_ev_names[i]); + } } for (size_t i = 0; i fmn_info.fmn_nbucket; i++) { @@ -811,9 +813,11 @@ rmixl_fmn_init_thread(void) KASSERT(fmn-fmn_stinfo[0].si_name == NULL); for (size_t i = 1; i fmn_info.fmn_nstid; i++) { - KASSERT(fmn-fmn_stinfo[i].si_name != NULL); - snprintf(fmn_stid_ev_names[i], sizeof(fmn_stid_ev_names[i]), - fmn %s rx msgs, fmn-fmn_stinfo[i].si_name); + if (fmn-fmn_stinfo[i].si_name != NULL) { + snprintf(fmn_stid_ev_names[i], + sizeof(fmn_stid_ev_names[i]), + fmn %s rx msgs, fmn-fmn_stinfo[i].si_name); + } } if (CPU_IS_PRIMARY(ci)) {