CVS commit: src/sys/arch/arm/arm
Module Name:src Committed By: matt Date: Tue Dec 18 06:31:58 UTC 2012 Modified Files: src/sys/arch/arm/arm: disassem.c Log Message: Start adding support for disassembling some NEON instructions. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arm/arm/disassem.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/arm/disassem.c diff -u src/sys/arch/arm/arm/disassem.c:1.19 src/sys/arch/arm/arm/disassem.c:1.20 --- src/sys/arch/arm/arm/disassem.c:1.19 Thu Feb 16 02:34:56 2012 +++ src/sys/arch/arm/arm/disassem.c Tue Dec 18 06:31:58 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: disassem.c,v 1.19 2012/02/16 02:34:56 christos Exp $ */ +/* $NetBSD: disassem.c,v 1.20 2012/12/18 06:31:58 matt Exp $ */ /* * Copyright (c) 1996 Mark Brinicombe. @@ -49,7 +49,7 @@ #include -__KERNEL_RCSID(0, "$NetBSD: disassem.c,v 1.19 2012/02/16 02:34:56 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: disassem.c,v 1.20 2012/12/18 06:31:58 matt Exp $"); #include #include @@ -71,36 +71,42 @@ __KERNEL_RCSID(0, "$NetBSD: disassem.c,v * * * 2 - print Operand 2 of a data processing instruction - * d - destination register (bits 12-15) - * n - n register (bits 16-19) - * s - s register (bits 8-11) - * o - indirect register rn (bits 16-19) (used by swap) - * m - m register (bits 0-3) * a - address operand of ldr/str instruction - * l - register list for ldm/stm instruction + * b - branch address + * c - comment field bits(0-23) + * d - destination register (bits 12-15) * f - 1st fp operand (register) (bits 12-14) * g - 2nd fp operand (register) (bits 16-18) * h - 3rd fp operand (register/immediate) (bits 0-4) - * b - branch address - * t - thumb branch address (bits 24, 0-23) * k - breakpoint comment (bits 0-3, 8-19) - * X - block transfer type - * Y - block transfer type (r13 base) - * c - comment field bits(0-23) + * l - register list for ldm/stm instruction + * m - m register (bits 0-3) + * n - n register (bits 16-19) + * o - indirect register rn (bits 16-19) (used by swap) * p - saved or current status register - * F - PSR transfer fields + * q - neon N register (7, 19-16) + * s - s register (bits 8-11) + * t - thumb branch address (bits 24, 0-23) + * u - neon M register (5, 3-0) + * v - co-processor data transfer registers + addressing mode + * w - neon D register (22, 15-12) + * x - instruction in hex + * y - co-processor data processing registers + * z - co-processor register transfer registers * D - destination-is-r15 (P) flag on TST, TEQ, CMP, CMN + * F - PSR transfer fields + * I - NEON operand size * L - co-processor transfer size - * S - set status flag + * N - quad neon operand * P - fp precision * Q - fp precision (for ldf/stf) * R - fp rounding - * v - co-processor data transfer registers + addressing mode + * S - set status flag + * U - neon unsigned. * W - writeback flag - * x - instruction in hex + * X - block transfer type + * Y - block transfer type (r13 base) * # - co-processor number - * y - co-processor data processing registers - * z - co-processor register transfer registers */ struct arm32_insn { @@ -222,6 +228,21 @@ static const struct arm32_insn arm32_i[] { 0x0e100090, 0x0c10, "ldc", "L#v" }, { 0xfe100090, 0xfc00, "stc2", "L#v" }, { 0x0e100090, 0x0c00, "stc", "L#v" }, +{ 0xffb00f10, 0xf2000110, "vand", "Nuqw" }, +{ 0xffb00f10, 0xf2100110, "vbic", "Nuqw" }, +{ 0xffb00f10, 0xf2200110, "vorr", "Nuqw" }, +{ 0xffb00f10, 0xf2300110, "vorn", "Nuqw" }, +{ 0xffb00f10, 0xf3000110, "veor", "Nuqw" }, +{ 0xffb00f10, 0xf3100110, "vbsl", "Nuqw" }, +{ 0xffb00f10, 0xf3200110, "vbit", "Nuqw" }, +{ 0xffb00f10, 0xf3300110, "vbif", "Nuqw" }, +{ 0xfe800f10, 0xf3000400, "vshl", "SINuqw" }, +{ 0xfe800f10, 0xf3000410, "vqshl", "SINuqw" }, +{ 0xfe800f10, 0xf3000500, "vrshl", "SINuqw" }, +{ 0xfe800f10, 0xf3000510, "vqrshl", "SINuqw" }, +{ 0xffb00f10, 0xf2000800, "vadd", "INuqw" }, +{ 0xffb00f10, 0xf2000810, "vtst", "INuqw" }, +{ 0xffb00f10, 0xf3000800, "vsub", "INuqw" }, { 0x, 0x, NULL, NULL } }; @@ -298,6 +319,8 @@ disasm(const disasm_interface_t *di, vad fmt = 0; matchp = 0; insn = di->di_readword(loc); + char neonfmt = 'd'; + char neonsign = 'u'; /* di->di_printf("loc=%08x insn=%08x : ", loc, insn);*/ @@ -347,6 +370,11 @@ disasm(const disasm_interface_t *di, vad case 'd': di->di_printf("r%d", ((insn >> 12) & 0x0f)); break; + /* u - neon destination register (bits 22, 12-15) */ + case 'u': + di->di_printf("%c%d", neonfmt, + ((insn >> 18) & 0x10)|((insn >> 12) & 0x0f)); + break; /* D - insert 'p' if Rd is R15 */ case 'D': if (((insn >> 12) & 0x0f) == 15) @@ -356,6 +384,11 @@ disasm(const disasm_interface_t *di, vad case 'n': di->di_printf("r%d", ((insn >> 16) & 0x0f)); break; + /* q -
CVS commit: src/sys/arch/arm/arm32
Module Name:src Committed By: matt Date: Tue Dec 18 06:30:19 UTC 2012 Modified Files: src/sys/arch/arm/arm32: vm_machdep.c Log Message: Remove unneeded definitions. When forking a LWP, disable the VFP in the new LWP since it isn't the LWP that owns the VFP. To generate a diff of this commit: cvs rdiff -u -r1.63 -r1.64 src/sys/arch/arm/arm32/vm_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/arm32/vm_machdep.c diff -u src/sys/arch/arm/arm32/vm_machdep.c:1.63 src/sys/arch/arm/arm32/vm_machdep.c:1.64 --- src/sys/arch/arm/arm32/vm_machdep.c:1.63 Mon Dec 10 01:37:31 2012 +++ src/sys/arch/arm/arm32/vm_machdep.c Tue Dec 18 06:30:18 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: vm_machdep.c,v 1.63 2012/12/10 01:37:31 matt Exp $ */ +/* $NetBSD: vm_machdep.c,v 1.64 2012/12/18 06:30:18 matt Exp $ */ /* * Copyright (c) 1994-1998 Mark Brinicombe. @@ -44,7 +44,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.63 2012/12/10 01:37:31 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.64 2012/12/18 06:30:18 matt Exp $"); #include "opt_armfpe.h" #include "opt_pmap_debug.h" @@ -64,16 +64,13 @@ __KERNEL_RCSID(0, "$NetBSD: vm_machdep.c #include +#include + #include #include #include #include -extern pv_addr_t systempage; - -int process_read_regs(struct proc *p, struct reg *regs); -int process_read_fpregs(struct proc *p, struct fpreg *regs); - void lwp_trampoline(void); /* @@ -114,30 +111,29 @@ void cpu_lwp_fork(struct lwp *l1, struct lwp *l2, void *stack, size_t stacksize, void (*func)(void *), void *arg) { - struct pcb *pcb1, *pcb2; struct switchframe *sf; vaddr_t uv; - pcb1 = lwp_getpcb(l1); - pcb2 = lwp_getpcb(l2); + const struct pcb * const pcb1 = lwp_getpcb(l1); + struct pcb * const pcb2 = lwp_getpcb(l2); #ifdef PMAP_DEBUG if (pmap_debug_level >= 0) printf("cpu_lwp_fork: %p %p %p %p\n", l1, l2, curlwp, &lwp0); #endif /* PMAP_DEBUG */ -#if 0 /* XXX */ - if (l1 == curlwp) { - /* Sync the PCB before we copy it. */ - savectx(curpcb); - } -#endif - - l2->l_md.md_flags = l1->l_md.md_flags & MDLWP_VFPUSED; - /* Copy the pcb */ *pcb2 = *pcb1; +#ifdef FPU_VFP + /* + * Disable the VFP for a newly created LWP but remember if the + * VFP state is valid. + */ + pcb2->pcb_vfp.vfp_fpexc &= ~VFP_FPEXC_EN; + l2->l_md.md_flags = l1->l_md.md_flags & MDLWP_VFPUSED; +#endif + /* * Set up the kernel stack for the process. * Note: this stack is not in use if we are forking from p1
CVS commit: src/common/lib/libc/arch/arm/gen
Module Name:src Committed By: matt Date: Tue Dec 18 06:14:23 UTC 2012 Modified Files: src/common/lib/libc/arch/arm/gen: neon_mask.S Log Message: Don't need to include assym.h Add a missing comma. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/arch/arm/gen/neon_mask.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/common/lib/libc/arch/arm/gen/neon_mask.S diff -u src/common/lib/libc/arch/arm/gen/neon_mask.S:1.1 src/common/lib/libc/arch/arm/gen/neon_mask.S:1.2 --- src/common/lib/libc/arch/arm/gen/neon_mask.S:1.1 Mon Dec 17 00:46:14 2012 +++ src/common/lib/libc/arch/arm/gen/neon_mask.S Tue Dec 18 06:14:23 2012 @@ -28,11 +28,10 @@ */ #include -#include "assym.h" #ifdef _ARM_ARCH_7 -RCSID("$NetBSD: neon_mask.S,v 1.1 2012/12/17 00:46:14 matt Exp $") +RCSID("$NetBSD: neon_mask.S,v 1.2 2012/12/18 06:14:23 matt Exp $") /* * __neon_loading_qword_bitmask(size_t len); @@ -45,7 +44,7 @@ ENTRY(__neon_leading_qword_bitmask) sublt r0, r0, #64 /* 1st dword needs MSBs cleared */ subge r1, r0, #128 /* 2nd dword needs MSBs cleared */ #else - rsblt r0, r0 #64 /* 1st dword needs LSBs cleared */ + rsblt r0, r0, #64 /* 1st dword needs LSBs cleared */ rsbge r1, r0, #128 /* 2nd dword needs LSBs cleared */ #endif movge r0, #0 /* 1st dword needs to left alone */
CVS commit: src/sys/arch/arm/cortex
Module Name:src Committed By: matt Date: Tue Dec 18 06:05:56 UTC 2012 Modified Files: src/sys/arch/arm/cortex: cpu_in_cksum_asm_neon.S Log Message: Tighten up cpu_in_cksum_neon_v4hdr by 3 instructions. Swap the doubles on a partial qword load on BE platforms. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/cortex/cpu_in_cksum_asm_neon.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/arm/cortex/cpu_in_cksum_asm_neon.S diff -u src/sys/arch/arm/cortex/cpu_in_cksum_asm_neon.S:1.1 src/sys/arch/arm/cortex/cpu_in_cksum_asm_neon.S:1.2 --- src/sys/arch/arm/cortex/cpu_in_cksum_asm_neon.S:1.1 Mon Dec 17 00:44:03 2012 +++ src/sys/arch/arm/cortex/cpu_in_cksum_asm_neon.S Tue Dec 18 06:05:56 2012 @@ -28,9 +28,8 @@ */ #include -#include "assym.h" -RCSID("$NetBSD: cpu_in_cksum_asm_neon.S,v 1.1 2012/12/17 00:44:03 matt Exp $") +RCSID("$NetBSD: cpu_in_cksum_asm_neon.S,v 1.2 2012/12/18 06:05:56 matt Exp $") /* * uint32_t @@ -102,6 +101,9 @@ END(cpu_in_cksum_neon) partial_qword: str lr, [sp, #-8]! /* save LR */ vld1.64 {d4-d5}, [ip:128]! /* fetch data */ +#ifdef __ARMEB__ + vswp d5, d4 /* on BE, MSW should be in d5 */ +#endif veor q0, q0, q0 /* create a null mask */ movs r0, r1, lsl #3 /* any leading bytes? */ blne _C_LABEL(__neon_leading_qword_bitmask) @@ -123,16 +125,13 @@ partial_qword: * uint32_t cpu_in_cksum_neon_v4hdr(void *dptr) */ ENTRY(cpu_in_cksum_neon_v4hdr) - veor q1, q1, q1 bic ip, r0, #7 vld1.32 {d0-d2},[ip] /* it must be in 24 bytes */ - mov r1, #0 /* now we must clear one register */ tst r0, #4 /* depending on 64-bit alignment */ beq 1f vmov s0, s5 /* move last U32 to first U32 */ 1: vmovl.u32 q1, d2 /* move s5 to d3 and clear s5 */ - vmovl.u16 q2, d0 /* 4 U16 -> 4 U32 */ - vadd.u32 q3, q3, q2 /* add 4 U32 to accumulator */ + vmovl.u16 q3, d0 /* 4 U16 -> 4 U32 */ vmovl.u16 q2, d1 /* 4 U16 -> 4 U32 */ vadd.u32 q3, q3, q2 /* add 4 U32 to accumulator */ vmovl.u16 q2, d2 /* 4 U16 -> 4 U32 */
CVS commit: src/lib/libc/gen
Module Name:src Committed By: christos Date: Tue Dec 18 01:39:56 UTC 2012 Modified Files: src/lib/libc/gen: glob.c Log Message: Do as the man page says, and for GLOB_NOCHECK return the original pattern, not a modified version with the backslash characters removed. To generate a diff of this commit: cvs rdiff -u -r1.31 -r1.32 src/lib/libc/gen/glob.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/glob.c diff -u src/lib/libc/gen/glob.c:1.31 src/lib/libc/gen/glob.c:1.32 --- src/lib/libc/gen/glob.c:1.31 Sun Oct 30 17:53:43 2011 +++ src/lib/libc/gen/glob.c Mon Dec 17 20:39:56 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: glob.c,v 1.31 2011/10/30 21:53:43 christos Exp $ */ +/* $NetBSD: glob.c,v 1.32 2012/12/18 01:39:56 christos Exp $ */ /* * Copyright (c) 1989, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)glob.c 8.3 (Berkeley) 10/13/93"; #else -__RCSID("$NetBSD: glob.c,v 1.31 2011/10/30 21:53:43 christos Exp $"); +__RCSID("$NetBSD: glob.c,v 1.32 2012/12/18 01:39:56 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -163,7 +163,7 @@ static int g_lstat(Char *, __gl_stat_t static DIR *g_opendir(Char *, glob_t *); static Char *g_strchr(const Char *, int); static int g_stat(Char *, __gl_stat_t *, glob_t *); -static int glob0(const Char *, glob_t *, struct glob_limit *); +static int glob0(const char *, const Char *, glob_t *, struct glob_limit *); static int glob1(Char *, glob_t *, struct glob_limit *); static int glob2(Char *, Char *, Char *, const Char *, glob_t *, struct glob_limit *); @@ -171,8 +171,8 @@ static int glob3(Char *, Char *, Char * const Char *, glob_t *, struct glob_limit *); static int globextend(const Char *, glob_t *, struct glob_limit *); static const Char *globtilde(const Char *, Char *, size_t, glob_t *); -static int globexp1(const Char *, glob_t *, struct glob_limit *); -static int globexp2(const Char *, const Char *, glob_t *, int *, +static int globexp1(const char *, const Char *, glob_t *, struct glob_limit *); +static int globexp2(const char *, const Char *, const Char *, glob_t *, int *, struct glob_limit *); static int match(const Char *, const Char *, const Char *); #ifdef DEBUG @@ -222,9 +222,9 @@ glob(const char * __restrict pattern, in *bufnext = EOS; if (flags & GLOB_BRACE) - return globexp1(patbuf, pglob, &limit); + return globexp1(pattern, patbuf, pglob, &limit); else - return glob0(patbuf, pglob, &limit); + return glob0(pattern, patbuf, pglob, &limit); } /* @@ -233,7 +233,7 @@ glob(const char * __restrict pattern, in * characters */ static int -globexp1(const Char *pattern, glob_t *pglob, struct glob_limit *limit) +globexp1(const char *orig, const Char *pattern, glob_t *pglob, struct glob_limit *limit) { const Char* ptr = pattern; int rv; @@ -249,13 +249,13 @@ globexp1(const Char *pattern, glob_t *pg /* Protect a single {}, for find(1), like csh */ if (pattern[0] == LBRACE && pattern[1] == RBRACE && pattern[2] == EOS) - return glob0(pattern, pglob, limit); + return glob0(orig, pattern, pglob, limit); while ((ptr = (const Char *) g_strchr(ptr, LBRACE)) != NULL) - if (!globexp2(ptr, pattern, pglob, &rv, limit)) + if (!globexp2(orig, ptr, pattern, pglob, &rv, limit)) return rv; - return glob0(pattern, pglob, limit); + return glob0(orig, pattern, pglob, limit); } @@ -265,7 +265,7 @@ globexp1(const Char *pattern, glob_t *pg * If it fails then it tries to glob the rest of the pattern and returns. */ static int -globexp2(const Char *ptr, const Char *pattern, glob_t *pglob, int *rv, +globexp2(const char *orig, const Char *ptr, const Char *pattern, glob_t *pglob, int *rv, struct glob_limit *limit) { int i; @@ -311,7 +311,7 @@ globexp2(const Char *ptr, const Char *pa * we use `pattern', not `patbuf' here so that that * unbalanced braces are passed to the match */ - *rv = glob0(pattern, pglob, limit); + *rv = glob0(orig, pattern, pglob, limit); return 0; } @@ -358,7 +358,7 @@ globexp2(const Char *ptr, const Char *pa #ifdef DEBUG qprintf("globexp2", patbuf); #endif -*rv = globexp1(patbuf, pglob, limit); +*rv = globexp1(orig, patbuf, pglob, limit); /* move after the comma, to the next string */ pl = pm + 1; @@ -471,7 +471,7 @@ globtilde(const Char *pattern, Char *pat * to find no matches. */ static int -glob0(const Char *pattern, glob_t *pglob, struct glob_limit *limit) +glob0(const char *orig, const Char *pattern, glob_t *pglob, struct glob_limit *limit) { const Char *qpatnext; int c, error; @@ -556,7 +556,17 @@ glob0(const Char *pattern, glob_t *pglob if ((pglob->gl_flags & GLOB_NOCHECK) || ((pglob->gl_flags & (GLOB_NOMAGIC|GLOB_MAGCHAR)) == GLOB_NOMAGIC)) { - return globextend(pattern, pglob, limit); + const u_char *patnext; + Char *bufen
CVS commit: src/tests/lib/libc/gen
Module Name:src Committed By: christos Date: Tue Dec 18 01:37:29 UTC 2012 Modified Files: src/tests/lib/libc/gen: t_glob.c Log Message: - make our stat function return ENOENT if a file is not found. - add a GLOB_NOMATCH check To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/gen/t_glob.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/gen/t_glob.c diff -u src/tests/lib/libc/gen/t_glob.c:1.1 src/tests/lib/libc/gen/t_glob.c:1.2 --- src/tests/lib/libc/gen/t_glob.c:1.1 Thu Jul 7 11:53:27 2011 +++ src/tests/lib/libc/gen/t_glob.c Mon Dec 17 20:37:28 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: t_glob.c,v 1.1 2011/07/07 15:53:27 jruoho Exp $ */ +/* $NetBSD: t_glob.c,v 1.2 2012/12/18 01:37:28 christos Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. * All rights reserved. @@ -32,7 +32,7 @@ */ #include -__RCSID("$NetBSD: t_glob.c,v 1.1 2011/07/07 15:53:27 jruoho Exp $"); +__RCSID("$NetBSD: t_glob.c,v 1.2 2012/12/18 01:37:28 christos Exp $"); #include @@ -144,10 +144,33 @@ gl_stat(const char *name , __gl_stat_t * char buf[MAXPATHLEN]; trim(buf, sizeof(buf), name); memset(st, 0, sizeof(*st)); - if (strcmp(buf, "a") == 0 || strcmp(buf, "a/b") == 0) + + if (strcmp(buf, "a") == 0 || strcmp(buf, "a/b") == 0) { st->st_mode |= _S_IFDIR; + return 0; + } + + if (buf[0] == 'a' && buf[1] == '/') { + struct gl_file *f; + size_t offs, count; + + if (buf[2] == 'b' && buf[3] == '/') { + offs = 4; + count = __arraycount(b); + f = b; + } else { + offs = 2; + count = __arraycount(a); + f = a; + } + + for (size_t i = 0; i < count; i++) + if (strcmp(f[i].name, buf + offs) == 0) +return 0; + } DPRINTF(("stat %s %d\n", buf, st->st_mode)); - return 0; + errno = ENOENT; + return -1; } static int @@ -215,10 +238,29 @@ ATF_TC_BODY(glob_star_not, tc) run("a/**", 0, glob_star_not, __arraycount(glob_star_not)); } +ATF_TC(glob_nocheck); +ATF_TC_HEAD(glob_nocheck, tc) +{ + atf_tc_set_md_var(tc, "descr", + "Test glob(3) pattern with backslash and GLOB_NOCHECK"); +} + + +ATF_TC_BODY(glob_nocheck, tc) +{ + static const char pattern[] = { 'f', 'o', 'o', '\\', ';', 'b', 'a', + 'r', '\0' }; + static const char *glob_nocheck[] = { + pattern + }; + run(pattern, GLOB_NOCHECK, glob_nocheck, __arraycount(glob_nocheck)); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, glob_star); ATF_TP_ADD_TC(tp, glob_star_not); + ATF_TP_ADD_TC(tp, glob_nocheck); return atf_no_error(); }
CVS commit: src/doc
Module Name:src Committed By: mbalmer Date: Mon Dec 17 20:41:36 UTC 2012 Modified Files: src/doc: CHANGES Log Message: Mention ibmcd(4). To generate a diff of this commit: cvs rdiff -u -r1.1768 -r1.1769 src/doc/CHANGES Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/CHANGES diff -u src/doc/CHANGES:1.1768 src/doc/CHANGES:1.1769 --- src/doc/CHANGES:1.1768 Sun Dec 16 13:11:02 2012 +++ src/doc/CHANGES Mon Dec 17 20:41:36 2012 @@ -1,4 +1,4 @@ -# LIST OF CHANGES FROM LAST RELEASE: <$Revision: 1.1768 $> +# LIST OF CHANGES FROM LAST RELEASE: <$Revision: 1.1769 $> # # # [Note: This file does not mention every change made to the NetBSD source tree. @@ -154,6 +154,8 @@ Changes from NetBSD 6.0 to NetBSD 7.0: arm: enable direct-mapped poolpage support. [matt 20121211] arm: enable VFP-based pmap page zero/copy ops. [matt 20121211] openssh: Import 6.1. [christos 20121212] - ptcd(4): Add driver for the Protech PS3100 cash drawer port. + ptcd(4): Add a driver for the Protech PS3100 cash drawer port. [mbalmer 20121216] + ibmcd(4): Add a driver for the IBM 4810 BSP cash drawer port. + [nbalmer 20121217]
CVS commit: src/share/man/man4
Module Name:src Committed By: mbalmer Date: Mon Dec 17 20:39:23 UTC 2012 Modified Files: src/share/man/man4: ptcd.4 Log Message: Mention ibmcd(4). To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/share/man/man4/ptcd.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/ptcd.4 diff -u src/share/man/man4/ptcd.4:1.2 src/share/man/man4/ptcd.4:1.3 --- src/share/man/man4/ptcd.4:1.2 Sun Dec 16 13:49:48 2012 +++ src/share/man/man4/ptcd.4 Mon Dec 17 20:39:23 2012 @@ -1,4 +1,4 @@ -.\" $NetBSD: ptcd.4,v 1.2 2012/12/16 13:49:48 wiz Exp $ +.\" $NetBSD: ptcd.4,v 1.3 2012/12/17 20:39:23 mbalmer Exp $ .\" .\" Copyright (c) 2012 Marc Balmer .\" All rights reserved. @@ -23,7 +23,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd December 16, 2012 +.Dd December 17, 2012 .Dt PTCD 4 .Os .Sh NAME @@ -47,6 +47,7 @@ is open. To open the cash drawer, set pin 0 to logical 1 for a short period of time (e.g. < 1 sec) and then reset the pin to logical 0. .Sh SEE ALSO +.Xr ibmcd 4 , .Xr gpio 4 , .Xr gpioctl 8 .Sh HISTORY
CVS commit: src
Module Name:src Committed By: mbalmer Date: Mon Dec 17 20:38:01 UTC 2012 Modified Files: src/distrib/sets/lists/man: mi src/share/man/man4: Makefile src/sys/arch/i386/conf: ALL GENERIC src/sys/dev/pci: files.pci Added Files: src/share/man/man4: ibmcd.4 src/sys/dev/pci: ibmcd.c Log Message: Adding ibmcd(4), a device driver for the IBM 4810 BSP cash drawer port as found e.g. in SurePOS 300 series point of sale terminals. The driver provides a gpio(4) device with three pins: pin 0 to open drawer, pin 1 to read the status and pin 2 to read whether a cash drawer is connected or not. To generate a diff of this commit: cvs rdiff -u -r1.1412 -r1.1413 src/distrib/sets/lists/man/mi cvs rdiff -u -r1.593 -r1.594 src/share/man/man4/Makefile cvs rdiff -u -r0 -r1.1 src/share/man/man4/ibmcd.4 cvs rdiff -u -r1.348 -r1.349 src/sys/arch/i386/conf/ALL cvs rdiff -u -r1.1084 -r1.1085 src/sys/arch/i386/conf/GENERIC cvs rdiff -u -r1.360 -r1.361 src/sys/dev/pci/files.pci cvs rdiff -u -r0 -r1.1 src/sys/dev/pci/ibmcd.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/man/mi diff -u src/distrib/sets/lists/man/mi:1.1412 src/distrib/sets/lists/man/mi:1.1413 --- src/distrib/sets/lists/man/mi:1.1412 Sun Dec 16 20:33:43 2012 +++ src/distrib/sets/lists/man/mi Mon Dec 17 20:38:00 2012 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1412 2012/12/16 20:33:43 christos Exp $ +# $NetBSD: mi,v 1.1413 2012/12/17 20:38:00 mbalmer Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -1180,6 +1180,7 @@ ./usr/share/man/cat4/i4btrc.0 man-obsolete obsolete ./usr/share/man/cat4/i915drm.0 man-sys-catman .cat ./usr/share/man/cat4/iavc.0 man-sys-catman .cat +./usr/share/man/cat4/ibmcd.0 man-sys-catman .cat ./usr/share/man/cat4/ibmhawk.0 man-sys-catman .cat ./usr/share/man/cat4/ichlpcib.0 man-obsolete obsolete ./usr/share/man/cat4/ichsmb.0 man-sys-catman .cat @@ -4074,6 +4075,7 @@ ./usr/share/man/html4/i386/viac7temp.html man-sys-htmlman html ./usr/share/man/html4/i915drm.html man-sys-htmlman html ./usr/share/man/html4/iavc.html man-sys-htmlman html +./usr/share/man/html4/ibmcd.html man-sys-htmlman html ./usr/share/man/html4/ibmhawk.html man-sys-htmlman html ./usr/share/man/html4/ichlpcib.html man-obsolete obsolete ./usr/share/man/html4/ichsmb.html man-sys-htmlman html @@ -6798,6 +6800,7 @@ ./usr/share/man/man4/i4btrc.4 man-obsolete obsolete ./usr/share/man/man4/i915drm.4 man-sys-man .man ./usr/share/man/man4/iavc.4 man-sys-man .man +./usr/share/man/man4/ibmcd.4 man-sys-man .man ./usr/share/man/man4/ibmhawk.4 man-sys-man .man ./usr/share/man/man4/ichlpcib.4 man-obsolete obsolete ./usr/share/man/man4/ichsmb.4 man-sys-man .man Index: src/share/man/man4/Makefile diff -u src/share/man/man4/Makefile:1.593 src/share/man/man4/Makefile:1.594 --- src/share/man/man4/Makefile:1.593 Sun Dec 16 13:09:18 2012 +++ src/share/man/man4/Makefile Mon Dec 17 20:37:59 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.593 2012/12/16 13:09:18 mbalmer Exp $ +# $NetBSD: Makefile,v 1.594 2012/12/17 20:37:59 mbalmer Exp $ # @(#)Makefile 8.1 (Berkeley) 6/18/93 MAN= aac.4 ac97.4 acardide.4 aceride.4 acphy.4 \ @@ -29,7 +29,7 @@ MAN= aac.4 ac97.4 acardide.4 aceride.4 a glxtphy.4 gpib.4 gpio.4 gpiolock.4 gpiopwm.4 gpiosim.4 gre.4 \ gphyter.4 gsip.4 \ hdaudio.4 hifn.4 hme.4 hpacel.4 hpqlb.4 hptide.4 \ - ibmhawk.4 ichsmb.4 icmp.4 icp.4 icsphy.4 iee.4 ieee80211.4 \ + ibmcd.4 ibmhawk.4 ichsmb.4 icmp.4 icp.4 icsphy.4 iee.4 ieee80211.4 \ ifmedia.4 igphy.4 igsfb.4 iha.4 ihphy.4 iic.4 inet.4 ikphy.4 inphy.4 \ intersil7170.4 \ ioasic.4 ioat.4 iop.4 iophy.4 iopsp.4 ip.4 ipkdb.4 ipmi.4 ipw.4 \ Index: src/sys/arch/i386/conf/ALL diff -u src/sys/arch/i386/conf/ALL:1.348 src/sys/arch/i386/conf/ALL:1.349 --- src/sys/arch/i386/conf/ALL:1.348 Sun Dec 16 18:52:17 2012 +++ src/sys/arch/i386/conf/ALL Mon Dec 17 20:38:00 2012 @@ -1,4 +1,4 @@ -# $NetBSD: ALL,v 1.348 2012/12/16 18:52:17 mbalmer Exp $ +# $NetBSD: ALL,v 1.349 2012/12/17 20:38:00 mbalmer Exp $ # From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp # # ALL machine description file @@ -17,7 +17,7 @@ include "arch/i386/conf/std.i386" options INCLUDE_CONFIG_FILE # embed config file in kernel binary -#ident "ALL-$Revision: 1.348 $" +#ident "ALL-$Revision: 1.349 $" maxusers 64 # estimated number of users @@ -521,6 +521,10 @@ isa0 at pcib? ptcd0 at isa? gpio* at ptcd? +# IBM 4810 BSP cash drawer port +ibmcd* at pci? dev ? function ? +gpio* at ibmcd? + # PCMCIA bus support pcmcia* at pcic? controller ? socket ? pcmcia* at tcic? controller ? socket ? Index: src/sys/arch/i386/conf/GENERIC diff -u src/sys/arch/i386/conf/GENERIC:1.1084 src/sys/arch/i386/conf/GENERIC:1.1085 --- src/sys/arch/i386/conf/GENERIC:1.1084 Mon Dec 10 02:03:45 2012 +
CVS commit: [netbsd-6-0] src
Module Name:src Committed By: riz Date: Mon Dec 17 18:49:09 UTC 2012 Modified Files: src/doc [netbsd-6-0]: CHANGES-6.0.1 LAST_MINUTE README.files src/sys/sys [netbsd-6-0]: param.h Log Message: Welcome to 6.0.1! To generate a diff of this commit: cvs rdiff -u -r1.1.2.37 -r1.1.2.38 src/doc/CHANGES-6.0.1 cvs rdiff -u -r1.2.40.1 -r1.2.40.1.4.1 src/doc/LAST_MINUTE cvs rdiff -u -r1.4.20.1 -r1.4.20.1.2.1 src/doc/README.files cvs rdiff -u -r1.408.2.6.2.1 -r1.408.2.6.2.2 src/sys/sys/param.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/CHANGES-6.0.1 diff -u src/doc/CHANGES-6.0.1:1.1.2.37 src/doc/CHANGES-6.0.1:1.1.2.38 --- src/doc/CHANGES-6.0.1:1.1.2.37 Mon Dec 17 00:33:00 2012 +++ src/doc/CHANGES-6.0.1 Mon Dec 17 18:49:08 2012 @@ -1,4 +1,4 @@ -# $NetBSD: CHANGES-6.0.1,v 1.1.2.37 2012/12/17 00:33:00 riz Exp $ +# $NetBSD: CHANGES-6.0.1,v 1.1.2.38 2012/12/17 18:49:08 riz Exp $ A complete list of changes from the NetBSD 6.0 release to the NetBSD 6.0.1 release: @@ -292,3 +292,11 @@ sys/compat/netbsd32/netbsd32_fs.c 1.64 Fix inverted error check. [matt, ticket #756] +distrib/notes/common/main patched by hand +doc/LAST_MINUTE patched by hand +doc/README.filespatched by hand +sys/sys/param.h patched by hand + + Welcome to 6.0.1! + [riz] + Index: src/doc/LAST_MINUTE diff -u src/doc/LAST_MINUTE:1.2.40.1 src/doc/LAST_MINUTE:1.2.40.1.4.1 --- src/doc/LAST_MINUTE:1.2.40.1 Wed Feb 15 23:46:47 2012 +++ src/doc/LAST_MINUTE Mon Dec 17 18:49:09 2012 @@ -1,6 +1,6 @@ -# $NetBSD: LAST_MINUTE,v 1.2.40.1 2012/02/15 23:46:47 riz Exp $ +# $NetBSD: LAST_MINUTE,v 1.2.40.1.4.1 2012/12/17 18:49:09 riz Exp $ -This file contains important information on the NetBSD 6.0 release that +This file contains important information on the NetBSD 6.0.1 release that did not make it into the main documentation. [all] Index: src/doc/README.files diff -u src/doc/README.files:1.4.20.1 src/doc/README.files:1.4.20.1.2.1 --- src/doc/README.files:1.4.20.1 Fri Sep 7 22:13:38 2012 +++ src/doc/README.files Mon Dec 17 18:49:09 2012 @@ -1,8 +1,13 @@ -# $NetBSD: README.files,v 1.4.20.1 2012/09/07 22:13:38 bouyer Exp $ +# $NetBSD: README.files,v 1.4.20.1.2.1 2012/12/17 18:49:09 riz Exp $ What's in this directory: -CHANGES Changes between the XXX.XXX-1 and XXX.XXX releases. +CHANGES-6.0.1 Changes between the 6.0 and 6.0.1 releases. + +CHANGES-6.0 Changes between the creation of the netbsd-6 branch and + the 6.0 release. + +CHANGES Changes between the 5.0 and 6.0 releases. CHANGES.prev Changes in previous NetBSD releases. Index: src/sys/sys/param.h diff -u src/sys/sys/param.h:1.408.2.6.2.1 src/sys/sys/param.h:1.408.2.6.2.2 --- src/sys/sys/param.h:1.408.2.6.2.1 Wed Oct 17 22:44:46 2012 +++ src/sys/sys/param.h Mon Dec 17 18:49:08 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: param.h,v 1.408.2.6.2.1 2012/10/17 22:44:46 riz Exp $ */ +/* $NetBSD: param.h,v 1.408.2.6.2.2 2012/12/17 18:49:08 riz Exp $ */ /*- * Copyright (c) 1982, 1986, 1989, 1993 @@ -63,7 +63,7 @@ * 2.99.9 (299000900) */ -#define __NetBSD_Version__ 6 /* NetBSD 6.0.0_PATCH */ +#define __NetBSD_Version__ 60001 /* NetBSD 6.0.1 */ #define __NetBSD_Prereq__(M,m,p) (M) * 1) + \ (m) * 100) + (p) * 100) <= __NetBSD_Version__)
CVS commit: src/etc/rc.d
Module Name:src Committed By: apb Date: Mon Dec 17 18:20:50 UTC 2012 Modified Files: src/etc/rc.d: random_seed Log Message: Reinstate the dirname invocations that were recently removed from rc.d/random_seed. The new dirname shell function provided by rc.subr will be used, so it should work before the /usr file system is mounted. This should fix a problem in which the fs_safe shell function failed when passed the name of a file that did not exist. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/etc/rc.d/random_seed Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/etc/rc.d/random_seed diff -u src/etc/rc.d/random_seed:1.4 src/etc/rc.d/random_seed:1.5 --- src/etc/rc.d/random_seed:1.4 Fri Dec 14 18:42:25 2012 +++ src/etc/rc.d/random_seed Mon Dec 17 18:20:50 2012 @@ -1,6 +1,6 @@ #!/bin/sh # -# $NetBSD: random_seed,v 1.4 2012/12/14 18:42:25 apb Exp $ +# $NetBSD: random_seed,v 1.5 2012/12/17 18:20:50 apb Exp $ # # PROVIDE: random_seed @@ -59,7 +59,7 @@ random_load() { if [ -f $random_file ]; then - if ! fs_safe "${random_file}"; then + if ! fs_safe "$(dirname "${random_file}")"; then return 1 fi @@ -90,7 +90,7 @@ random_save() rm -Pf "${random_file}" - if ! fs_safe "${random_file}"; then + if ! fs_safe "$(dirname "${random_file}")"; then return 1 fi
CVS commit: src
Module Name:src Committed By: apb Date: Mon Dec 17 18:17:27 UTC 2012 Modified Files: src/etc: rc.subr src/share/man/man8: rc.subr.8 Log Message: Add shell implementations of basename and dirname to rc.subr. They are supposed to mimic basename(1) and dirname(1), except that they are usable before /usr/bin is mounted. To generate a diff of this commit: cvs rdiff -u -r1.91 -r1.92 src/etc/rc.subr cvs rdiff -u -r1.29 -r1.30 src/share/man/man8/rc.subr.8 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/etc/rc.subr diff -u src/etc/rc.subr:1.91 src/etc/rc.subr:1.92 --- src/etc/rc.subr:1.91 Sat Apr 7 17:28:44 2012 +++ src/etc/rc.subr Mon Dec 17 18:17:27 2012 @@ -1,4 +1,4 @@ -# $NetBSD: rc.subr,v 1.91 2012/04/07 17:28:44 christos Exp $ +# $NetBSD: rc.subr,v 1.92 2012/12/17 18:17:27 apb Exp $ # # Copyright (c) 1997-2011 The NetBSD Foundation, Inc. # All rights reserved. @@ -1256,6 +1256,34 @@ collapse_backslash_newline() done } +# Shell implementations of basename and dirname, usable before +# the /usr file system is mounted. +# +basename() +{ + local file="$1" + local suffix="$2" + local base + + base="${file##*/}" # remove up to and including last '/' + base="${base%${suffix}}" # remove suffix, if any + command printf "%s\n" "${base}" +} + +dirname() +{ + local file="$1" + local dir + + case "$file" in + /*/*) dir="${file%/*}" ;; # common case: absolute path + /*) dir="/" ;; # special case: name in root dir + */*) dir="${file%/*}" ;; # common case: relative path with '/' + *) dir="." ;; # special case: name without '/' + esac + command printf "%s\n" "${dir}" +} + # Override the normal "echo" and "printf" commands, so that # partial lines printed by rc.d scripts appear immediately, # instead of being buffered by rc(8)'s post-processor. Index: src/share/man/man8/rc.subr.8 diff -u src/share/man/man8/rc.subr.8:1.29 src/share/man/man8/rc.subr.8:1.30 --- src/share/man/man8/rc.subr.8:1.29 Thu Aug 11 22:52:46 2011 +++ src/share/man/man8/rc.subr.8 Mon Dec 17 18:17:27 2012 @@ -1,4 +1,4 @@ -.\" $NetBSD: rc.subr.8,v 1.29 2011/08/11 22:52:46 apb Exp $ +.\" $NetBSD: rc.subr.8,v 1.30 2012/12/17 18:17:27 apb Exp $ .\" .\" Copyright (c) 2002-2011 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -40,6 +40,8 @@ .It .Ic backup_file Ar action Ar file Ar current Ar backup .It +.Ic basename Ar file Op Ar suffix +.It .Ic checkyesno Ar var .It .Ic check_pidfile Ar pidfile Ar procname Op Ar interpreter @@ -48,6 +50,8 @@ .It .Ic collapse_backslash_newline .It +.Ic dirname Ar file +.It .Ic err Ar exitval Ar message .It .Ic load_rc_config Ar command @@ -157,6 +161,12 @@ otherwise is moved to .Ar backup . .El +.Ic basename Ar file Op Ar suffix +Just like +.Xr basename 1 , +except implemented using shell built-in commands, and usable before the +.Pa /usr/bin +direcory is available. .It Ic checkyesno Ar var Return 0 if .Ar var @@ -214,6 +224,12 @@ is handled as per Copy input to output, collapsing .Ao backslash Ac Ns Ao newline Ac to nothing, but leaving other backslashes alone. +.Ic dirname Ar file +Just like +.Xr dirname 1 , +except implemented using shell built-in commands, and usable before the +.Pa /usr/bin +direcory is available. .It Ic err Ar exitval Ar message Display an error message to .Em stderr ,
CVS commit: [netbsd-6-0] src/distrib/notes/common
Module Name:src Committed By: riz Date: Mon Dec 17 17:52:07 UTC 2012 Modified Files: src/distrib/notes/common [netbsd-6-0]: main Log Message: Update release notes for 6.0.1. To generate a diff of this commit: cvs rdiff -u -r1.484.2.4 -r1.484.2.4.2.1 src/distrib/notes/common/main Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/notes/common/main diff -u src/distrib/notes/common/main:1.484.2.4 src/distrib/notes/common/main:1.484.2.4.2.1 --- src/distrib/notes/common/main:1.484.2.4 Fri Oct 12 22:06:59 2012 +++ src/distrib/notes/common/main Mon Dec 17 17:52:06 2012 @@ -1,4 +1,4 @@ -.\" $NetBSD: main,v 1.484.2.4 2012/10/12 22:06:59 riz Exp $ +.\" $NetBSD: main,v 1.484.2.4.2.1 2012/12/17 17:52:06 riz Exp $ .\" .\" Copyright (c) 1999-2012 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -458,429 +458,51 @@ possible, it's likely that wouldn't exist. . .if \n[FOR_RELEASE] \{\ -.Ss Changes Between The NetBSD 5.0 and 6.0 Releases +.Ss Changes Between The NetBSD 6.0 and 6.0.1 Releases .Pp -The -.Nx -\*V release -provides numerous significant functional enhancements, including -support for many new devices, integration of hundreds of bug fixes, -new and updated kernel subsystems, and many user-land enhancements. -The result of these improvements is a stable operating system fit for -production use that rivals most commercially available systems. -.Pp -It is impossible to completely summarize the massive development that -went into the -.Nx -\*V release. The complete list of changes can be found in the -CHANGES: -.Lk http://ftp.NetBSD.org/pub/NetBSD/NetBSD-6.0/CHANGES -and -CHANGES-6.0: -.Lk http://ftp.NetBSD.org/pub/NetBSD/NetBSD-6.0/CHANGES-6.0 -files in the top level directory of the NetBSD 6.0 release tree. -.Pp -Some highlights include: -.Ss2 General kernel +CHANGES-6.0.1: +.Lk http://ftp.NetBSD.org/pub/NetBSD/NetBSD-6.0.1/CHANGES-6.0.1 +file in the top level directory of the NetBSD 6.0.1 release tree. An abbreviated list is as follows: +.Ss2 Security Fixes .(bullet -.Dv "time_t" -and -.Dv "dev_t" -are now 64 bits. -.It -Much-improved compat_linux support for running Linux binaries. -.It -Added a generic producer/consumer queue. -.It -Added a new ptree ( Patricia / RADIX tree ) implementation. -.It -Removed -.Dv "MALLOC()" -and -.Dv "FREE()" -macros. -.It -Compute -.Dv "kern.ipc.shmmaxpages" -on startup based on physical memory. Can be overridden via -.Xr sysctl 8 . -.It -.Xr kmem_alloc 9 : -Add more extensive runtime debugging facilities. -.It -File descriptor access performance improvements were made. -.It -.Xr cpu_reboot 9 : -tear down stacks of devices and file systems in an orderly fashion during shutdown. -.It -Added 'show vmem' and 'show all vmems' commands to -.Xr ddb 4 . -.It -Added high-priority -.Xr xcall 9 -support. -.It -Added direct select()/poll() support. -.It -Add PCU (Per-CPU Unit) interface to unify synchronization of per CPU context, like lazy FPU management. -.It -Added new system calls -.Xr pipe2 2 , -.Xr paccept 2 , -.Xr kqueue1 2 , -flags SOCK_CLOEXEC/SOCK_NONBLOCK to -.Xr socket 2 , -.Xr socketpair 2 , -F_DUPFD_CLOEXEC to -.Xr fcntl 2 , -and a MSG_CMSG_CLOEXEC to -.Xr recvfrom 2 -to be able to set close-on-exec to all newly created file descriptors. -.It -Major improvements to -.Xr uvm_map 9 , -.Xr uvm_km 9 , -.Xr vmem 9 , -and -.Xr kmem 9 -layers. -.It -Removed -.Xr ltsleep 9 -and wakeup_one(9). -.It -Rewrote most of the entropy-gathering and entropy-distributing code, separating the -.Xr rnd 4 -pseudodevice from the bitstream generation code -.Xr cprng 9 -and entropy-pool code -.Xr rnd 9 . +expat: Fix CVE-2012-1147, CVE-2012-1148 and CVE-2012-0876. .It -.Xr kmem_alloc 9 : -add more extensive runtime debugging facilities. -.It -Kernel support for -.Xr posix_spawn 3 . +BIND: Address CVE-2012-5688: Named could die on specific queries with dns64 enabled. .bullet) . -.Ss2 Networking +.Ss2 General kernel .(bullet -.Xr ip 4 : -added IP_RECVTTL option to let -.Xr recvmsg 2 -return the TTL of the received datagram. -.It -.Xr ip 4 : -added IP_MINTTL option to discard packets with a TTL lower than the option value. +posix_spawn(): Fix processes with attributes. .It -Added SOCK_SEQPACKET for local sockets. +Resolve races between vget() and vrele() resulting in vget() returning dead vnodes. .It -Added -.Dv "net.inet.icmp.bmcastecho" -.Xr sysctl 7 , -to disable ICMP replies to the braodcast address. +Prevent crash when unsupported fd's are used with kevent. .It -Make TCP window size autoscaling the default. -.It -Derive the mbuf cluster (NMBCLUSTERS) at boot time from the available memory. The default can be raised by changing -.Dv "kern.mbuf.nmbclusters" -. -.It -Added NPF, the NetBSD Packet Filter. -.It -.Xr udp 4 : -implement RFC6056 port selection algorithms. .bullet) . -.Ss2 File systems +.Ss2 Networking .(bullet -Added CHFS, a file system for fla
CVS commit: src/sys/dev/isa
Module Name:src Committed By: mbalmer Date: Mon Dec 17 17:46:27 UTC 2012 Modified Files: src/sys/dev/isa: ptcd.c Log Message: No need to include machine/pio.h now that inb() and outb() are no longer used. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/dev/isa/ptcd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/isa/ptcd.c diff -u src/sys/dev/isa/ptcd.c:1.2 src/sys/dev/isa/ptcd.c:1.3 --- src/sys/dev/isa/ptcd.c:1.2 Mon Dec 17 17:44:18 2012 +++ src/sys/dev/isa/ptcd.c Mon Dec 17 17:46:27 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: ptcd.c,v 1.2 2012/12/17 17:44:18 mbalmer Exp $ */ +/* $NetBSD: ptcd.c,v 1.3 2012/12/17 17:46:27 mbalmer Exp $ */ /* * Copyright (c) 2012 Marc Balmer @@ -36,8 +36,6 @@ #include #include -#include - #include #include
CVS commit: src/sys/arch/arm/arm32
Module Name:src Committed By: matt Date: Mon Dec 17 17:45:01 UTC 2012 Modified Files: src/sys/arch/arm/arm32: cpuswitch.S Log Message: Make sure to load the FPEXC context on context switch (if there a VFP) so that the VFP state will be what the LWP expects. (This isn't needed on PPC or MIPS since their FPU/VEC state is reflected in the PSL/CPO_STATUS which is handled automatically.) To generate a diff of this commit: cvs rdiff -u -r1.75 -r1.76 src/sys/arch/arm/arm32/cpuswitch.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/arm/arm32/cpuswitch.S diff -u src/sys/arch/arm/arm32/cpuswitch.S:1.75 src/sys/arch/arm/arm32/cpuswitch.S:1.76 --- src/sys/arch/arm/arm32/cpuswitch.S:1.75 Mon Dec 10 01:37:30 2012 +++ src/sys/arch/arm/arm32/cpuswitch.S Mon Dec 17 17:45:01 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: cpuswitch.S,v 1.75 2012/12/10 01:37:30 matt Exp $ */ +/* $NetBSD: cpuswitch.S,v 1.76 2012/12/17 17:45:01 matt Exp $ */ /* * Copyright 2003 Wasabi Systems, Inc. @@ -89,7 +89,7 @@ #include #include - RCSID("$NetBSD: cpuswitch.S,v 1.75 2012/12/10 01:37:30 matt Exp $") + RCSID("$NetBSD: cpuswitch.S,v 1.76 2012/12/17 17:45:01 matt Exp $") /* LINTSTUB: include */ @@ -141,26 +141,26 @@ ENTRY(cpu_switchto) mov r4, r0 #ifdef TPIDRPRW_IS_CURCPU - GET_CURCPU(r7) + GET_CURCPU(r3) #elif defined(TPIDRPRW_IS_CURLWP) mcr p15, 0, r0, c13, c0, 4 /* get old lwp (r4 maybe 0) */ - ldr r7, [r0, #(L_CPU)] /* get cpu from old lwp */ + ldr r3, [r0, #(L_CPU)] /* get cpu from old lwp */ #elif !defined(MULTIPROCESSOR) - ldr r7, [r6, #L_CPU] /* get cpu from new lwp */ + ldr r3, [r6, #L_CPU] /* get cpu from new lwp */ #else #error curcpu() method not defined #endif + /* rem: r3 = curcpu() */ /* rem: r4 = old lwp */ /* rem: r6 = new lwp */ - /* rem: r7 = curcpu() */ #ifndef __HAVE_UNNESTED_INTRS IRQdisable #endif #ifdef MULTIPROCESSOR - str r7, [r6, #(L_CPU)] + str r3, [r6, #(L_CPU)] #else /* l->l_cpu initialized in fork1() for single-processor */ #endif @@ -169,7 +169,7 @@ ENTRY(cpu_switchto) mcr p15, 0, r6, c13, c0, 4 /* set current lwp */ #endif /* We have a new curlwp now so make a note it */ - str r6, [r7, #(CI_CURLWP)] + str r6, [r3, #(CI_CURLWP)] /* Get the new pcb */ ldr r7, [r6, #(L_PCB)] @@ -179,6 +179,7 @@ ENTRY(cpu_switchto) IRQenable #endif + /* rem: r3 = curlwp */ /* rem: r4 = old lwp */ /* rem: r6 = new lwp */ /* rem: r7 = new pcb */ @@ -193,6 +194,7 @@ ENTRY(cpu_switchto) teq r4, #0 beq .Ldo_switch + /* rem: r3 = curlwp */ /* rem: r4 = old lwp */ /* rem: r6 = new lwp */ /* rem: r7 = new pcb */ @@ -204,7 +206,7 @@ ENTRY(cpu_switchto) ldr r5, [r4, #(L_PCB)] /* Save all the registers in the old lwp's pcb */ -#if defined(__XSCALE__) || defined(_ARM_ARCH_6) +#if defined(_ARM_ARCH_DWORD_OK) strd r8, [r5, #(PCB_R8)] strd r10, [r5, #(PCB_R10)] strd r12, [r5, #(PCB_R12)] @@ -225,6 +227,7 @@ ENTRY(cpu_switchto) * them for the new process. */ + /* rem: r3 = curlwp */ /* rem: r4 = old lwp */ /* rem: r5 = old pcb */ /* rem: r6 = new lwp */ @@ -234,6 +237,7 @@ ENTRY(cpu_switchto) /* Restore saved context */ .Ldo_switch: + /* rem: r3 = curlwp */ /* rem: r4 = old lwp */ /* rem: r6 = new lwp */ /* rem: r7 = new pcb */ @@ -249,6 +253,16 @@ ENTRY(cpu_switchto) mcr p15, 0, r0, c13, c0, 3 #endif +#ifdef FPU_VFP + /* + * If we have a VFP, we need to load FPEXC. + */ + ldr r0, [r3, #(CI_VFP_ID)] + cmp r0, #0 + ldrne r0, [r7, #(PCB_VFP_FPEXC)] + mcrne p10, 7, r0, c8, c0, 0 +#endif + ldr r5, [r6, #(L_PROC)] /* fetch the proc for below */ /* Restore all the saved registers */ @@ -258,18 +272,18 @@ ENTRY(cpu_switchto) ldr r10, [r7, #(PCB_R10)] ldr r11, [r7, #(PCB_R11)] ldr r12, [r7, #(PCB_R12)] - ldr r13, [r7, #(PCB_KSP)] -#elif defined(_ARM_ARCH_6) + ldr r13, [r7, #(PCB_KSP)] /* sp */ +#elif defined(_ARM_ARCH_DWORD_OK) ldrd r8, [r7, #(PCB_R8)] ldrd r10, [r7, #(PCB_R10)] - ldrd r12, [r7, #(PCB_R12)] + ldrd r12, [r7, #(PCB_R12)] /* sp */ #else add r0, r7, #PCB_R8 ldmia r0, {r8-r13} #endif /* Record the old lwp for pmap_activate()'s benefit */ - ldr r1, .Lpmap_previous_active_lwp + ldr r1, .Lpmap_previous_active_lwp /* XXXSMP */ str r4, [r1] /* rem: r4 = old lwp */
CVS commit: src/sys/dev/isa
Module Name:src Committed By: mbalmer Date: Mon Dec 17 17:44:18 UTC 2012 Modified Files: src/sys/dev/isa: ptcd.c Log Message: Fix the CVS Id marker. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/dev/isa/ptcd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/isa/ptcd.c diff -u src/sys/dev/isa/ptcd.c:1.1 src/sys/dev/isa/ptcd.c:1.2 --- src/sys/dev/isa/ptcd.c:1.1 Sun Dec 16 13:09:20 2012 +++ src/sys/dev/isa/ptcd.c Mon Dec 17 17:44:18 2012 @@ -1,4 +1,4 @@ -/* $NetBSD */ +/* $NetBSD: ptcd.c,v 1.2 2012/12/17 17:44:18 mbalmer Exp $ */ /* * Copyright (c) 2012 Marc Balmer
CVS commit: src/sys/arch/arm/arm32
Module Name:src Committed By: matt Date: Mon Dec 17 17:10:48 UTC 2012 Modified Files: src/sys/arch/arm/arm32: genassym.cf Log Message: Add CPU_VFP_ID and PCB_VFP_FPEXC To generate a diff of this commit: cvs rdiff -u -r1.59 -r1.60 src/sys/arch/arm/arm32/genassym.cf 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/arm32/genassym.cf diff -u src/sys/arch/arm/arm32/genassym.cf:1.59 src/sys/arch/arm/arm32/genassym.cf:1.60 --- src/sys/arch/arm/arm32/genassym.cf:1.59 Mon Dec 10 06:50:28 2012 +++ src/sys/arch/arm/arm32/genassym.cf Mon Dec 17 17:10:48 2012 @@ -1,4 +1,4 @@ -# $NetBSD: genassym.cf,v 1.59 2012/12/10 06:50:28 matt Exp $ +# $NetBSD: genassym.cf,v 1.60 2012/12/17 17:10:48 matt Exp $ # Copyright (c) 1982, 1990 The Regents of the University of California. # All rights reserved. @@ -140,6 +140,7 @@ define PCB_LR offsetof(struct pcb, pcb define PCB_PC offsetof(struct pcb, pcb_un.un_32.pcb32_pc) define PCB_USER_PID_RW offsetof(struct pcb, pcb_un.un_32.pcb32_user_pid_rw) define PCB_ONFAULT offsetof(struct pcb, pcb_onfault) +define PCB_VFP_FPEXC offsetof(struct pcb, pcb_vfp.vfp_fpexc) define PCB_SIZE sizeof(struct pcb) @@ -192,6 +193,9 @@ define CI_IDLELWP offsetof(struct cpu_i define CI_CC_NTRAP offsetof(struct cpu_info, ci_data.cpu_ntrap) define CI_CC_NINTR offsetof(struct cpu_info, ci_data.cpu_nintr) define CI_CC_NSOFT offsetof(struct cpu_info, ci_data.cpu_nsoft) +ifdef FPU_VFP +define CI_VFP_ID offsetof(struct cpu_info, ci_vfp_id) +endif define VFP_FPEXC_EN VFP_FPEXC_EN
CVS commit: src/external/public-domain/sqlite/dist
Module Name:src Committed By: christos Date: Mon Dec 17 16:26:38 UTC 2012 Modified Files: src/external/public-domain/sqlite/dist: sqlite3.1 Log Message: now that I know how to escape a period, nothing can stop me :-) To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/external/public-domain/sqlite/dist/sqlite3.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/public-domain/sqlite/dist/sqlite3.1 diff -u src/external/public-domain/sqlite/dist/sqlite3.1:1.3 src/external/public-domain/sqlite/dist/sqlite3.1:1.4 --- src/external/public-domain/sqlite/dist/sqlite3.1:1.3 Sun Dec 16 18:37:34 2012 +++ src/external/public-domain/sqlite/dist/sqlite3.1 Mon Dec 17 11:26:38 2012 @@ -1,4 +1,4 @@ -.\" $NetBSD: sqlite3.1,v 1.3 2012/12/16 23:37:34 wiz Exp $ +.\" $NetBSD: sqlite3.1,v 1.4 2012/12/17 16:26:38 christos Exp $ .Dd December 16, 2012 .Dt SQLITE3 1 .Os @@ -67,7 +67,7 @@ used to control the output format, exami database files, or perform administrative operations upon the attached databases (such as rebuilding indices). Meta-commands are always prefixed with a dot -.Dq \. . +.Dq \&. . .Pp A list of available meta-commands can be viewed at any time by issuing the '.help' command.