CVS commit: src/sbin/disklabel
Module Name:src Committed By: cyber Date: Sun Apr 8 07:59:53 UTC 2012 Modified Files: src/sbin/disklabel: main.c Log Message: PR bin/45744 from Julian Fagir Removing options that have had implementations removed. -b: removed in -r1.4 -s: removed in -r1.2 To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 src/sbin/disklabel/main.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sbin/disklabel/main.c diff -u src/sbin/disklabel/main.c:1.26 src/sbin/disklabel/main.c:1.27 --- src/sbin/disklabel/main.c:1.26 Tue Aug 30 12:39:52 2011 +++ src/sbin/disklabel/main.c Sun Apr 8 07:59:53 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.26 2011/08/30 12:39:52 bouyer Exp $ */ +/* $NetBSD: main.c,v 1.27 2012/04/08 07:59:53 cyber Exp $ */ /* * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -76,7 +76,7 @@ __COPYRIGHT(@(#) Copyright (c) 1987, 19 static char sccsid[] = @(#)disklabel.c 8.4 (Berkeley) 5/4/95; /* from static char sccsid[] = @(#)disklabel.c 1.2 (Symmetric) 11/28/85; */ #else -__RCSID($NetBSD: main.c,v 1.26 2011/08/30 12:39:52 bouyer Exp $); +__RCSID($NetBSD: main.c,v 1.27 2012/04/08 07:59:53 cyber Exp $); #endif #endif /* not lint */ @@ -285,7 +285,7 @@ main(int argc, char *argv[]) #endif error = 0; - while ((ch = getopt(argc, argv, ACDFINRWb:ef:ilmrs:tvw)) != -1) { + while ((ch = getopt(argc, argv, ACDFINRWef:ilmrtvw)) != -1) { old_op = op; switch (ch) { case 'A': /* Action all labels */
CVS commit: src/tests/lib/libm
Module Name:src Committed By: jruoho Date: Sun Apr 8 09:36:04 UTC 2012 Modified Files: src/tests/lib/libm: t_log.c Log Message: Remove one xfail that does not seem to fail (on alpha). To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/tests/lib/libm/t_log.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/libm/t_log.c diff -u src/tests/lib/libm/t_log.c:1.7 src/tests/lib/libm/t_log.c:1.8 --- src/tests/lib/libm/t_log.c:1.7 Fri Apr 6 08:07:32 2012 +++ src/tests/lib/libm/t_log.c Sun Apr 8 09:36:04 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: t_log.c,v 1.7 2012/04/06 08:07:32 jruoho Exp $ */ +/* $NetBSD: t_log.c,v 1.8 2012/04/08 09:36:04 jruoho Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include sys/cdefs.h -__RCSID($NetBSD: t_log.c,v 1.7 2012/04/06 08:07:32 jruoho Exp $); +__RCSID($NetBSD: t_log.c,v 1.8 2012/04/08 09:36:04 jruoho Exp $); #include atf-c.h #include atf-c/config.h @@ -409,9 +409,6 @@ ATF_TC_BODY(log1pf_inf_pos, tc) #ifndef __vax__ const float x = 1.0L / 0.0L; - if (strcmp(atf_config_get(atf_arch), alpha) == 0) - atf_tc_expect_fail(PR port-alpha/46301); - ATF_CHECK(log1pf(x) == x); #endif }
CVS commit: src/tests/lib/libc/gen
Module Name:src Committed By: jruoho Date: Sun Apr 8 09:58:59 UTC 2012 Modified Files: src/tests/lib/libc/gen: t_fnmatch.c Log Message: Append few basic test cases. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libc/gen/t_fnmatch.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_fnmatch.c diff -u src/tests/lib/libc/gen/t_fnmatch.c:1.2 src/tests/lib/libc/gen/t_fnmatch.c:1.3 --- src/tests/lib/libc/gen/t_fnmatch.c:1.2 Sun Mar 25 16:31:51 2012 +++ src/tests/lib/libc/gen/t_fnmatch.c Sun Apr 8 09:58:59 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: t_fnmatch.c,v 1.2 2012/03/25 16:31:51 christos Exp $ */ +/* $NetBSD: t_fnmatch.c,v 1.3 2012/04/08 09:58:59 jruoho Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. @@ -29,16 +29,12 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include sys/cdefs.h -__RCSID($NetBSD: t_fnmatch.c,v 1.2 2012/03/25 16:31:51 christos Exp $); +__RCSID($NetBSD: t_fnmatch.c,v 1.3 2012/04/08 09:58:59 jruoho Exp $); #include atf-c.h #include fnmatch.h #include stdio.h -/* - * TODO: Test basic functionality of fnmatch(3) too. - */ - ATF_TC(fnmatch_backslashes); ATF_TC_HEAD(fnmatch_backslashes, tc) { @@ -54,10 +50,118 @@ ATF_TC_BODY(fnmatch_backslashes, tc) atf_tc_fail(fnmatch(3) did not translate '\\'); } +ATF_TC(fnmatch_casefold); +ATF_TC_HEAD(fnmatch_casefold, tc) +{ + atf_tc_set_md_var(tc, descr, Test FNM_CASEFOLD); +} + +ATF_TC_BODY(fnmatch_casefold, tc) +{ + ATF_CHECK(fnmatch(xxx, XXX, 0) != 0); + ATF_CHECK(fnmatch(XXX, xxx, 0) != 0); + ATF_CHECK(fnmatch(xxx, XxX, 0) != 0); + ATF_CHECK(fnmatch(XxX, xxx, 0) != 0); + ATF_CHECK(fnmatch(x*x, XXX, 0) != 0); + ATF_CHECK(fnmatch(**x, XXX, 0) != 0); + ATF_CHECK(fnmatch(*?x, XXX, 0) != 0); + + ATF_CHECK(fnmatch(xxx, XXX, FNM_CASEFOLD) == 0); + ATF_CHECK(fnmatch(XXX, xxx, FNM_CASEFOLD) == 0); + ATF_CHECK(fnmatch(xxx, XxX, FNM_CASEFOLD) == 0); + ATF_CHECK(fnmatch(XxX, xxx, FNM_CASEFOLD) == 0); + ATF_CHECK(fnmatch(x*x, XXX, FNM_CASEFOLD) == 0); + ATF_CHECK(fnmatch(**x, XXX, FNM_CASEFOLD) == 0); + ATF_CHECK(fnmatch(*?x, XXX, FNM_CASEFOLD) == 0); +} + +ATF_TC(fnmatch_leadingdir); +ATF_TC_HEAD(fnmatch_leadingdir, tc) +{ + atf_tc_set_md_var(tc, descr, Test FNM_LEADING_DIR); +} + +ATF_TC_BODY(fnmatch_leadingdir, tc) +{ + ATF_CHECK(fnmatch(, /*, 0) != 0); + ATF_CHECK(fnmatch( , /*, 0) != 0); + ATF_CHECK(fnmatch(x, x/*, 0) != 0); + ATF_CHECK(fnmatch(///, *, 0) != 0); + + ATF_CHECK(fnmatch(, /*, FNM_LEADING_DIR) == 0); + ATF_CHECK(fnmatch( , /*, FNM_LEADING_DIR) == 0); + ATF_CHECK(fnmatch(x, x/*, FNM_LEADING_DIR) == 0); + ATF_CHECK(fnmatch(///, *, FNM_LEADING_DIR) == 0); +} + +ATF_TC(fnmatch_noescape); +ATF_TC_HEAD(fnmatch_noescape, tc) +{ + atf_tc_set_md_var(tc, descr, Test FNM_NOESCAPE); +} + +ATF_TC_BODY(fnmatch_noescape, tc) +{ + ATF_CHECK(fnmatch( \\x, \\x, 0) != 0); + ATF_CHECK(fnmatch(xx\\x, xx\\x, 0) != 0); + ATF_CHECK(fnmatch(\\xxx, \\xxx, 0) != 0); + + ATF_CHECK(fnmatch( \\x, \\x, FNM_NOESCAPE) == 0); + ATF_CHECK(fnmatch(xx\\x, xx\\x, FNM_NOESCAPE) == 0); + ATF_CHECK(fnmatch(\\xxx, \\xxx, FNM_NOESCAPE) == 0); +} + +ATF_TC(fnmatch_pathname); +ATF_TC_HEAD(fnmatch_pathname, tc) +{ + atf_tc_set_md_var(tc, descr, Test FNM_PATHNAME); +} + +ATF_TC_BODY(fnmatch_pathname, tc) +{ + ATF_CHECK(fnmatch(???x, xxx/x, FNM_PATHNAME) != 0); + ATF_CHECK(fnmatch(***x, xxx/x, FNM_PATHNAME) != 0); + + ATF_CHECK(fnmatch(???x, , FNM_PATHNAME) == 0); + ATF_CHECK(fnmatch(*/xxx, /xxx, FNM_PATHNAME) == 0); + ATF_CHECK(fnmatch(x/*.y, x/z.y, FNM_PATHNAME) == 0); +} + +ATF_TC(fnmatch_period); +ATF_TC_HEAD(fnmatch_period, tc) +{ + atf_tc_set_md_var(tc, descr, Test FNM_PERIOD); +} + +ATF_TC_BODY(fnmatch_period, tc) +{ + ATF_CHECK(fnmatch(*x*, X, FNM_PERIOD) != 0); + ATF_CHECK(fnmatch(*x*, X, FNM_PERIOD | FNM_CASEFOLD) == 0); + + ATF_CHECK(fnmatch(x?y, x.y, FNM_PATHNAME | FNM_PERIOD) == 0); + ATF_CHECK(fnmatch(x*y, x.y, FNM_PATHNAME | FNM_PERIOD) == 0); + ATF_CHECK(fnmatch(*.c, x.c, FNM_PATHNAME | FNM_PERIOD) == 0); + ATF_CHECK(fnmatch(*/?, x/y, FNM_PATHNAME | FNM_PERIOD) == 0); + ATF_CHECK(fnmatch(*/*, x/y, FNM_PATHNAME | FNM_PERIOD) == 0); + ATF_CHECK(fnmatch(.*/?, .x/y, FNM_PATHNAME | FNM_PERIOD) == 0); + ATF_CHECK(fnmatch(*/.?, x/.y, FNM_PATHNAME | FNM_PERIOD) == 0); + ATF_CHECK(fnmatch(x[.]y, x.y, FNM_PATHNAME | FNM_PERIOD) == 0); + + ATF_CHECK(fnmatch(?x/y, .x/y, FNM_PATHNAME | FNM_PERIOD) != 0); + ATF_CHECK(fnmatch(*x/y, .x/y, FNM_PATHNAME | FNM_PERIOD) != 0); + ATF_CHECK(fnmatch(x/?y, x/.y, FNM_PATHNAME | FNM_PERIOD) != 0); + ATF_CHECK(fnmatch(x/*y, x/.y, FNM_PATHNAME | FNM_PERIOD) != 0); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, fnmatch_backslashes); + ATF_TP_ADD_TC(tp, fnmatch_casefold); + ATF_TP_ADD_TC(tp, fnmatch_leadingdir); + ATF_TP_ADD_TC(tp, fnmatch_noescape); + ATF_TP_ADD_TC(tp, fnmatch_pathname); + ATF_TP_ADD_TC(tp, fnmatch_period); return
CVS commit: src/sys/arch/sandpoint/stand/altboot
Module Name:src Committed By: nisimura Date: Sun Apr 8 10:38:34 UTC 2012 Modified Files: src/sys/arch/sandpoint/stand/altboot: brdsetup.c globals.h Log Message: Add an entry for Terastation TGL miconv2 satellite processor which features a more complex protocol than Linkstation/Kurobox. To generate a diff of this commit: cvs rdiff -u -r1.27 -r1.28 src/sys/arch/sandpoint/stand/altboot/brdsetup.c cvs rdiff -u -r1.16 -r1.17 src/sys/arch/sandpoint/stand/altboot/globals.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/sandpoint/stand/altboot/brdsetup.c diff -u src/sys/arch/sandpoint/stand/altboot/brdsetup.c:1.27 src/sys/arch/sandpoint/stand/altboot/brdsetup.c:1.28 --- src/sys/arch/sandpoint/stand/altboot/brdsetup.c:1.27 Sat Jan 14 22:36:54 2012 +++ src/sys/arch/sandpoint/stand/altboot/brdsetup.c Sun Apr 8 10:38:34 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: brdsetup.c,v 1.27 2012/01/14 22:36:54 phx Exp $ */ +/* $NetBSD: brdsetup.c,v 1.28 2012/04/08 10:38:34 nisimura Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -56,6 +56,7 @@ BRD_DECL(qnap); BRD_DECL(iomega); BRD_DECL(dlink); BRD_DECL(nhnas); +BRD_DECL(kurot4); static void brdfixup(void); static void setup(void); @@ -170,6 +171,13 @@ static struct brdprop brdlist[] = { eumb, 0x4500, 9600, NULL, nhnasbrdfix, NULL, nhnasreset }, { + miconv2, + KuroBox/T4, + BRD_KUROBOXT4, + 0, + eumb, 0x4600, 57600, + kurot4setup, kurot4brdfix, NULL, NULL }, +{ unknown, Unknown board, BRD_UNKNOWN, @@ -207,7 +215,7 @@ brdsetup(void) char *consname; int consport; uint32_t extclk; - unsigned pchb, pcib, dev11, dev13, dev15, dev16, val; + unsigned pchb, pcib, dev11, dev12, dev13, dev15, dev16, val; extern struct btinfo_memory bi_mem; extern struct btinfo_console bi_cons; extern struct btinfo_clock bi_clk; @@ -229,6 +237,7 @@ brdsetup(void) busclock = 0; dev11 = pcimaketag(0, 11, 0); + dev12 = pcimaketag(0, 12, 0); dev13 = pcimaketag(0, 13, 0); dev15 = pcimaketag(0, 15, 0); dev16 = pcimaketag(0, 16, 0); @@ -243,7 +252,10 @@ brdsetup(void) } else if (PCI_CLASS(pcicfgread(dev11, PCI_CLASS_REG)) == PCI_CLASS_ETH) { /* ADMtek AN985 (tlp) or RealTek 8169S (re) at dev 11 */ - brdtype = BRD_KUROBOX; + if (PCI_VENDOR(pcicfgread(dev12, PCI_ID_REG)) != 0x1095) + brdtype = BRD_KUROBOX; + else + brdtype = BRD_KUROBOXT4; } else if (PCI_VENDOR(pcicfgread(dev15, PCI_ID_REG)) == 0x11ab) { /* SKnet/Marvell (sk) at dev 15 */ @@ -764,6 +776,23 @@ nhnasreset() } void +kurot4setup(struct brdprop *brd) +{ + + if (PCI_VENDOR(pcicfgread(pcimaketag(0, 11, 0), PCI_ID_REG)) == 0x10ec) + brd-extclk = 32768000; /* decr 2457600Hz */ + else + brd-extclk = 32521333; /* decr 2439100Hz */ +} + +void +kurot4brdfix(struct brdprop *brd) +{ + + init_uart(uart2base, 38400, LCR_8BITS | LCR_PEVEN); +} + +void _rtt(void) { uint32_t msr; Index: src/sys/arch/sandpoint/stand/altboot/globals.h diff -u src/sys/arch/sandpoint/stand/altboot/globals.h:1.16 src/sys/arch/sandpoint/stand/altboot/globals.h:1.17 --- src/sys/arch/sandpoint/stand/altboot/globals.h:1.16 Sun Jan 22 13:08:16 2012 +++ src/sys/arch/sandpoint/stand/altboot/globals.h Sun Apr 8 10:38:34 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: globals.h,v 1.16 2012/01/22 13:08:16 phx Exp $ */ +/* $NetBSD: globals.h,v 1.17 2012/04/08 10:38:34 nisimura Exp $ */ #ifdef DEBUG #define DPRINTF(x) printf x @@ -22,6 +22,7 @@ extern int brdtype; #define BRD_STORCENTER 103 #define BRD_DLINKDSM 104 #define BRD_NH230NAS 105 +#define BRD_KUROBOXT4 106 #define BRD_UNKNOWN -1 struct brdprop {
CVS commit: src
Module Name:src Committed By: martin Date: Sun Apr 8 11:27:46 UTC 2012 Modified Files: src/lib/libc/gen: posix_spawn_fileactions.c src/sys/compat/netbsd32: netbsd32.h netbsd32_execve.c syscalls.master src/sys/kern: exec_elf.c kern_exec.c kern_exit.c src/sys/sys: exec.h spawn.h src/sys/uvm: uvm_extern.h uvm_glue.c uvm_map.c src/tests/lib/libc/gen/posix_spawn: t_fileactions.c Log Message: Rework posix_spawn locking and memory management: - always provide a vmspace for the new proc, initially borrowing from proc0 (this part fixes PR 46286) - increase parallelism between parent and child if arguments allow this, avoiding a potential deadlock on exec_lock - add a new flag for userland to request old (lockstepped) behaviour for better error reporting - adapt test cases to the previous two and add a new variant to test the diagnostics flag - fix a few memory (and lock) leaks - provide netbsd32 compat To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/lib/libc/gen/posix_spawn_fileactions.c cvs rdiff -u -r1.94 -r1.95 src/sys/compat/netbsd32/netbsd32.h \ src/sys/compat/netbsd32/syscalls.master cvs rdiff -u -r1.33 -r1.34 src/sys/compat/netbsd32/netbsd32_execve.c cvs rdiff -u -r1.37 -r1.38 src/sys/kern/exec_elf.c cvs rdiff -u -r1.347 -r1.348 src/sys/kern/kern_exec.c cvs rdiff -u -r1.237 -r1.238 src/sys/kern/kern_exit.c cvs rdiff -u -r1.134 -r1.135 src/sys/sys/exec.h cvs rdiff -u -r1.1 -r1.2 src/sys/sys/spawn.h cvs rdiff -u -r1.182 -r1.183 src/sys/uvm/uvm_extern.h cvs rdiff -u -r1.158 -r1.159 src/sys/uvm/uvm_glue.c cvs rdiff -u -r1.316 -r1.317 src/sys/uvm/uvm_map.c cvs rdiff -u -r1.3 -r1.4 src/tests/lib/libc/gen/posix_spawn/t_fileactions.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/posix_spawn_fileactions.c diff -u src/lib/libc/gen/posix_spawn_fileactions.c:1.1 src/lib/libc/gen/posix_spawn_fileactions.c:1.2 --- src/lib/libc/gen/posix_spawn_fileactions.c:1.1 Sat Feb 11 23:31:24 2012 +++ src/lib/libc/gen/posix_spawn_fileactions.c Sun Apr 8 11:27:44 2012 @@ -25,7 +25,7 @@ */ #include sys/cdefs.h -__RCSID($NetBSD: posix_spawn_fileactions.c,v 1.1 2012/02/11 23:31:24 martin Exp $); +__RCSID($NetBSD: posix_spawn_fileactions.c,v 1.2 2012/04/08 11:27:44 martin Exp $); #include namespace.h @@ -62,7 +62,7 @@ posix_spawn_file_actions_init(posix_spaw int posix_spawn_file_actions_destroy(posix_spawn_file_actions_t *fa) { - int i; + unsigned int i; if (fa == NULL) return (-1); @@ -80,7 +80,7 @@ static int posix_spawn_file_actions_getentry(posix_spawn_file_actions_t *fa) { if (fa == NULL) - return (-1); + return -1; if (fa-len fa-size) return fa-len; @@ -89,7 +89,7 @@ posix_spawn_file_actions_getentry(posix_ sizeof(struct posix_spawn_file_actions_entry)); if (fa-fae == NULL) - return (-1); + return -1; fa-size += MIN_SIZE; Index: src/sys/compat/netbsd32/netbsd32.h diff -u src/sys/compat/netbsd32/netbsd32.h:1.94 src/sys/compat/netbsd32/netbsd32.h:1.95 --- src/sys/compat/netbsd32/netbsd32.h:1.94 Tue Mar 6 07:37:05 2012 +++ src/sys/compat/netbsd32/netbsd32.h Sun Apr 8 11:27:44 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: netbsd32.h,v 1.94 2012/03/06 07:37:05 macallan Exp $ */ +/* $NetBSD: netbsd32.h,v 1.95 2012/04/08 11:27:44 martin Exp $ */ /* * Copyright (c) 1998, 2001, 2008 Matthew R. Green @@ -151,6 +151,10 @@ typedef netbsd32_pointer_t netbsd32_lwpi typedef netbsd32_pointer_t netbsd32_ucontextp; typedef netbsd32_pointer_t netbsd32_caddr_t; typedef netbsd32_pointer_t netbsd32_lwpctlp; +typedef netbsd32_pointer_t netbsd32_posix_spawn_file_actionsp; +typedef netbsd32_pointer_t netbsd32_posix_spawnattrp; +typedef netbsd32_pointer_t netbsd32_posix_spawn_file_actions_entryp; +typedef netbsd32_pointer_t netbsd32_pid_tp; /* * now, the compatibility structures and their fake pointer types. @@ -941,6 +945,28 @@ struct netbsd32_msdosfs_args { int gmtoff; /* v3: offset from UTC in seconds */ }; +struct netbsd32_posix_spawn_file_actions_entry { + enum { FAE32_OPEN, FAE32_DUP2, FAE32_CLOSE } fae_action; + + int fae_fildes; + union { + struct { + netbsd32_charp path; + int oflag; + mode_t mode; + } open; + struct { + int newfildes; + } dup2; + } fae_data; +}; + +struct netbsd32_posix_spawn_file_actions { + unsigned int size; /* size of fae array */ + unsigned int len; /* how many slots are used */ + netbsd32_posix_spawn_file_actions_entryp fae; +}; + #if 0 int netbsd32_kevent(struct lwp *, void *, register_t *); #endif Index: src/sys/compat/netbsd32/syscalls.master diff -u src/sys/compat/netbsd32/syscalls.master:1.94 src/sys/compat/netbsd32/syscalls.master:1.95 --- src/sys/compat/netbsd32/syscalls.master:1.94 Sat Mar 10 21:51:59 2012 +++ src/sys/compat/netbsd32/syscalls.master Sun Apr 8 11:27:44 2012 @@ -1,4 +1,4 @@ - $NetBSD: syscalls.master,v 1.94
CVS commit: src/sys/compat/netbsd32
Module Name:src Committed By: martin Date: Sun Apr 8 11:28:13 UTC 2012 Modified Files: src/sys/compat/netbsd32: netbsd32_syscall.h netbsd32_syscallargs.h netbsd32_syscalls.c netbsd32_sysent.c Log Message: Regen (posix_spawn) To generate a diff of this commit: cvs rdiff -u -r1.102 -r1.103 src/sys/compat/netbsd32/netbsd32_syscall.h \ src/sys/compat/netbsd32/netbsd32_syscallargs.h cvs rdiff -u -r1.101 -r1.102 src/sys/compat/netbsd32/netbsd32_syscalls.c \ src/sys/compat/netbsd32/netbsd32_sysent.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/compat/netbsd32/netbsd32_syscall.h diff -u src/sys/compat/netbsd32/netbsd32_syscall.h:1.102 src/sys/compat/netbsd32/netbsd32_syscall.h:1.103 --- src/sys/compat/netbsd32/netbsd32_syscall.h:1.102 Sat Mar 10 21:51:58 2012 +++ src/sys/compat/netbsd32/netbsd32_syscall.h Sun Apr 8 11:28:12 2012 @@ -1,10 +1,10 @@ -/* $NetBSD: netbsd32_syscall.h,v 1.102 2012/03/10 21:51:58 joerg Exp $ */ +/* $NetBSD: netbsd32_syscall.h,v 1.103 2012/04/08 11:28:12 martin Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.93 2012/03/08 21:55:45 joerg Exp + * created from NetBSD: syscalls.master,v 1.95 2012/04/08 11:27:44 martin Exp */ #ifndef _NETBSD32_SYS_SYSCALL_H_ @@ -1239,6 +1239,9 @@ /* syscall: netbsd32___quotactl ret: int args: const netbsd32_charp netbsd32_voidp */ #define NETBSD32_SYS_netbsd32___quotactl 473 -#define NETBSD32_SYS_MAXSYSCALL 474 +/* syscall: netbsd32_posix_spawn ret: int args: netbsd32_pid_tp const netbsd32_charp const netbsd32_posix_spawn_file_actionsp const netbsd32_posix_spawnattrp netbsd32_charpp netbsd32_charpp */ +#define NETBSD32_SYS_netbsd32_posix_spawn 474 + +#define NETBSD32_SYS_MAXSYSCALL 475 #define NETBSD32_SYS_NSYSENT 512 #endif /* _NETBSD32_SYS_SYSCALL_H_ */ Index: src/sys/compat/netbsd32/netbsd32_syscallargs.h diff -u src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.102 src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.103 --- src/sys/compat/netbsd32/netbsd32_syscallargs.h:1.102 Sat Mar 10 21:51:58 2012 +++ src/sys/compat/netbsd32/netbsd32_syscallargs.h Sun Apr 8 11:28:12 2012 @@ -1,10 +1,10 @@ -/* $NetBSD: netbsd32_syscallargs.h,v 1.102 2012/03/10 21:51:58 joerg Exp $ */ +/* $NetBSD: netbsd32_syscallargs.h,v 1.103 2012/04/08 11:28:12 martin Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.93 2012/03/08 21:55:45 joerg Exp + * created from NetBSD: syscalls.master,v 1.95 2012/04/08 11:27:44 martin Exp */ #ifndef _NETBSD32_SYS_SYSCALLARGS_H_ @@ -2438,6 +2438,16 @@ struct netbsd32___quotactl_args { }; check_syscall_args(netbsd32___quotactl) +struct netbsd32_posix_spawn_args { + syscallarg(netbsd32_pid_tp) pid; + syscallarg(const netbsd32_charp) path; + syscallarg(const netbsd32_posix_spawn_file_actionsp) file_actions; + syscallarg(const netbsd32_posix_spawnattrp) attrp; + syscallarg(netbsd32_charpp) argv; + syscallarg(netbsd32_charpp) envp; +}; +check_syscall_args(netbsd32_posix_spawn) + /* * System call prototypes. */ @@ -3243,4 +3253,6 @@ int netbsd32_futimens(struct lwp *, cons int netbsd32___quotactl(struct lwp *, const struct netbsd32___quotactl_args *, register_t *); +int netbsd32_posix_spawn(struct lwp *, const struct netbsd32_posix_spawn_args *, register_t *); + #endif /* _NETBSD32_SYS_SYSCALLARGS_H_ */ Index: src/sys/compat/netbsd32/netbsd32_syscalls.c diff -u src/sys/compat/netbsd32/netbsd32_syscalls.c:1.101 src/sys/compat/netbsd32/netbsd32_syscalls.c:1.102 --- src/sys/compat/netbsd32/netbsd32_syscalls.c:1.101 Sat Mar 10 21:51:58 2012 +++ src/sys/compat/netbsd32/netbsd32_syscalls.c Sun Apr 8 11:28:12 2012 @@ -1,14 +1,14 @@ -/* $NetBSD: netbsd32_syscalls.c,v 1.101 2012/03/10 21:51:58 joerg Exp $ */ +/* $NetBSD: netbsd32_syscalls.c,v 1.102 2012/04/08 11:28:12 martin Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.93 2012/03/08 21:55:45 joerg Exp + * created from NetBSD: syscalls.master,v 1.95 2012/04/08 11:27:44 martin Exp */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: netbsd32_syscalls.c,v 1.101 2012/03/10 21:51:58 joerg Exp $); +__KERNEL_RCSID(0, $NetBSD: netbsd32_syscalls.c,v 1.102 2012/04/08 11:28:12 martin Exp $); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -571,7 +571,7 @@ const char *const netbsd32_syscallnames[ /* 471 */ netbsd32_unlinkat, /* 472 */ netbsd32_futimens, /* 473 */ netbsd32___quotactl, - /* 474 */ # filler, + /* 474 */ netbsd32_posix_spawn, /* 475 */ # filler, /* 476 */ # filler, /* 477 */ # filler, Index: src/sys/compat/netbsd32/netbsd32_sysent.c diff -u src/sys/compat/netbsd32/netbsd32_sysent.c:1.101
CVS commit: src/sys/arch/sandpoint/sandpoint
Module Name:src Committed By: nisimura Date: Sun Apr 8 12:11:58 UTC 2012 Modified Files: src/sys/arch/sandpoint/sandpoint: satmgr.c Log Message: Add an entry for miconv2 satellite processor control. The button press event handler remains unimplemented for now. Use /dev/satmgr to talk the processor. To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/arch/sandpoint/sandpoint/satmgr.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/sandpoint/sandpoint/satmgr.c diff -u src/sys/arch/sandpoint/sandpoint/satmgr.c:1.16 src/sys/arch/sandpoint/sandpoint/satmgr.c:1.17 --- src/sys/arch/sandpoint/sandpoint/satmgr.c:1.16 Wed Feb 22 22:56:44 2012 +++ src/sys/arch/sandpoint/sandpoint/satmgr.c Sun Apr 8 12:11:57 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: satmgr.c,v 1.16 2012/02/22 22:56:44 nisimura Exp $ */ +/* $NetBSD: satmgr.c,v 1.17 2012/04/08 12:11:57 nisimura Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -139,6 +139,7 @@ static void dbutton(struct satmgr_softc static void ibutton(struct satmgr_softc *, int); static void idosync(void *); static void iprepcmd(struct satmgr_softc *, int, int, int, int, int, int); +static void mbutton(struct satmgr_softc *, int); static void guarded_pbutton(void *); static void sched_sysmon_pbutton(void *); @@ -154,6 +155,7 @@ static struct satops satmodel[] = { { dlink,NULL, NULL,dpwroff, dbutton }, { iomega, iinit, ireboot, ipwroff, ibutton }, { kurobox, NULL, kreboot, kpwroff, kbutton }, +{ miconv2, NULL, NULL,NULL,mbutton }, { qnap, qinit, qreboot, qpwroff, qbutton }, { synology, sinit, sreboot, spwroff, sbutton } }; @@ -950,6 +952,12 @@ iprepcmd(struct satmgr_softc *sc, int po } static void +mbutton(struct satmgr_softc *sc, int ch) +{ + /* do nothing */ +} + +static void guarded_pbutton(void *arg) { struct satmgr_softc *sc = arg;
CVS commit: src/sys/dev/pci
Module Name:src Committed By: jakllsch Date: Sun Apr 8 12:40:03 UTC 2012 Modified Files: src/sys/dev/pci: pcidevs Log Message: Add IDs for Fresco Logic and their FL1000 and FL1009 xHCI chips. Derived from OpenBSD. To generate a diff of this commit: cvs rdiff -u -r1.1110 -r1. src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1.1110 src/sys/dev/pci/pcidevs:1. --- src/sys/dev/pci/pcidevs:1.1110 Sat Apr 7 17:26:16 2012 +++ src/sys/dev/pci/pcidevs Sun Apr 8 12:40:03 2012 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1.1110 2012/04/07 17:26:16 christos Exp $ +$NetBSD: pcidevs,v 1. 2012/04/08 12:40:03 jakllsch Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -625,6 +625,7 @@ vendor ATTANSIC 0x1969 Attansic Technol vendor JMICRON 0x197b JMicron Technology vendor EVE 0x1adb EVE vendor QUMRANET 0x1af4 Qumranet +vendor FRESCO 0x1b73 Fresco Logic vendor SYMPHONY2 0x1c1c Symphony Labs (2nd PCI Vendor ID) vendor TEKRAM2 0x1de1 Tekram Technology (2nd PCI Vendor ID) vendor SUNIX2 0x1fd4 SUNIX Co @@ -2054,6 +2055,10 @@ product FORE PCA200E 0x0300 ATM PCA-200e product FORTEMEDIA FM801 0x0801 801 Sound product FORTEMEDIA PCIJOY 0x0802 PCI Gameport Joystick +/* Fresco Logic products */ +product FRESCO FL1000 0x1000 FL1000 USB3 Host Controller +product FRESCO FL1009 0x1009 FL1009 USB3 Host Controller + /* Future Domain products */ product FUTUREDOMAIN TMC_18C30 0x TMC-18C30 (36C70)
CVS commit: src/sys/dev/pci
Module Name:src Committed By: jakllsch Date: Sun Apr 8 12:43:36 UTC 2012 Modified Files: src/sys/dev/pci: pcidevs Log Message: - NEC uPD720100A is USB2. - Add NEC uPD720200, a USB3 Host Controller To generate a diff of this commit: cvs rdiff -u -r1. -r1.1112 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1. src/sys/dev/pci/pcidevs:1.1112 --- src/sys/dev/pci/pcidevs:1. Sun Apr 8 12:40:03 2012 +++ src/sys/dev/pci/pcidevs Sun Apr 8 12:43:36 2012 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1. 2012/04/08 12:40:03 jakllsch Exp $ +$NetBSD: pcidevs,v 1.1112 2012/04/08 12:43:36 jakllsch Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -3463,7 +3463,8 @@ product NEC VRC4173_BCU 0x00a5 VRC4173 B product NEC VRC4173_AC97U 0x00a6 VRC4173 AC97 Unit product NEC PD72870 0x00cd uPD72870 IEEE 1394 Host Controller product NEC PD72871 0x00ce uPD72871 IEEE 1394 Host Controller -product NEC PD720100A 0x00e0 USB Host Controller +product NEC PD720100A 0x00e0 USB2 Host Controller +product NEC PD720200 0x0194 USB3 Host Controller product NEC VA26D 0x803c Versa Pro LX VA26D product NEC VERSALX 0x8058 Versa LX
CVS commit: src/sys/dev/pci
Module Name:src Committed By: jakllsch Date: Sun Apr 8 13:08:02 UTC 2012 Modified Files: src/sys/dev/pci: slide.c Log Message: As suggested in the previous commit, the overwrite of the pci_attach_args is a bug. Although I have not tested on real hardware, Linux's pata_sl82c105.c only looks at the revision of the PCI bridge. To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/dev/pci/slide.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/pci/slide.c diff -u src/sys/dev/pci/slide.c:1.22 src/sys/dev/pci/slide.c:1.23 --- src/sys/dev/pci/slide.c:1.22 Mon Apr 4 20:37:56 2011 +++ src/sys/dev/pci/slide.c Sun Apr 8 13:08:02 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: slide.c,v 1.22 2011/04/04 20:37:56 dyoung Exp $ */ +/* $NetBSD: slide.c,v 1.23 2012/04/08 13:08:02 jakllsch Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: slide.c,v 1.22 2011/04/04 20:37:56 dyoung Exp $); +__KERNEL_RCSID(0, $NetBSD: slide.c,v 1.23 2012/04/08 13:08:02 jakllsch Exp $); #include sys/param.h #include sys/systm.h @@ -128,7 +128,6 @@ sl82c105_bugchk(const struct pci_attach_ static void sl82c105_chip_map(struct pciide_softc *sc, const struct pci_attach_args *pa) { - struct pci_attach_args pa0; struct pciide_channel *cp; pcireg_t interface, idecr; int channel; @@ -141,10 +140,9 @@ sl82c105_chip_map(struct pciide_softc *s /* * Check to see if we're part of the Winbond 83c553 Southbridge. - * If so, we need to disable DMA on rev. = 5 of that chip. + * If so, we need to disable DMA on rev. = 5 of the southbridge. */ - if (pci_find_device(pa0, sl82c105_bugchk)) { - pa = pa0; + if (pci_find_device(NULL, sl82c105_bugchk)) { aprint_verbose( but disabled due to 83c553 rev. = 0x05); sc-sc_dma_ok = 0; } else
CVS commit: src/sys/dev/pci
Module Name:src Committed By: jakllsch Date: Sun Apr 8 13:14:04 UTC 2012 Modified Files: src/sys/dev/pci: pcidevs Log Message: Make the RS690 entries more closely match the terminology of the RS690 RRG/RPR/BDG documents. To generate a diff of this commit: cvs rdiff -u -r1.1112 -r1.1113 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1.1112 src/sys/dev/pci/pcidevs:1.1113 --- src/sys/dev/pci/pcidevs:1.1112 Sun Apr 8 12:43:36 2012 +++ src/sys/dev/pci/pcidevs Sun Apr 8 13:14:04 2012 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1.1112 2012/04/08 12:43:36 jakllsch Exp $ +$NetBSD: pcidevs,v 1.1113 2012/04/08 13:14:04 jakllsch Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -1428,12 +1428,14 @@ product ATI RADEON_X1300_S 0x7166 Radeon product ATI RADEON_X1600 0x71c5 Radeon Mobility X1600 product ATI RADEON_RS300_7834 0x7834 Radeon 9100 PRO IGP product ATI RADEON_RS300_7835 0x7835 Radeon 9200 IGP -product ATI RS690_HB 0x7911 RS690 Host Bridge -product ATI RS690_PPB_7912 0x7912 RS690 PCI to PCI Bridge -product ATI RS690_PPB_7913 0x7913 RS690 PCI to PCI-Express Port 0 Bridge -product ATI RS690_PPB_7915 0x7915 RS690 PCI to PCI-Express Port 1 Bridge -product ATI RS690_PPB_7916 0x7916 RS690 PCI to PCI-Express Port 2 Bridge -product ATI RS690_PPB_7917 0x7917 RS690 PCI to PCI-Express Port 3 Bridge +product ATI RS690_HB_7910 0x7910 RS690 Host Bridge +product ATI RS690_HB_7911 0x7911 RS740 Host Bridge +product ATI RS690_PPB_7912 0x7912 RS690 GFX Bridge +product ATI RS690_PPB_7913 0x7913 RS690 PCI Express Bridge GFX +product ATI RS690_PPB_7914 0x7914 RS690 PCI Express Bridge GPP Port A +product ATI RS690_PPB_7915 0x7915 RS690 PCI Express Bridge GPP Port B +product ATI RS690_PPB_7916 0x7916 RS690 PCI Express Bridge GPP Port C +product ATI RS690_PPB_7917 0x7917 RS690 PCI Express Bridge GPP Port D product ATI RADEON_HD4650 0x9498 Radeon HD4650 product ATI RADEON_HD2600_XT 0x9588 Radeon HD2600 XT GDDR3 product ATI RADEON_HD4250_S 0x95C5 Radeon HD4250 GPU (RV610) Secondary
CVS commit: src/sys/fs/puffs
Module Name:src Committed By: manu Date: Sun Apr 8 15:04:41 UTC 2012 Modified Files: src/sys/fs/puffs: puffs_msgif.h puffs_node.c puffs_sys.h puffs_vfsops.c puffs_vnops.c Log Message: Add name and atttribute cache with filesytem provided TTL. lookup, create, mknod, mkdir, symlink, getattr and setattr messages have been extended so that attributes and their TTL can be provided by the filesytem. lookup, create, mknod, mkdir, and symlink messages are also extended so that the filesystem can provide name TTL. To generate a diff of this commit: cvs rdiff -u -r1.77 -r1.78 src/sys/fs/puffs/puffs_msgif.h cvs rdiff -u -r1.23 -r1.24 src/sys/fs/puffs/puffs_node.c cvs rdiff -u -r1.78 -r1.79 src/sys/fs/puffs/puffs_sys.h cvs rdiff -u -r1.100 -r1.101 src/sys/fs/puffs/puffs_vfsops.c cvs rdiff -u -r1.164 -r1.165 src/sys/fs/puffs/puffs_vnops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/fs/puffs/puffs_msgif.h diff -u src/sys/fs/puffs/puffs_msgif.h:1.77 src/sys/fs/puffs/puffs_msgif.h:1.78 --- src/sys/fs/puffs/puffs_msgif.h:1.77 Tue Sep 27 01:48:57 2011 +++ src/sys/fs/puffs/puffs_msgif.h Sun Apr 8 15:04:41 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: puffs_msgif.h,v 1.77 2011/09/27 01:48:57 christos Exp $ */ +/* $NetBSD: puffs_msgif.h,v 1.78 2012/04/08 15:04:41 manu Exp $ */ /* * Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved. @@ -159,8 +159,9 @@ struct puffs_kargs { #define PUFFS_KFLAG_WTCACHE 0x08 /* write-through page cache */ #define PUFFS_KFLAG_IAONDEMAND 0x10 /* inactive only on demand */ #define PUFFS_KFLAG_LOOKUP_FULLPNBUF 0x20 /* full pnbuf in lookup */ -#define PUFFS_KFLAG_MASK 0x3f #define PUFFS_KFLAG_NOCACHE_ATTR 0x40 /* no attrib cache (unused) */ +#define PUFFS_KFLAG_CACHE_FS_TTL 0x80 /* cache use TTL from FS*/ +#define PUFFS_KFLAG_MASK 0xbf #define PUFFS_FHFLAG_DYNAMIC 0x01 #define PUFFS_FHFLAG_NFSV2 0x02 @@ -360,6 +361,10 @@ struct puffs_vnmsg_lookup { enum vtype pvnr_vtype; /* IN */ voff_t pvnr_size; /* IN */ dev_t pvnr_rdev; /* IN */ + /* Used only if PUFFS_KFLAG_CACHE_USE_TTL */ + struct vattr pvnr_va; /* IN */ + struct timespec pvnr_va_ttl; /* IN */ + struct timespec pvnr_cn_ttl; /* IN */ }; struct puffs_vnmsg_create { @@ -370,6 +375,9 @@ struct puffs_vnmsg_create { struct vattr pvnr_va; /* OUT */ puffs_cookie_t pvnr_newnode; /* IN */ + /* Used only if PUFFS_KFLAG_CACHE_USE_TTL */ + struct timespec pvnr_va_ttl; /* IN */ + struct timespec pvnr_cn_ttl; /* IN */ }; struct puffs_vnmsg_mknod { @@ -380,6 +388,9 @@ struct puffs_vnmsg_mknod { struct vattr pvnr_va; /* OUT */ puffs_cookie_t pvnr_newnode; /* IN */ + /* Used only if PUFFS_KFLAG_CACHE_USE_TTL */ + struct timespec pvnr_va_ttl; /* IN */ + struct timespec pvnr_cn_ttl; /* IN */ }; struct puffs_vnmsg_open { @@ -410,6 +421,8 @@ struct puffs_vnmsg_setgetattr { struct puffs_kcred pvnr_cred; /* OUT */ struct vattr pvnr_va; /* IN/OUT (op depend) */ + /* Used only if PUFFS_KFLAG_CACHE_USE_TTL */ + struct timespec pvnr_va_ttl; /* IN */ }; #define puffs_vnmsg_read puffs_vnmsg_rw @@ -480,6 +493,9 @@ struct puffs_vnmsg_mkdir { struct vattr pvnr_va; /* OUT */ puffs_cookie_t pvnr_newnode; /* IN */ + /* Used only if PUFFS_KFLAG_CACHE_USE_TTL */ + struct timespec pvnr_va_ttl; /* IN */ + struct timespec pvnr_cn_ttl; /* IN */ }; struct puffs_vnmsg_rmdir { @@ -522,6 +538,9 @@ struct puffs_vnmsg_symlink { struct vattr pvnr_va; /* OUT */ puffs_cookie_t pvnr_newnode; /* IN */ char pvnr_link[MAXPATHLEN]; /* OUT */ + /* Used only if PUFFS_KFLAG_CACHE_USE_TTL */ + struct timespec pvnr_va_ttl; /* IN */ + struct timespec pvnr_cn_ttl; /* IN */ }; struct puffs_vnmsg_readdir { Index: src/sys/fs/puffs/puffs_node.c diff -u src/sys/fs/puffs/puffs_node.c:1.23 src/sys/fs/puffs/puffs_node.c:1.24 --- src/sys/fs/puffs/puffs_node.c:1.23 Thu Jan 19 08:14:41 2012 +++ src/sys/fs/puffs/puffs_node.c Sun Apr 8 15:04:41 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: puffs_node.c,v 1.23 2012/01/19 08:14:41 manu Exp $ */ +/* $NetBSD: puffs_node.c,v 1.24 2012/04/08 15:04:41 manu Exp $ */ /* * Copyright (c) 2005, 2006, 2007 Antti Kantee. All Rights Reserved. @@ -30,7 +30,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: puffs_node.c,v 1.23 2012/01/19 08:14:41 manu Exp $); +__KERNEL_RCSID(0, $NetBSD: puffs_node.c,v 1.24 2012/04/08 15:04:41 manu Exp $); #include sys/param.h #include sys/hash.h @@ -63,6 +63,7 @@ static struct puffs_node *puffs_cookie2p puffs_cookie_t); struct pool puffs_pnpool; +struct pool puffs_vapool; /* * Grab a vnode, intialize all the puffs-dependent stuff. @@ -483,6 +484,8 @@ puffs_releasenode(struct puffs_node *pn) mutex_destroy(pn-pn_mtx); mutex_destroy(pn-pn_sizemtx); seldestroy(pn-pn_sel); + if (pn-pn_va_cache != NULL) + pool_put(puffs_vapool,
CVS commit: src/lib/libpuffs
Module Name:src Committed By: manu Date: Sun Apr 8 15:07:46 UTC 2012 Modified Files: src/lib/libpuffs: dispatcher.c pnode.c puffs.3 puffs.h Log Message: Add PUFFS_KFLAG_CACHE_FS_TTL flag to puffs_init(3) to use name and attribute cache with filesystem provided TTL. lookup, create, mknod, mkdir, symlink, getattr and setattr messages have been extended so that attributes and their TTL can be provided by the filesytem. lookup, create, mknod, mkdir, and symlink messages are also extended so that the filesystem can provide name TTL. The filesystem updates attributes and TTL using puffs_pn_getvap(3), puffs_pn_getvattl(3), and puffs_pn_getcnttl(3) To generate a diff of this commit: cvs rdiff -u -r1.38 -r1.39 src/lib/libpuffs/dispatcher.c cvs rdiff -u -r1.10 -r1.11 src/lib/libpuffs/pnode.c cvs rdiff -u -r1.49 -r1.50 src/lib/libpuffs/puffs.3 cvs rdiff -u -r1.119 -r1.120 src/lib/libpuffs/puffs.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libpuffs/dispatcher.c diff -u src/lib/libpuffs/dispatcher.c:1.38 src/lib/libpuffs/dispatcher.c:1.39 --- src/lib/libpuffs/dispatcher.c:1.38 Fri Nov 25 15:02:02 2011 +++ src/lib/libpuffs/dispatcher.c Sun Apr 8 15:07:45 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: dispatcher.c,v 1.38 2011/11/25 15:02:02 manu Exp $ */ +/* $NetBSD: dispatcher.c,v 1.39 2012/04/08 15:07:45 manu Exp $ */ /* * Copyright (c) 2006, 2007, 2008 Antti Kantee. All Rights Reserved. @@ -31,7 +31,7 @@ #include sys/cdefs.h #if !defined(lint) -__RCSID($NetBSD: dispatcher.c,v 1.38 2011/11/25 15:02:02 manu Exp $); +__RCSID($NetBSD: dispatcher.c,v 1.39 2012/04/08 15:07:45 manu Exp $); #endif /* !lint */ #include sys/types.h @@ -48,8 +48,30 @@ __RCSID($NetBSD: dispatcher.c,v 1.38 20 #include puffs_priv.h +#define PUFFS_USE_FS_TTL(pu) (pu-pu_flags PUFFS_KFLAG_CACHE_FS_TTL) + static void dispatch(struct puffs_cc *); +static void +update_fs_ttl(struct puffs_usermount *pu, puffs_cookie_t opc, + struct vattr *rvap, + struct timespec *va_ttl, struct timespec *cn_ttl) +{ + struct puffs_node *pn = NULL; + + pn = PU_CMAP(pu, opc); + + (void)memcpy(rvap, pn-pn_va, sizeof(*rvap)); + + va_ttl-tv_sec = pn-pn_va_ttl.tv_sec; + va_ttl-tv_nsec = pn-pn_va_ttl.tv_nsec; + + if (cn_ttl != NULL) { + cn_ttl-tv_sec = pn-pn_cn_ttl.tv_sec; + cn_ttl-tv_nsec = pn-pn_cn_ttl.tv_nsec; + } +} + /* for our eyes only */ void puffs__ml_dispatch(struct puffs_usermount *pu, struct puffs_framebuf *pb) @@ -258,6 +280,7 @@ dispatch(struct puffs_cc *pcc) struct puffs_vnmsg_lookup *auxt = auxbuf; struct puffs_newinfo pni; struct puffs_cn pcn; + struct puffs_node *pn = NULL; pcn.pcn_pkcnp = auxt-pvnr_cn; PUFFS_KCREDTOCRED(pcn.pcn_cred, auxt-pvnr_cn_cred); @@ -280,8 +303,6 @@ dispatch(struct puffs_cc *pcc) if (error) { pu-pu_pathfree(pu, pcn.pcn_po_full); } else { - struct puffs_node *pn; - /* * did we get a new node or a * recycled node? @@ -295,6 +316,12 @@ dispatch(struct puffs_cc *pcc) } } + if ((error == 0) PUFFS_USE_FS_TTL(pu)) +update_fs_ttl(pu, auxt-pvnr_newnode, + auxt-pvnr_va, + auxt-pvnr_va_ttl, + auxt-pvnr_cn_ttl); + break; } @@ -335,6 +362,12 @@ dispatch(struct puffs_cc *pcc) } } + if ((error == 0) PUFFS_USE_FS_TTL(pu)) +update_fs_ttl(pu, auxt-pvnr_newnode, + auxt-pvnr_va, + auxt-pvnr_va_ttl, + auxt-pvnr_cn_ttl); + break; } @@ -375,6 +408,12 @@ dispatch(struct puffs_cc *pcc) } } + if ((error == 0) PUFFS_USE_FS_TTL(pu)) +update_fs_ttl(pu, auxt-pvnr_newnode, + auxt-pvnr_va, + auxt-pvnr_va_ttl, + auxt-pvnr_cn_ttl); + break; } @@ -435,6 +474,20 @@ dispatch(struct puffs_cc *pcc) error = pops-puffs_node_getattr(pu, opcookie, auxt-pvnr_va, pcr); + + if ((error == 0) PUFFS_USE_FS_TTL(pu)) { +struct puffs_node *pn; + +pn = PU_CMAP(pu, opcookie); +auxt-pvnr_va_ttl = pn-pn_va_ttl; + } + + if ((error == 0) PUFFS_USE_FS_TTL(pu)) +update_fs_ttl(pu, opcookie, + auxt-pvnr_va, + auxt-pvnr_va_ttl, + NULL); + break; } @@ -450,6 +503,12 @@ dispatch(struct puffs_cc *pcc) error = pops-puffs_node_setattr(pu, opcookie, auxt-pvnr_va, pcr); + + if ((error == 0) PUFFS_USE_FS_TTL(pu)) +update_fs_ttl(pu, opcookie, + auxt-pvnr_va, + auxt-pvnr_va_ttl, + NULL); break; } @@ -646,6 +705,12 @@ dispatch(struct puffs_cc *pcc) } } + if ((error == 0) PUFFS_USE_FS_TTL(pu)) +update_fs_ttl(pu, auxt-pvnr_newnode, + auxt-pvnr_va, + auxt-pvnr_va_ttl, + auxt-pvnr_cn_ttl); + break; } @@ -704,6 +769,12 @@ dispatch(struct puffs_cc *pcc) } } + if ((error == 0) PUFFS_USE_FS_TTL(pu)) +
CVS commit: src/lib/libperfuse
Module Name:src Committed By: manu Date: Sun Apr 8 15:13:06 UTC 2012 Modified Files: src/lib/libperfuse: ops.c perfuse.c perfuse_priv.h Log Message: Use new PUFFS_KFLAG_CACHE_FS_TTL option to puffs_init(3) so that FUSE TTL on name and attributes are used. This save many PUFFS operations and improves performances. PUFFS_KFLAG_CACHE_FS_TTL is #ifdef'ed in many places for now so that libperfuse can still be used on netbsd-5. To generate a diff of this commit: cvs rdiff -u -r1.52 -r1.53 src/lib/libperfuse/ops.c cvs rdiff -u -r1.26 -r1.27 src/lib/libperfuse/perfuse.c cvs rdiff -u -r1.27 -r1.28 src/lib/libperfuse/perfuse_priv.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libperfuse/ops.c diff -u src/lib/libperfuse/ops.c:1.52 src/lib/libperfuse/ops.c:1.53 --- src/lib/libperfuse/ops.c:1.52 Wed Mar 21 10:10:36 2012 +++ src/lib/libperfuse/ops.c Sun Apr 8 15:13:06 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: ops.c,v 1.52 2012/03/21 10:10:36 matt Exp $ */ +/* $NetBSD: ops.c,v 1.53 2012/04/08 15:13:06 manu Exp $ */ /*- * Copyright (c) 2010-2011 Emmanuel Dreyfus. All rights reserved. @@ -49,9 +49,11 @@ extern int perfuse_diagflags; static void print_node(const char *, puffs_cookie_t); #endif static void set_expire(puffs_cookie_t, struct fuse_entry_out *, - struct fuse_attr_out *); +struct fuse_attr_out *); +#ifndef PUFFS_KFLAG_CACHE_FS_TTL static int attr_expired(puffs_cookie_t); static int entry_expired(puffs_cookie_t); +#endif /* PUFFS_KFLAG_CACHE_FS_TTL */ static int xchg_msg(struct puffs_usermount *, puffs_cookie_t, perfuse_msg_t *, size_t, enum perfuse_xchg_pb_reply); static int mode_access(puffs_cookie_t, const struct puffs_cred *, mode_t); @@ -336,23 +338,32 @@ fuse_attr_to_vap(struct perfuse_state *p static void set_expire(puffs_cookie_t opc, struct fuse_entry_out *feo, - struct fuse_attr_out *fao) + struct fuse_attr_out *fao) { + struct puffs_node *pn = (struct puffs_node *)opc; +#ifndef PUFFS_KFLAG_CACHE_FS_TTL struct perfuse_node_data *pnd = PERFUSE_NODE_DATA(opc); struct timespec entry_ts; struct timespec attr_ts; struct timespec now; + if (clock_gettime(CLOCK_REALTIME, now) != 0) + DERR(EX_OSERR, clock_gettime failed); +#endif /* PUFFS_KFLAG_CACHE_FS_TTL */ + if ((feo == NULL) (fao == NULL)) DERRX(EX_SOFTWARE, %s: feo and fao NULL, __func__); if ((feo != NULL) (fao != NULL)) DERRX(EX_SOFTWARE, %s: feo and fao != NULL, __func__); - if (clock_gettime(CLOCK_REALTIME, now) != 0) - DERR(EX_OSERR, clock_gettime failed); - if (feo != NULL) { +#ifdef PUFFS_KFLAG_CACHE_FS_TTL + pn-pn_cn_ttl.tv_sec = feo-entry_valid; + pn-pn_cn_ttl.tv_nsec = feo-entry_valid_nsec; + pn-pn_va_ttl.tv_sec = feo-attr_valid; + pn-pn_va_ttl.tv_nsec = feo-attr_valid_nsec; +#else /* PUFFS_KFLAG_CACHE_FS_TTL */ entry_ts.tv_sec = (time_t)feo-entry_valid; entry_ts.tv_nsec = (long)feo-entry_valid_nsec; @@ -362,18 +373,25 @@ set_expire(puffs_cookie_t opc, struct fu attr_ts.tv_nsec = (long)feo-attr_valid_nsec; timespecadd(now, attr_ts, pnd-pnd_attr_expire); +#endif /* PUFFS_KFLAG_CACHE_FS_TTL */ } if (fao != NULL) { +#ifdef PUFFS_KFLAG_CACHE_FS_TTL + pn-pn_va_ttl.tv_sec = fao-attr_valid; + pn-pn_va_ttl.tv_nsec = fao-attr_valid_nsec; +#else /* PUFFS_KFLAG_CACHE_FS_TTL */ attr_ts.tv_sec = (time_t)fao-attr_valid; attr_ts.tv_nsec = (long)fao-attr_valid_nsec; timespecadd(now, attr_ts, pnd-pnd_attr_expire); +#endif /* PUFFS_KFLAG_CACHE_FS_TTL */ } return; } +#ifndef PUFFS_KFLAG_CACHE_FS_TTL static int attr_expired(puffs_cookie_t opc) { @@ -405,6 +423,7 @@ entry_expired(puffs_cookie_t opc) return timespeccmp(expire, now, ); } +#endif /* PUFFS_KFLAG_CACHE_FS_TTL */ /* @@ -483,6 +502,7 @@ node_lookup_common(struct puffs_usermoun break; } +#ifndef PUFFS_KFLAG_CACHE_FS_TTL /* * Check for cached name */ @@ -491,6 +511,7 @@ node_lookup_common(struct puffs_usermoun *pnp = oldpnd-pnd_pn; return 0; } +#endif /* PUFFS_KFLAG_CACHE_FS_TTL */ len = strlen(path) + 1; @@ -1160,7 +1181,9 @@ perfuse_node_lookup(struct puffs_usermou * itself. If we want to live, hide that! */ if ((opc == (puffs_cookie_t)pn) (strcmp(pcn-pcn_name, .) != 0)) { - DWARNX(lookup returned parent); + DERRX(EX_SOFTWARE, lookup \%s\ in \%s\ returned parent, + pcn-pcn_name, perfuse_node_path(opc)); + /* NOTREACHED */ return ESTALE; } @@ -1457,7 +1480,7 @@ perfuse_node_open(struct puffs_usermount * so that we can reuse it later */ perfuse_new_fh(opc, foo-fh, mode); - + #ifdef PERFUSE_DEBUG if (perfuse_diagflags (PDF_FH|PDF_FILENAME)) DPRINTF(%s: opc = %p, file = \%s\, @@ -1572,6 +1595,7 @@ perfuse_node_getattr(struct puffs_usermo ps = puffs_getspecific(pu); +#ifndef PUFFS_KFLAG_CACHE_FS_TTL /* * Check for cached attributes * This still require serialized access to
CVS commit: src/lib/libutil
Module Name:src Committed By: wiz Date: Sun Apr 8 16:06:23 UTC 2012 Modified Files: src/lib/libutil: getdiskrawname.3 Log Message: End sentence with dot. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/lib/libutil/getdiskrawname.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libutil/getdiskrawname.3 diff -u src/lib/libutil/getdiskrawname.3:1.1 src/lib/libutil/getdiskrawname.3:1.2 --- src/lib/libutil/getdiskrawname.3:1.1 Sat Apr 7 16:44:39 2012 +++ src/lib/libutil/getdiskrawname.3 Sun Apr 8 16:06:23 2012 @@ -1,4 +1,4 @@ -.\ $NetBSD: getdiskrawname.3,v 1.1 2012/04/07 16:44:39 christos Exp $ +.\ $NetBSD: getdiskrawname.3,v 1.2 2012/04/08 16:06:23 wiz Exp $ .\ .\ Copyright (c) 2012 The NetBSD Foundation, Inc. .\ All rights reserved. @@ -68,4 +68,4 @@ The and .Fn getdiskcookedname functions appeared in -.Nx 7.0 +.Nx 7.0 .
CVS commit: src/lib/libpuffs
Module Name:src Committed By: wiz Date: Sun Apr 8 16:09:55 UTC 2012 Modified Files: src/lib/libpuffs: puffs.3 Log Message: Split file system. Comma fixes. Remove dangling and. Bump date for previous. To generate a diff of this commit: cvs rdiff -u -r1.50 -r1.51 src/lib/libpuffs/puffs.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libpuffs/puffs.3 diff -u src/lib/libpuffs/puffs.3:1.50 src/lib/libpuffs/puffs.3:1.51 --- src/lib/libpuffs/puffs.3:1.50 Sun Apr 8 15:07:45 2012 +++ src/lib/libpuffs/puffs.3 Sun Apr 8 16:09:55 2012 @@ -1,4 +1,4 @@ -.\ $NetBSD: puffs.3,v 1.50 2012/04/08 15:07:45 manu Exp $ +.\ $NetBSD: puffs.3,v 1.51 2012/04/08 16:09:55 wiz Exp $ .\ .\ Copyright (c) 2006, 2007, 2008 Antti Kantee. All rights reserved. .\ @@ -23,7 +23,7 @@ .\ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\ SUCH DAMAGE. .\ -.Dd January 8, 2010 +.Dd April 8, 2012 .Dt PUFFS 3 .Os .Sh NAME @@ -236,16 +236,15 @@ the one searched for. Especially if the file system uses the abovementioned function, it is a good idea to define this flag. .It Dv PUFFS_KFLAG_CACHE_FS_TTL -Enforce name and attribute caches based on filesystem-supplied TTL. -In lookup, create, mknod, mkdir, symlink, getattr and setattr, -the filesystem must update the attributes and their TTL through -.Fn puffs_pn_getvap , -and +Enforce name and attribute caches based on file system-supplied TTL. +In lookup, create, mknod, mkdir, symlink, getattr, and setattr, +the file system must update the attributes and their TTL through +.Fn puffs_pn_getvap +and .Fn puffs_pn_getvattl . .Pp In lookup, create, mknod, mkdir, and symlink, -the name TTL must be updated though -and +the name TTL must be updated through .Fn puffs_pn_getcnttl . .It Dv PUFFS_FLAG_OPDUMP This option makes the framework dump a textual representation of
CVS commit: src/dist/pdisk
Module Name:src Committed By: wiz Date: Sun Apr 8 17:04:07 UTC 2012 Modified Files: src/dist/pdisk: errors.h io.h Log Message: Sprinkle __dead and __printflike for clang. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/dist/pdisk/errors.h cvs rdiff -u -r1.3 -r1.4 src/dist/pdisk/io.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/dist/pdisk/errors.h diff -u src/dist/pdisk/errors.h:1.2 src/dist/pdisk/errors.h:1.3 --- src/dist/pdisk/errors.h:1.2 Wed Jul 13 15:25:29 2005 +++ src/dist/pdisk/errors.h Sun Apr 8 17:04:07 2012 @@ -55,8 +55,8 @@ extern int hflag; // void do_help(void); void init_program_name(char **argv); -void error(int value, const char *fmt, ...); -void fatal(int value, const char *fmt, ...); +void error(int value, const char *fmt, ...) __printflike(2, 3); +void fatal(int value, const char *fmt, ...) __dead __printflike(2, 3); void usage(const char *kind); #endif /* __errors__ */ Index: src/dist/pdisk/io.h diff -u src/dist/pdisk/io.h:1.3 src/dist/pdisk/io.h:1.4 --- src/dist/pdisk/io.h:1.3 Fri Apr 6 22:41:47 2012 +++ src/dist/pdisk/io.h Sun Apr 8 17:04:07 2012 @@ -54,7 +54,7 @@ extern const long kDefault; // // Forward declarations // -void bad_input(const char *fmt, ...); +void bad_input(const char *fmt, ...) __printflike(1, 2); void flush_to_newline(int keep_newline); int get_command(const char *prompt, int promptBeforeGet, int *command); uint32_t get_multiplier(long divisor);
CVS commit: src/dist/pdisk
Module Name:src Committed By: wiz Date: Sun Apr 8 17:04:19 UTC 2012 Modified Files: src/dist/pdisk: pdisk.c Log Message: Fix a format string error clang found. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/dist/pdisk/pdisk.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/dist/pdisk/pdisk.c diff -u src/dist/pdisk/pdisk.c:1.20 src/dist/pdisk/pdisk.c:1.21 --- src/dist/pdisk/pdisk.c:1.20 Fri Apr 6 22:41:47 2012 +++ src/dist/pdisk/pdisk.c Sun Apr 8 17:04:19 2012 @@ -167,12 +167,12 @@ main(int argc, char **argv) init_program_name(argv); if (sizeof(DPME) != PBLOCK_SIZE) { - fatal(-1, Size of partition map entry (%d) + fatal(-1, Size of partition map entry (%lu) is not equal to block size (%d)\n, sizeof(DPME), PBLOCK_SIZE); } if (sizeof(Block0) != PBLOCK_SIZE) { - fatal(-1, Size of block zero structure (%d) + fatal(-1, Size of block zero structure (%lu) is not equal to block size (%d)\n, sizeof(Block0), PBLOCK_SIZE); }
CVS commit: src/dist/pdisk
Module Name:src Committed By: wiz Date: Sun Apr 8 20:41:18 UTC 2012 Modified Files: src/dist/pdisk: pdisk.c Log Message: Cast argument to unsigned long for i386. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/dist/pdisk/pdisk.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/dist/pdisk/pdisk.c diff -u src/dist/pdisk/pdisk.c:1.21 src/dist/pdisk/pdisk.c:1.22 --- src/dist/pdisk/pdisk.c:1.21 Sun Apr 8 17:04:19 2012 +++ src/dist/pdisk/pdisk.c Sun Apr 8 20:41:18 2012 @@ -169,12 +169,12 @@ main(int argc, char **argv) if (sizeof(DPME) != PBLOCK_SIZE) { fatal(-1, Size of partition map entry (%lu) is not equal to block size (%d)\n, - sizeof(DPME), PBLOCK_SIZE); + (unsigned long)sizeof(DPME), PBLOCK_SIZE); } if (sizeof(Block0) != PBLOCK_SIZE) { fatal(-1, Size of block zero structure (%lu) is not equal to block size (%d)\n, - sizeof(Block0), PBLOCK_SIZE); + (unsigned long)sizeof(Block0), PBLOCK_SIZE); } if (strcmp(VERSION, get_version_string()) != 0) { fatal(-1, Version string static form (%s) does not match dynamic form (%s)\n,
CVS commit: src/sys/uvm
Module Name:src Committed By: chs Date: Sun Apr 8 20:47:11 UTC 2012 Modified Files: src/sys/uvm: uvm_amap.c Log Message: initialize amap per-page reference counts before changing the amap's overall reference count. this fixes the crashes seen for the last 9 months with web browers and plugins, which was also the cause of PR 46193. To generate a diff of this commit: cvs rdiff -u -r1.106 -r1.107 src/sys/uvm/uvm_amap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/uvm/uvm_amap.c diff -u src/sys/uvm/uvm_amap.c:1.106 src/sys/uvm/uvm_amap.c:1.107 --- src/sys/uvm/uvm_amap.c:1.106 Fri Mar 30 02:25:24 2012 +++ src/sys/uvm/uvm_amap.c Sun Apr 8 20:47:10 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_amap.c,v 1.106 2012/03/30 02:25:24 chs Exp $ */ +/* $NetBSD: uvm_amap.c,v 1.107 2012/04/08 20:47:10 chs Exp $ */ /* * Copyright (c) 1997 Charles D. Cranor and Washington University. @@ -35,7 +35,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: uvm_amap.c,v 1.106 2012/03/30 02:25:24 chs Exp $); +__KERNEL_RCSID(0, $NetBSD: uvm_amap.c,v 1.107 2012/04/08 20:47:10 chs Exp $); #include opt_uvmhist.h @@ -888,6 +888,7 @@ amap_copy(struct vm_map *map, struct vm_ continue; KASSERT(amap-am_anon[lcv]-an_lock == srcamap-am_lock); KASSERT(amap-am_anon[lcv]-an_ref 0); + KASSERT(amap-am_nused amap-am_maxslot); amap-am_anon[lcv]-an_ref++; amap-am_bckptr[lcv] = amap-am_nused; amap-am_slots[amap-am_nused] = lcv; @@ -1193,6 +1194,7 @@ amap_pp_adjref(struct vm_amap *amap, int } ref += adjval; KASSERT(ref = 0); + KASSERT(ref = amap-am_ref); if (lcv == prevlcv + prevlen ref == prevref) { pp_setreflen(ppref, prevlcv, ref, prevlen + len); } else { @@ -1490,6 +1492,7 @@ amap_add(struct vm_aref *aref, vaddr_t o } } else { KASSERT(amap-am_anon[slot] == NULL); + KASSERT(amap-am_nused amap-am_maxslot); amap-am_bckptr[slot] = amap-am_nused; amap-am_slots[amap-am_nused] = slot; amap-am_nused++; @@ -1534,7 +1537,7 @@ amap_unadd(struct vm_aref *aref, vaddr_t } /* - * amap_adjref_anons: adjust the reference count(s) on anons of the amap. + * amap_adjref_anons: adjust the reference count(s) on amap and its anons. */ static void amap_adjref_anons(struct vm_amap *amap, vaddr_t offset, vsize_t len, @@ -1545,9 +1548,19 @@ amap_adjref_anons(struct vm_amap *amap, #ifdef UVM_AMAP_PPREF KASSERT(mutex_owned(amap-am_lock)); + /* + * We must establish the ppref array before changing am_ref + * so that the ppref values match the current amap refcount. + */ + if (amap-am_ppref == NULL !all len != amap-am_nslot) { amap_pp_establish(amap, offset); } +#endif + + amap-am_ref += refv; + +#ifdef UVM_AMAP_PPREF if (amap-am_ppref amap-am_ppref != PPREF_NONE) { if (all) { amap_pp_adjref(amap, 0, amap-am_nslot, refv, tofree); @@ -1575,7 +1588,6 @@ amap_ref(struct vm_amap *amap, vaddr_t o if (flags AMAP_SHARED) { amap-am_flags |= AMAP_SHARED; } - amap-am_ref++; amap_adjref_anons(amap, offset, len, 1, (flags AMAP_REFALL) != 0); UVMHIST_LOG(maphist,- done! amap=0x%x, amap, 0, 0, 0); @@ -1599,10 +1611,12 @@ amap_unref(struct vm_amap *amap, vaddr_t amap, amap-am_ref, amap-am_nused, 0); KASSERT(amap-am_ref 0); - if (--amap-am_ref == 0) { + if (amap-am_ref == 1) { + /* * If the last reference - wipeout and destroy the amap. */ + amap-am_ref--; amap_wipeout(amap); UVMHIST_LOG(maphist,- done (was last ref)!, 0, 0, 0, 0); return; @@ -1612,7 +1626,7 @@ amap_unref(struct vm_amap *amap, vaddr_t * Otherwise, drop the reference count(s) on anons. */ - if (amap-am_ref == 1 (amap-am_flags AMAP_SHARED) != 0) { + if (amap-am_ref == 2 (amap-am_flags AMAP_SHARED) != 0) { amap-am_flags = ~AMAP_SHARED; } amap_adjref_anons(amap, offset, len, -1, all);
CVS commit: src/sys
Module Name:src Committed By: christos Date: Sun Apr 8 20:49:29 UTC 2012 Modified Files: src/sys/arch/i386/conf: GENERIC src/sys/dev/cardbus: files.cardbus Added Files: src/sys/dev/cardbus: if_bwi_cardbus.c Log Message: PR/46310: Ryo ONODERA: Add support for cardbus bwi(4) To generate a diff of this commit: cvs rdiff -u -r1.1069 -r1.1070 src/sys/arch/i386/conf/GENERIC cvs rdiff -u -r1.36 -r1.37 src/sys/dev/cardbus/files.cardbus cvs rdiff -u -r0 -r1.1 src/sys/dev/cardbus/if_bwi_cardbus.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/i386/conf/GENERIC diff -u src/sys/arch/i386/conf/GENERIC:1.1069 src/sys/arch/i386/conf/GENERIC:1.1070 --- src/sys/arch/i386/conf/GENERIC:1.1069 Sat Apr 7 01:40:41 2012 +++ src/sys/arch/i386/conf/GENERIC Sun Apr 8 16:49:29 2012 @@ -1,4 +1,4 @@ -# $NetBSD: GENERIC,v 1.1069 2012/04/07 05:40:41 christos Exp $ +# $NetBSD: GENERIC,v 1.1070 2012/04/08 20:49:29 christos Exp $ # # GENERIC machine description file # @@ -22,7 +22,7 @@ include arch/i386/conf/std.i386 options INCLUDE_CONFIG_FILE # embed config file in kernel binary -#ident GENERIC-$Revision: 1.1069 $ +#ident GENERIC-$Revision: 1.1070 $ maxusers 64 # estimated number of users @@ -1061,6 +1061,7 @@ we1 at isa? port 0x300 iomem 0xcc000 irq # CardBus network cards ath* at cardbus? function ? # Atheros 5210/5211/5212 802.11 atw* at cardbus? function ? # ADMtek ADM8211 (802.11) +bwi* at cardbus? function ? # Broadcom BCM43xx wireless ex* at cardbus? function ? # 3Com 3c575TX fxp* at cardbus? function ? # Intel i8255x ral* at cardbus? function ? # Ralink Technology RT25x0 802.11a/b/g Index: src/sys/dev/cardbus/files.cardbus diff -u src/sys/dev/cardbus/files.cardbus:1.36 src/sys/dev/cardbus/files.cardbus:1.37 --- src/sys/dev/cardbus/files.cardbus:1.36 Fri Mar 26 23:04:51 2010 +++ src/sys/dev/cardbus/files.cardbus Sun Apr 8 16:49:29 2012 @@ -1,4 +1,4 @@ -# $NetBSD: files.cardbus,v 1.36 2010/03/27 03:04:51 nonaka Exp $ +# $NetBSD: files.cardbus,v 1.37 2012/04/08 20:49:29 christos Exp $ # # files.cardbus # @@ -59,6 +59,12 @@ attach tlp at cardbus with tlp_cardbus file dev/cardbus/if_tlp_cardbus.c tlp_cardbus # +# Broadcom BCM43xx wireless +# +attach bwi at cardbus with bwi_cardbus +file dev/cardbus/if_bwi_cardbus.c bwi_cardbus + +# # OHCI USB controller # attach ohci at cardbus with ohci_cardbus Added files: Index: src/sys/dev/cardbus/if_bwi_cardbus.c diff -u /dev/null src/sys/dev/cardbus/if_bwi_cardbus.c:1.1 --- /dev/null Sun Apr 8 16:49:29 2012 +++ src/sys/dev/cardbus/if_bwi_cardbus.c Sun Apr 8 16:49:29 2012 @@ -0,0 +1,287 @@ +/* $NetBSD: if_bwi_cardbus.c,v 1.1 2012/04/08 20:49:29 christos Exp $ */ +/* $OpenBSD: if_bwi_cardbus.c,v 1.13 2010/08/06 05:26:24 mglocker Exp $ */ + +/* + * Copyright (c) 2007 Marcus Glocker mgloc...@openbsd.org + * Copyright (c) 2006 Claudio Jeker clau...@openbsd.org + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED AS IS AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* + * Cardbus front-end for the Broadcom AirForce + */ + +#include sys/cdefs.h +__KERNEL_RCSID(0,$NetBSD: if_bwi_cardbus.c,v 1.1 2012/04/08 20:49:29 christos Exp $); + +#include opt_inet.h + +#include sys/param.h +#include sys/callout.h +#include sys/device.h +#include sys/kernel.h +#include sys/malloc.h +#include sys/mbuf.h +#include sys/socket.h +#include sys/sockio.h +#include sys/systm.h +#include sys/errno.h + +#include machine/endian.h + +#include net/if.h +#include net/if_dl.h +#include net/if_ether.h +#include net/if_media.h + +#include net80211/ieee80211_var.h +#include net80211/ieee80211_amrr.h +#include net80211/ieee80211_radiotap.h + +#include dev/pci/pcireg.h +#include dev/pci/pcivar.h + +#include dev/cardbus/cardbusvar.h + +#include dev/ic/bwireg.h +#include dev/ic/bwivar.h +#include dev/pci/pcidevs.h + +struct bwi_cardbus_softc { + struct bwi_softc csc_bwi; + + /* cardbus specific goo */ + cardbus_devfunc_t csc_ct; + pcitag_t csc_tag; + void *csc_ih; + + bus_size_t csc_mapsize; + pcireg_t csc_bar_val; + int csc_intrline; + pci_chipset_tag_t csc_pc; +}; + +int bwi_cardbus_match(device_t, cfdata_t, void*); +void bwi_cardbus_attach(device_t, device_t, void *); +int bwi_cardbus_detach(device_t,
CVS commit: src/lib/libutil
Module Name:src Committed By: christos Date: Sun Apr 8 20:56:12 UTC 2012 Modified Files: src/lib/libutil: getfsspecname.c Log Message: Fix compat code, so if we failed to make raw, return the regular path. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/lib/libutil/getfsspecname.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/libutil/getfsspecname.c diff -u src/lib/libutil/getfsspecname.c:1.2 src/lib/libutil/getfsspecname.c:1.3 --- src/lib/libutil/getfsspecname.c:1.2 Sat Apr 7 13:10:02 2012 +++ src/lib/libutil/getfsspecname.c Sun Apr 8 16:56:12 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: getfsspecname.c,v 1.2 2012/04/07 17:10:02 christos Exp $ */ +/* $NetBSD: getfsspecname.c,v 1.3 2012/04/08 20:56:12 christos Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include sys/cdefs.h -__RCSID($NetBSD: getfsspecname.c,v 1.2 2012/04/07 17:10:02 christos Exp $); +__RCSID($NetBSD: getfsspecname.c,v 1.3 2012/04/08 20:56:12 christos Exp $); #include sys/types.h #include sys/sysctl.h @@ -67,18 +67,15 @@ getfsspecname(char *buf, size_t bufsiz, */ char rbuf[MAXPATHLEN]; if (name[0] == '/') { - if (getdiskrawname(rbuf, sizeof(rbuf), name) == NULL) { -savee = errno; -strlcpy(buf, makeraw failed, bufsiz); -goto out; + if (getdiskrawname(rbuf, sizeof(rbuf), name) != NULL) { +if ((fd = open(rbuf, O_RDONLY)) == -1) { + if (errno == EBUSY) { + name = strrchr(name, '/') + 1; + goto search; + } +} else + close(fd); } - if ((fd = open(rbuf, O_RDONLY)) == -1) { -if (errno == EBUSY) { - name = strrchr(name, '/') + 1; - goto search; -} - } else -close(fd); } #endif strlcpy(buf, name, bufsiz);
CVS commit: src/dist/pdisk
Module Name:src Committed By: christos Date: Sun Apr 8 21:18:46 UTC 2012 Modified Files: src/dist/pdisk: pdisk.c Log Message: print sizeof() with %zu To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/dist/pdisk/pdisk.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/dist/pdisk/pdisk.c diff -u src/dist/pdisk/pdisk.c:1.22 src/dist/pdisk/pdisk.c:1.23 --- src/dist/pdisk/pdisk.c:1.22 Sun Apr 8 16:41:18 2012 +++ src/dist/pdisk/pdisk.c Sun Apr 8 17:18:46 2012 @@ -167,14 +167,12 @@ main(int argc, char **argv) init_program_name(argv); if (sizeof(DPME) != PBLOCK_SIZE) { - fatal(-1, Size of partition map entry (%lu) - is not equal to block size (%d)\n, - (unsigned long)sizeof(DPME), PBLOCK_SIZE); + fatal(-1, Size of partition map entry (%zu) + is not equal to block size (%d)\n, sizeof(DPME), PBLOCK_SIZE); } if (sizeof(Block0) != PBLOCK_SIZE) { - fatal(-1, Size of block zero structure (%lu) - is not equal to block size (%d)\n, - (unsigned long)sizeof(Block0), PBLOCK_SIZE); + fatal(-1, Size of block zero structure (%zu) + is not equal to block size (%d)\n, sizeof(Block0), PBLOCK_SIZE); } if (strcmp(VERSION, get_version_string()) != 0) { fatal(-1, Version string static form (%s) does not match dynamic form (%s)\n,
CVS commit: src
Module Name:src Committed By: wiz Date: Sun Apr 8 22:00:42 UTC 2012 Modified Files: src/sbin/dump_lfs: dump_lfs.8 src/sbin/fdisk: fdisk.8 src/sbin/mount_nfs: mount_nfs.8 src/sbin/ping6: ping6.8 src/sbin/tunefs: tunefs.8 src/usr.bin/crunch/crunchgen: crunchgen.1 src/usr.bin/crunch/crunchide: crunchide.1 src/usr.bin/fdformat: fdformat.1 src/usr.bin/ftp: ftp.1 src/usr.bin/grep: grep.1 src/usr.bin/hexdump: hexdump.1 od.1 src/usr.bin/indent: indent.1 src/usr.bin/ipcs: ipcs.1 src/usr.bin/join: join.1 src/usr.bin/jot: jot.1 src/usr.bin/m4: m4.1 src/usr.bin/make: make.1 src/usr.bin/nl: nl.1 src/usr.bin/patch: patch.1 src/usr.bin/pr: pr.1 src/usr.bin/telnet: telnet.1 src/usr.bin/vgrind: vgrind.1 src/usr.bin/xinstall: install.1 src/usr.sbin/apm: apm.8 src/usr.sbin/apmd: apmd.8 src/usr.sbin/lpr/lp: lp.1 src/usr.sbin/lpr/lpc: lpc.8 src/usr.sbin/lpr/lpr: lpr.1 src/usr.sbin/lpr/lprm: lprm.1 src/usr.sbin/lpr/pac: pac.8 src/usr.sbin/route6d: route6d.8 src/usr.sbin/syslogd: syslogd.8 src/usr.sbin/tpctl: tpctl.8 src/usr.sbin/vipw: vipw.8 src/usr.sbin/ypserv/makedbm: makedbm.8 src/usr.sbin/ypserv/mknetid: mknetid.8 src/usr.sbin/ypserv/revnetgroup: revnetgroup.8 src/usr.sbin/ypserv/yppush: yppush.8 src/usr.sbin/ypserv/ypxfr: ypxfr.8 Log Message: Remove unnecessary Bk/Ek pairs from SYNOPSIS. No effective change except where I used the opportunity to sort options and/or option descriptions. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/sbin/dump_lfs/dump_lfs.8 cvs rdiff -u -r1.76 -r1.77 src/sbin/fdisk/fdisk.8 cvs rdiff -u -r1.41 -r1.42 src/sbin/mount_nfs/mount_nfs.8 cvs rdiff -u -r1.27 -r1.28 src/sbin/ping6/ping6.8 cvs rdiff -u -r1.40 -r1.41 src/sbin/tunefs/tunefs.8 cvs rdiff -u -r1.28 -r1.29 src/usr.bin/crunch/crunchgen/crunchgen.1 cvs rdiff -u -r1.14 -r1.15 src/usr.bin/crunch/crunchide/crunchide.1 cvs rdiff -u -r1.17 -r1.18 src/usr.bin/fdformat/fdformat.1 cvs rdiff -u -r1.132 -r1.133 src/usr.bin/ftp/ftp.1 cvs rdiff -u -r1.3 -r1.4 src/usr.bin/grep/grep.1 cvs rdiff -u -r1.21 -r1.22 src/usr.bin/hexdump/hexdump.1 cvs rdiff -u -r1.25 -r1.26 src/usr.bin/hexdump/od.1 cvs rdiff -u -r1.20 -r1.21 src/usr.bin/indent/indent.1 cvs rdiff -u -r1.16 -r1.17 src/usr.bin/ipcs/ipcs.1 cvs rdiff -u -r1.12 -r1.13 src/usr.bin/join/join.1 cvs rdiff -u -r1.11 -r1.12 src/usr.bin/jot/jot.1 cvs rdiff -u -r1.22 -r1.23 src/usr.bin/m4/m4.1 cvs rdiff -u -r1.201 -r1.202 src/usr.bin/make/make.1 cvs rdiff -u -r1.11 -r1.12 src/usr.bin/nl/nl.1 cvs rdiff -u -r1.14 -r1.15 src/usr.bin/patch/patch.1 cvs rdiff -u -r1.17 -r1.18 src/usr.bin/pr/pr.1 cvs rdiff -u -r1.32 -r1.33 src/usr.bin/telnet/telnet.1 cvs rdiff -u -r1.14 -r1.15 src/usr.bin/vgrind/vgrind.1 cvs rdiff -u -r1.46 -r1.47 src/usr.bin/xinstall/install.1 cvs rdiff -u -r1.20 -r1.21 src/usr.sbin/apm/apm.8 cvs rdiff -u -r1.21 -r1.22 src/usr.sbin/apmd/apmd.8 cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/lpr/lp/lp.1 cvs rdiff -u -r1.17 -r1.18 src/usr.sbin/lpr/lpc/lpc.8 cvs rdiff -u -r1.19 -r1.20 src/usr.sbin/lpr/lpr/lpr.1 cvs rdiff -u -r1.16 -r1.17 src/usr.sbin/lpr/lprm/lprm.1 cvs rdiff -u -r1.11 -r1.12 src/usr.sbin/lpr/pac/pac.8 cvs rdiff -u -r1.13 -r1.14 src/usr.sbin/route6d/route6d.8 cvs rdiff -u -r1.50 -r1.51 src/usr.sbin/syslogd/syslogd.8 cvs rdiff -u -r1.4 -r1.5 src/usr.sbin/tpctl/tpctl.8 cvs rdiff -u -r1.15 -r1.16 src/usr.sbin/vipw/vipw.8 cvs rdiff -u -r1.13 -r1.14 src/usr.sbin/ypserv/makedbm/makedbm.8 cvs rdiff -u -r1.11 -r1.12 src/usr.sbin/ypserv/mknetid/mknetid.8 cvs rdiff -u -r1.10 -r1.11 src/usr.sbin/ypserv/revnetgroup/revnetgroup.8 cvs rdiff -u -r1.12 -r1.13 src/usr.sbin/ypserv/yppush/yppush.8 cvs rdiff -u -r1.13 -r1.14 src/usr.sbin/ypserv/ypxfr/ypxfr.8 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sbin/dump_lfs/dump_lfs.8 diff -u src/sbin/dump_lfs/dump_lfs.8:1.15 src/sbin/dump_lfs/dump_lfs.8:1.16 --- src/sbin/dump_lfs/dump_lfs.8:1.15 Fri Jan 30 11:55:04 2009 +++ src/sbin/dump_lfs/dump_lfs.8 Sun Apr 8 22:00:37 2012 @@ -1,4 +1,4 @@ -.\ $NetBSD: dump_lfs.8,v 1.15 2009/01/30 11:55:04 enami Exp $ +.\ $NetBSD: dump_lfs.8,v 1.16 2012/04/08 22:00:37 wiz Exp $ .\ .\ Copyright (c) 1980, 1991, 1993 .\ Regents of the University of California. @@ -40,42 +40,18 @@ .Sh SYNOPSIS .Nm .Op Fl 0123456789aceFnStuX -.Bk -words .Op Fl B Ar records -.Ek -.Bk -words .Op Fl b Ar blocksize -.Ek -.Bk -words .Op Fl d Ar density -.Ek -.Bk -words .Op Fl f Ar file -.Ek -.Bk -words .Op Fl h Ar level -.Ek -.Bk -words .Op Fl k Ar read-blocksize -.Ek -.Bk -words .Op Fl L Ar label -.Ek -.Bk -words .Op Fl l Ar timeout -.Ek -.Bk -words .Op Fl r Ar cachesize -.Ek -.Bk -words .Op Fl s Ar
CVS commit: src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++
Module Name:src Committed By: wiz Date: Mon Apr 9 00:24:57 UTC 2012 Modified Files: src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++: nested_exception.h Log Message: clang complains: C++ default arguments are illegal in the function defininion. christos@ ok To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r1.2 \ src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/nested_exception.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/nested_exception.h diff -u src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/nested_exception.h:1.1.1.1 src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/nested_exception.h:1.2 --- src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/nested_exception.h:1.1.1.1 Tue Jun 21 01:24:47 2011 +++ src/external/gpl3/gcc/dist/libstdc++-v3/libsupc++/nested_exception.h Mon Apr 9 00:24:57 2012 @@ -119,7 +119,7 @@ namespace std // with a type that has an accessible nested_exception base. templatetypename _Ex inline void -__throw_with_nested(_Ex __ex, const nested_exception* = 0) +__throw_with_nested(_Ex __ex, const nested_exception*) { throw __ex; } templatetypename _Ex