Re: CVS commit: src/sbin/disklabel
On Wed, May 15, 2013 at 09:48:03AM +0900, tsugutomo.en...@jp.sony.com wrote: Christos Zoulas chris...@astron.com writes: Are you worried about efficiency here? Yes, you can fix it differently by checking if LABEL_OFFSET fits. I don't worry about efficiency. I've just noticed build failure on i386, and wondering what was wrong. I thought it would be better if warned when LABEL_OFFSET exceeds bootarea_len, but strictly speaking it is different matter. I remember there being 2 main constraints: 1) Everything has to fit in the first 8k of the disk. 2) The netbsd label must not cross a 512 byte boundary. The second constraint stopped a lot of architectures have a the default number of partitins increased. One problem is that non-boot media and exchangeable media need to be read by different sustems that have different LABEL_SECTOR and LABEL_OFFSET. I don't remember there being a was of deterimining how much space was allocated on a volume for the label. The 'partition count' is used to mean 'the number of fields with values in them', possibly the checksum could be used (assuming that any zeros can be over written). Then there is the issue of 'c' and 'd'. The x86 kernel sets the in memory 'c' and 'd' based on the disk size (etc) regardless of the disklabel contents. The 'c' partition info is almost never used (I think it is/was used to determine the label secton that can't be written to). If you put a disk where 'c' is raw, and 'd' is u user partition into an x86 system the 'd' partition could be made available as wd0c! David -- David Laight: da...@l8s.co.uk
Re: CVS commit: src/sbin/disklabel
On May 15, 9:48am, tsugutomo.en...@jp.sony.com (tsugutomo.en...@jp.sony.com) wrote: -- Subject: Re: CVS commit: src/sbin/disklabel | Christos Zoulas chris...@astron.com writes: | | Are you worried about efficiency here? Yes, you can fix it differently | by checking if LABEL_OFFSET fits. | | I don't worry about efficiency. | | I've just noticed build failure on i386, and wondering what was wrong. | | I thought it would be better if warned when LABEL_OFFSET exceeds | bootarea_len, but strictly speaking it is different matter. Yes, I got confused with the format string and gcc is not very picky about incorrect types. I fixed it, but yes, we can fix it differently. christos
CVS commit: src/sys/arch/evbarm/conf
Module Name:src Committed By: reinoud Date: Wed May 15 12:16:41 UTC 2013 Modified Files: src/sys/arch/evbarm/conf: RPI Log Message: Add missing filesystems in the filesystem list but comment them out. Add missing KGDB options needed for KGDB working To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/sys/arch/evbarm/conf/RPI Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/conf/RPI diff -u src/sys/arch/evbarm/conf/RPI:1.32 src/sys/arch/evbarm/conf/RPI:1.33 --- src/sys/arch/evbarm/conf/RPI:1.32 Tue May 7 20:11:54 2013 +++ src/sys/arch/evbarm/conf/RPI Wed May 15 12:16:41 2013 @@ -1,5 +1,5 @@ # -# $NetBSD: RPI,v 1.32 2013/05/07 20:11:54 skrll Exp $ +# $NetBSD: RPI,v 1.33 2013/05/15 12:16:41 reinoud Exp $ # # RPi -- Raspberry Pi # @@ -42,6 +42,9 @@ file-system PROCFS # /proc #file-system UMAPFS # NULLFS + uid and gid remapping #file-system UNION # union file system file-system TMPFS # memory file system +#file-system UDF # experimental - OSTA UDF CD/DVD file-system +#file-system HFS # experimental - Apple HFS+ (read-only) +#file-system NILFS # experimental - NTT's NiLFS(2) file-system PTYFS # /dev/pts/N support # File system options @@ -139,7 +142,7 @@ options DEBUG options DDB # in-kernel debugger options DDB_ONPANIC=1 options DDB_HISTORY_SIZE=100 # Enable history editing in DDB -#options KGDB +#options KGDB,KGDB_PLCOMUNIT=0,KGDB_DEVRATE=115200,KGDB_CONMODE=0xB00 makeoptions DEBUG=-g # compile full symbol table options SYMTAB_SPACE=80 options PLCONSOLE
CVS commit: src/sys/arch/evbarm/conf
Module Name:src Committed By: reinoud Date: Wed May 15 12:20:04 UTC 2013 Modified Files: src/sys/arch/evbarm/conf: MARVELL_NAS Log Message: Add (arbitrary) USB serial port support. XXX why aren't other classes of USB devices added? To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/sys/arch/evbarm/conf/MARVELL_NAS Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/conf/MARVELL_NAS diff -u src/sys/arch/evbarm/conf/MARVELL_NAS:1.14 src/sys/arch/evbarm/conf/MARVELL_NAS:1.15 --- src/sys/arch/evbarm/conf/MARVELL_NAS:1.14 Sat Apr 27 22:21:13 2013 +++ src/sys/arch/evbarm/conf/MARVELL_NAS Wed May 15 12:20:04 2013 @@ -1,4 +1,4 @@ -# $NetBSD: MARVELL_NAS,v 1.14 2013/04/27 22:21:13 christos Exp $ +# $NetBSD: MARVELL_NAS,v 1.15 2013/05/15 12:20:04 reinoud Exp $ # # This configuration supports for generically Marvell NAS. @@ -230,6 +230,10 @@ uhub* at uhub? port ? umass* at uhub? port ? configuration ? interface ? wd* at umass? +# USB Serial +uplcom* at uhub? port ? # I/O DATA USB-RSAQ2 serial adapter +ucom* at uplcom? portno ? + # Pseudo-Devices
CVS commit: src/sys/rump/librump/rumpkern
Module Name:src Committed By: pooka Date: Wed May 15 12:49:33 UTC 2013 Modified Files: src/sys/rump/librump/rumpkern: ltsleep.c Log Message: qlock can now be a regular kernel spin mutex instead of a rumpuser mutex. To generate a diff of this commit: cvs rdiff -u -r1.31 -r1.32 src/sys/rump/librump/rumpkern/ltsleep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/rump/librump/rumpkern/ltsleep.c diff -u src/sys/rump/librump/rumpkern/ltsleep.c:1.31 src/sys/rump/librump/rumpkern/ltsleep.c:1.32 --- src/sys/rump/librump/rumpkern/ltsleep.c:1.31 Sun Apr 28 13:37:52 2013 +++ src/sys/rump/librump/rumpkern/ltsleep.c Wed May 15 12:49:33 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: ltsleep.c,v 1.31 2013/04/28 13:37:52 pooka Exp $ */ +/* $NetBSD: ltsleep.c,v 1.32 2013/05/15 12:49:33 pooka Exp $ */ /* * Copyright (c) 2009, 2010 Antti Kantee. All Rights Reserved. @@ -34,7 +34,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: ltsleep.c,v 1.31 2013/04/28 13:37:52 pooka Exp $); +__KERNEL_RCSID(0, $NetBSD: ltsleep.c,v 1.32 2013/05/15 12:49:33 pooka Exp $); #include sys/param.h #include sys/kernel.h @@ -58,7 +58,7 @@ struct ltsleeper { #define kcv u.kern static LIST_HEAD(, ltsleeper) sleepers = LIST_HEAD_INITIALIZER(sleepers); -static struct rumpuser_mtx *qlock; +static kmutex_t *qlock; static int sleeper(wchan_t ident, int timo, kmutex_t *kinterlock) @@ -76,9 +76,9 @@ sleeper(wchan_t ident, int timo, kmutex_ rumpuser_cv_init(lts.ucv); } - rumpuser_mutex_enter_nowrap(qlock); + mutex_spin_enter(qlock); LIST_INSERT_HEAD(sleepers, lts, entries); - rumpuser_mutex_exit(qlock); + mutex_exit(qlock); if (timo) { if (kinterlock) { @@ -104,9 +104,9 @@ sleeper(wchan_t ident, int timo, kmutex_ rv = 0; } - rumpuser_mutex_enter_nowrap(qlock); + mutex_spin_enter(qlock); LIST_REMOVE(lts, entries); - rumpuser_mutex_exit(qlock); + mutex_exit(qlock); if (kinterlock) cv_destroy(lts.kcv); @@ -152,7 +152,7 @@ wakeup(wchan_t ident) { struct ltsleeper *ltsp; - rumpuser_mutex_enter_nowrap(qlock); + mutex_spin_enter(qlock); LIST_FOREACH(ltsp, sleepers, entries) { if (ltsp-id == ident) { if (ltsp-iskwait) { @@ -162,12 +162,12 @@ wakeup(wchan_t ident) } } } - rumpuser_mutex_exit(qlock); + mutex_exit(qlock); } void rump_tsleep_init() { - rumpuser_mutex_init(qlock, RUMPUSER_MTX_SPIN); + mutex_init(qlock, MUTEX_SPIN, IPL_NONE); }
CVS commit: [khorben-n900] src/sys/dev/spi
Module Name:src Committed By: khorben Date: Wed May 15 13:52:19 UTC 2013 Modified Files: src/sys/dev/spi [khorben-n900]: files.spi spi.c spivar.h Log Message: Let the bus speed of SPI devices be specified within the kernel configuration. To generate a diff of this commit: cvs rdiff -u -r1.2.114.1 -r1.2.114.2 src/sys/dev/spi/files.spi cvs rdiff -u -r1.8.6.1 -r1.8.6.2 src/sys/dev/spi/spi.c cvs rdiff -u -r1.4.20.1 -r1.4.20.2 src/sys/dev/spi/spivar.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/dev/spi/files.spi diff -u src/sys/dev/spi/files.spi:1.2.114.1 src/sys/dev/spi/files.spi:1.2.114.2 --- src/sys/dev/spi/files.spi:1.2.114.1 Fri May 10 01:25:07 2013 +++ src/sys/dev/spi/files.spi Wed May 15 13:52:19 2013 @@ -1,8 +1,8 @@ -# $NetBSD: files.spi,v 1.2.114.1 2013/05/10 01:25:07 khorben Exp $ +# $NetBSD: files.spi,v 1.2.114.2 2013/05/15 13:52:19 khorben Exp $ define spibus { } -device spi { slave, [intr = -1] } +device spi { slave, [intr = -1], [speed = -1] } attach spi at spibus file dev/spi/spi.c spi | spibus Index: src/sys/dev/spi/spi.c diff -u src/sys/dev/spi/spi.c:1.8.6.1 src/sys/dev/spi/spi.c:1.8.6.2 --- src/sys/dev/spi/spi.c:1.8.6.1 Fri May 10 01:25:07 2013 +++ src/sys/dev/spi/spi.c Wed May 15 13:52:19 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: spi.c,v 1.8.6.1 2013/05/10 01:25:07 khorben Exp $ */ +/* $NetBSD: spi.c,v 1.8.6.2 2013/05/15 13:52:19 khorben Exp $ */ /*- * Copyright (c) 2006 Urbana-Champaign Independent Media Center. @@ -42,7 +42,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: spi.c,v 1.8.6.1 2013/05/10 01:25:07 khorben Exp $); +__KERNEL_RCSID(0, $NetBSD: spi.c,v 1.8.6.2 2013/05/15 13:52:19 khorben Exp $); #include locators.h @@ -120,6 +120,7 @@ spi_search(device_t parent, cfdata_t cf, sa.sa_handle = sc-sc_slaves[addr]; sa.sa_intr = cf-cf_loc[SPICF_INTR]; + sa.sa_speed = cf-cf_loc[SPICF_SPEED]; if (config_match(parent, cf, sa) 0) config_attach(parent, cf, sa, spi_print); @@ -197,8 +198,7 @@ spi_configure(struct spi_handle *sh, int if (sc-sc_speed) speed = min(sc-sc_speed, speed); - rv = (*tag-sct_configure)(tag-sct_cookie, sh-sh_slave, - mode, speed); + rv = (*tag-sct_configure)(tag-sct_cookie, sh-sh_slave, mode, speed); if (rv == 0) { sc-sc_mode = mode; @@ -211,7 +211,6 @@ spi_configure(struct spi_handle *sh, int void spi_transfer_init(struct spi_transfer *st) { - mutex_init(st-st_lock, MUTEX_DEFAULT, IPL_BIO); cv_init(st-st_cv, spicv); Index: src/sys/dev/spi/spivar.h diff -u src/sys/dev/spi/spivar.h:1.4.20.1 src/sys/dev/spi/spivar.h:1.4.20.2 --- src/sys/dev/spi/spivar.h:1.4.20.1 Fri May 10 01:25:07 2013 +++ src/sys/dev/spi/spivar.h Wed May 15 13:52:19 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: spivar.h,v 1.4.20.1 2013/05/10 01:25:07 khorben Exp $ */ +/* $NetBSD: spivar.h,v 1.4.20.2 2013/05/15 13:52:19 khorben Exp $ */ /*- * Copyright (c) 2006 Urbana-Champaign Independent Media Center. @@ -83,6 +83,7 @@ struct spibus_attach_args { struct spi_attach_args { struct spi_handle *sa_handle; int sa_intr; + int sa_speed; }; /*
CVS commit: src/sys/rump/librump/rumpkern
Module Name:src Committed By: pooka Date: Wed May 15 13:58:14 UTC 2013 Modified Files: src/sys/rump/librump/rumpkern: ltsleep.c Log Message: how did that extra asterisk get there? To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/sys/rump/librump/rumpkern/ltsleep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/rump/librump/rumpkern/ltsleep.c diff -u src/sys/rump/librump/rumpkern/ltsleep.c:1.32 src/sys/rump/librump/rumpkern/ltsleep.c:1.33 --- src/sys/rump/librump/rumpkern/ltsleep.c:1.32 Wed May 15 12:49:33 2013 +++ src/sys/rump/librump/rumpkern/ltsleep.c Wed May 15 13:58:14 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: ltsleep.c,v 1.32 2013/05/15 12:49:33 pooka Exp $ */ +/* $NetBSD: ltsleep.c,v 1.33 2013/05/15 13:58:14 pooka Exp $ */ /* * Copyright (c) 2009, 2010 Antti Kantee. All Rights Reserved. @@ -34,7 +34,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: ltsleep.c,v 1.32 2013/05/15 12:49:33 pooka Exp $); +__KERNEL_RCSID(0, $NetBSD: ltsleep.c,v 1.33 2013/05/15 13:58:14 pooka Exp $); #include sys/param.h #include sys/kernel.h @@ -58,7 +58,7 @@ struct ltsleeper { #define kcv u.kern static LIST_HEAD(, ltsleeper) sleepers = LIST_HEAD_INITIALIZER(sleepers); -static kmutex_t *qlock; +static kmutex_t qlock; static int sleeper(wchan_t ident, int timo, kmutex_t *kinterlock)
CVS commit: src
Module Name:src Committed By: pooka Date: Wed May 15 14:07:26 UTC 2013 Modified Files: src/lib/librumpuser: rumpuser.3 rumpuser_pth.c src/sys/rump/include/rump: rumpuser.h src/sys/rump/librump/rumpkern: lwproc.c rump.c scheduler.c Log Message: Add RUMPUSER_LWP_CLEAR instead of overloading RUMPUSER_LWP_SET. This simplifies some alternative hypervisor implementations. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/lib/librumpuser/rumpuser.3 cvs rdiff -u -r1.28 -r1.29 src/lib/librumpuser/rumpuser_pth.c cvs rdiff -u -r1.103 -r1.104 src/sys/rump/include/rump/rumpuser.h cvs rdiff -u -r1.22 -r1.23 src/sys/rump/librump/rumpkern/lwproc.c cvs rdiff -u -r1.268 -r1.269 src/sys/rump/librump/rumpkern/rump.c cvs rdiff -u -r1.33 -r1.34 src/sys/rump/librump/rumpkern/scheduler.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/librumpuser/rumpuser.3 diff -u src/lib/librumpuser/rumpuser.3:1.9 src/lib/librumpuser/rumpuser.3:1.10 --- src/lib/librumpuser/rumpuser.3:1.9 Fri May 3 20:27:16 2013 +++ src/lib/librumpuser/rumpuser.3 Wed May 15 14:07:26 2013 @@ -1,4 +1,4 @@ -.\ $NetBSD: rumpuser.3,v 1.9 2013/05/03 20:27:16 wiz Exp $ +.\ $NetBSD: rumpuser.3,v 1.10 2013/05/15 14:07:26 pooka Exp $ .\ .\ Copyright (c) 2013 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 May 2, 2013 +.Dd May 15, 2013 .Dt RUMPUSER 3 .Os .Sh NAME @@ -475,10 +475,14 @@ from the hypervisor. Set .Fa l as the current host thread's rump kernel context. -The value -.Dv NULL -means that an existing rump kernel context (which must exist) -must be cleared. +A previous context must not exist. +.It Dv RUMPUSER_LWP_CLEAR +Clear the context previous set by +.Dv RUMPUSER_LWP_SET . +The value passed in +.Fa l +is the current thread and is never +.Dv NULL. .El .Pp .Ft struct lwp * @@ -641,7 +645,8 @@ Routines which do not return an integer .%A Antti Kantee .%D 2012 .%J Aalto University Doctoral Dissertations -.%T Flexible Operating System Internals: The Design and Implementation of the Anykernel and Rump Kernerls +.%T Flexible Operating System Internals: The Design and Implementation of the Anykernel and Rump Kernels +.%O Section 2.3.2: The Hypercall Interface .Re .Sh HISTORY The rump kernel hypercall API was first introduced in Index: src/lib/librumpuser/rumpuser_pth.c diff -u src/lib/librumpuser/rumpuser_pth.c:1.28 src/lib/librumpuser/rumpuser_pth.c:1.29 --- src/lib/librumpuser/rumpuser_pth.c:1.28 Sun May 5 12:27:38 2013 +++ src/lib/librumpuser/rumpuser_pth.c Wed May 15 14:07:26 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser_pth.c,v 1.28 2013/05/05 12:27:38 pooka Exp $ */ +/* $NetBSD: rumpuser_pth.c,v 1.29 2013/05/15 14:07:26 pooka Exp $ */ /* * Copyright (c) 2007-2010 Antti Kantee. All Rights Reserved. @@ -28,7 +28,7 @@ #include rumpuser_port.h #if !defined(lint) -__RCSID($NetBSD: rumpuser_pth.c,v 1.28 2013/05/05 12:27:38 pooka Exp $); +__RCSID($NetBSD: rumpuser_pth.c,v 1.29 2013/05/15 14:07:26 pooka Exp $); #endif /* !lint */ #include sys/queue.h @@ -627,26 +627,27 @@ rumpuser_curlwpop(enum rumplwpop op, str free(rl); break; case RUMPUSER_LWP_SET: - assert(pthread_getspecific(curlwpkey) == NULL || l == NULL); + assert(pthread_getspecific(curlwpkey) == NULL l != NULL); - if (l) { - pthread_mutex_lock(lwplock); - LIST_FOREACH(rl, lwps, l_entries) { -if (rl-l == l) - break; - } - if (!rl) { -fprintf(stderr, -LWP_SET: %p does not exist\n, l); -abort(); - } - pthread_mutex_unlock(lwplock); - } else { - rl = NULL; + pthread_mutex_lock(lwplock); + LIST_FOREACH(rl, lwps, l_entries) { + if (rl-l == l) +break; } + if (!rl) { + fprintf(stderr, + LWP_SET: %p does not exist\n, l); + abort(); + } + pthread_mutex_unlock(lwplock); pthread_setspecific(curlwpkey, rl); break; + case RUMPUSER_LWP_CLEAR: + assert(((struct rumpuser_lwp *) + pthread_getspecific(curlwpkey))-l == l); + pthread_setspecific(curlwpkey, NULL); + break; } } @@ -671,9 +672,13 @@ rumpuser_curlwpop(enum rumplwpop op, str case RUMPUSER_LWP_DESTROY: break; case RUMPUSER_LWP_SET: - assert(pthread_getspecific(curlwpkey) == NULL || l == NULL); + assert(pthread_getspecific(curlwpkey) == NULL); pthread_setspecific(curlwpkey, l); break; + case RUMPUSER_LWP_CLEAR: + assert(pthread_getspecific(curlwpkey) == l); + pthread_setspecific(curlwpkey, NULL); + break; } } Index: src/sys/rump/include/rump/rumpuser.h diff -u src/sys/rump/include/rump/rumpuser.h:1.103 src/sys/rump/include/rump/rumpuser.h:1.104 --- src/sys/rump/include/rump/rumpuser.h:1.103 Thu May 2 21:45:28 2013 +++ src/sys/rump/include/rump/rumpuser.h Wed May 15 14:07:26 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser.h,v 1.103 2013/05/02 21:45:28 pooka
CVS commit: src
Module Name:src Committed By: pooka Date: Wed May 15 14:52:49 UTC 2013 Modified Files: src/lib/librumpuser: rumpuser.3 rumpuser.c rumpuser_pth.c rumpuser_pth_dummy.c src/sys/rump/include/rump: rumpuser.h src/sys/rump/librump/rumpkern: locks.c Log Message: Pass enums over the hypercall interface as ints to avoid some pathological scenarios from arising in setups where enums might be of a different size in the rump kernel and hypervisor. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/lib/librumpuser/rumpuser.3 cvs rdiff -u -r1.50 -r1.51 src/lib/librumpuser/rumpuser.c cvs rdiff -u -r1.29 -r1.30 src/lib/librumpuser/rumpuser_pth.c cvs rdiff -u -r1.15 -r1.16 src/lib/librumpuser/rumpuser_pth_dummy.c cvs rdiff -u -r1.104 -r1.105 src/sys/rump/include/rump/rumpuser.h cvs rdiff -u -r1.63 -r1.64 src/sys/rump/librump/rumpkern/locks.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/librumpuser/rumpuser.3 diff -u src/lib/librumpuser/rumpuser.3:1.10 src/lib/librumpuser/rumpuser.3:1.11 --- src/lib/librumpuser/rumpuser.3:1.10 Wed May 15 14:07:26 2013 +++ src/lib/librumpuser/rumpuser.3 Wed May 15 14:52:49 2013 @@ -1,4 +1,4 @@ -.\ $NetBSD: rumpuser.3,v 1.10 2013/05/15 14:07:26 pooka Exp $ +.\ $NetBSD: rumpuser.3,v 1.11 2013/05/15 14:52:49 pooka Exp $ .\ .\ Copyright (c) 2013 Antti Kantee. All rights reserved. .\ @@ -44,6 +44,18 @@ The implementation included in is for POSIX hosts. This document is divided into sections based on the functionality group of each hypercall. +.Pp +Since the hypercall interface is a C function interface, both the +rump kernel and the hypervisor must conform to the same ABI. +The interface itself attempts to assume as little as possible from +the type systems, and for example +.Vt off_t +is passed as +.Vt int64_t +and enums are passed as ints. +It is recommended that the hypervisor converts these to the native +types before starting to process the hypercall, for example by +assigning the ints back to enums. .Sh UPCALLS AND RUMP KERNEL CONTEXT A hypercall is always entered with the calling thread scheduled in the rump kernel. @@ -73,7 +85,7 @@ by calling .Fn rumpuser_init int version struct rump_hyperup *hyp .Pp Initialize the hypervisor. -.Bl -tag -width xalignmentx +.Bl -tag -width xenum_rumpclock .It Fa version hypercall interface version number that the kernel expects to be used. In case the hypervisor cannot provide an exact match, this routine must @@ -84,7 +96,7 @@ pointer to a set of upcalls the hypervis .Ss Memory allocation .Ft int .Fn rumpuser_malloc size_t len int alignment void **memp -.Bl -tag -width xalignmentx +.Bl -tag -width xenum_rumpclock .It Fa len amount of memory to allocate .It Fa alignment @@ -97,7 +109,7 @@ return pointer for allocated memory .Pp .Ft void .Fn rumpuser_free void *mem size_t len -.Bl -tag -width xalignmentx +.Bl -tag -width xenum_rumpclock .It Fa mem memory to free .It Fa len @@ -120,7 +132,7 @@ and the host's file system namespace. For example, it is possible to associate the file descriptor with device I/O registers for special values of .Fa name . -.Bl -tag -width xalignmentx +.Bl -tag -width xenum_rumpclock .It Fa name the identifier of the file to open for I/O .It Fa mode @@ -163,7 +175,7 @@ Close a previously opened file descripto .Pp .Ft int .Fn rumpuser_getfileinfo const char *name uint64_t *size int *type -.Bl -tag -width xalignmentx +.Bl -tag -width xenum_rumpclock .It Fa name file for which information is returned. The namespace is equal to that of @@ -190,7 +202,7 @@ respectively. .Fc .Pp Initiate block I/O and return immediately. -.Bl -tag -width xalignmentx +.Bl -tag -width xenum_rumpclock .It Fa fd perform I/O on this file descriptor. The file descriptor must have been opened with @@ -239,7 +251,7 @@ These routines perform scatter-gather I/ block I/O by nature and therefore cannot be handled by .Fn rumpuser_bio . .Pp -.Bl -tag -width xalignmentx +.Bl -tag -width xenum_rumpclock .It Fa fd file descriptor to perform I/O on .It Fa ruiov @@ -276,10 +288,10 @@ If this is not possible, the hypervisor retain semantics. .Pp .Ft int -.Fn rumpuser_clock_gettime enum rumpclock clk int64_t *sec long *nsec +.Fn rumpuser_clock_gettime int enum_rumpclock int64_t *sec long *nsec .Pp -.Bl -tag -width xalignmentx -.It Fa clk +.Bl -tag -width xenum_rumpclock +.It Fa enum_rumpclock specifies the clock type. In case of .Dv RUMPUSER_CLOCK_RELWALL @@ -294,9 +306,9 @@ return value for nanoseconds .El .Pp .Ft int -.Fn rumpuser_clock_sleep enum rumpclock clk int64_t sec long nsec -.Bl -tag -width xalignmentx -.It Fa clk +.Fn rumpuser_clock_sleep int enum_rumpclock int64_t sec long nsec +.Bl -tag -width xenum_rumpclock +.It Fa enum_rumpclock In case of .Dv RUMPUSER_CLOCK_RELWALL , the sleep should last at least as long as
CVS commit: src
Module Name:src Committed By: pooka Date: Wed May 15 14:58:24 UTC 2013 Modified Files: src/lib/librumpuser: rumpuser.3 rumpuser.c rumpuser_bio.c src/sys/rump/include/rump: rumpuser.h Log Message: Pass off_t over the hypercall interface as int64_t to avoid potential problems in setups where off_t doesn't want to be 64bit. I'm already excitedly waiting for 128bit off_t and _LARGE_LARGE_FILES To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/lib/librumpuser/rumpuser.3 cvs rdiff -u -r1.51 -r1.52 src/lib/librumpuser/rumpuser.c cvs rdiff -u -r1.6 -r1.7 src/lib/librumpuser/rumpuser_bio.c cvs rdiff -u -r1.105 -r1.106 src/sys/rump/include/rump/rumpuser.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/librumpuser/rumpuser.3 diff -u src/lib/librumpuser/rumpuser.3:1.11 src/lib/librumpuser/rumpuser.3:1.12 --- src/lib/librumpuser/rumpuser.3:1.11 Wed May 15 14:52:49 2013 +++ src/lib/librumpuser/rumpuser.3 Wed May 15 14:58:24 2013 @@ -1,4 +1,4 @@ -.\ $NetBSD: rumpuser.3,v 1.11 2013/05/15 14:52:49 pooka Exp $ +.\ $NetBSD: rumpuser.3,v 1.12 2013/05/15 14:58:24 pooka Exp $ .\ .\ Copyright (c) 2013 Antti Kantee. All rights reserved. .\ @@ -197,7 +197,7 @@ respectively. .Pp .Ft void .Fo rumpuser_bio -.Fa int fd int op void *data size_t dlen off_t off +.Fa int fd int op void *data size_t dlen int64_t off .Fa rump_biodone_fn biodone void *donearg .Fc .Pp @@ -238,13 +238,13 @@ opaque arg that must be passed to .Ft int .Fo rumpuser_iovread .Fa int fd struct rumpuser_iovec *ruiov size_t iovlen -.Fa off_t off size_t *retv +.Fa int64_t off size_t *retv .Fc .Pp .Ft int .Fo rumpuser_iovwrite .Fa int fd struct rumpuser_iovec *ruiov size_t iovlen -.Fa off_t off size_t *retv +.Fa int64_t off size_t *retv .Fc .Pp These routines perform scatter-gather I/O which is not Index: src/lib/librumpuser/rumpuser.c diff -u src/lib/librumpuser/rumpuser.c:1.51 src/lib/librumpuser/rumpuser.c:1.52 --- src/lib/librumpuser/rumpuser.c:1.51 Wed May 15 14:52:49 2013 +++ src/lib/librumpuser/rumpuser.c Wed May 15 14:58:24 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser.c,v 1.51 2013/05/15 14:52:49 pooka Exp $ */ +/* $NetBSD: rumpuser.c,v 1.52 2013/05/15 14:58:24 pooka Exp $ */ /* * Copyright (c) 2007-2010 Antti Kantee. All Rights Reserved. @@ -28,7 +28,7 @@ #include rumpuser_port.h #if !defined(lint) -__RCSID($NetBSD: rumpuser.c,v 1.51 2013/05/15 14:52:49 pooka Exp $); +__RCSID($NetBSD: rumpuser.c,v 1.52 2013/05/15 14:58:24 pooka Exp $); #endif /* !lint */ #include sys/ioctl.h @@ -332,9 +332,10 @@ rumpuser_close(int fd) */ int rumpuser_iovread(int fd, struct rumpuser_iovec *ruiov, size_t iovlen, - off_t off, size_t *retp) + int64_t roff, size_t *retp) { struct iovec *iov = (struct iovec *)ruiov; + off_t off = (off_t)roff; ssize_t nn; int rv; @@ -364,9 +365,10 @@ rumpuser_iovread(int fd, struct rumpuser int rumpuser_iovwrite(int fd, const struct rumpuser_iovec *ruiov, size_t iovlen, - off_t off, size_t *retp) + int64_t roff, size_t *retp) { const struct iovec *iov = (const struct iovec *)ruiov; + off_t off = (off_t)roff; ssize_t nn; int rv; Index: src/lib/librumpuser/rumpuser_bio.c diff -u src/lib/librumpuser/rumpuser_bio.c:1.6 src/lib/librumpuser/rumpuser_bio.c:1.7 --- src/lib/librumpuser/rumpuser_bio.c:1.6 Tue May 7 15:18:35 2013 +++ src/lib/librumpuser/rumpuser_bio.c Wed May 15 14:58:24 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser_bio.c,v 1.6 2013/05/07 15:18:35 pooka Exp $ */ +/* $NetBSD: rumpuser_bio.c,v 1.7 2013/05/15 14:58:24 pooka Exp $ */ /*- * Copyright (c) 2013 Antti Kantee. All Rights Reserved. @@ -127,7 +127,7 @@ biothread(void *arg) } void -rumpuser_bio(int fd, int op, void *data, size_t dlen, off_t doff, +rumpuser_bio(int fd, int op, void *data, size_t dlen, int64_t doff, rump_biodone_fn biodone, void *bioarg) { struct rumpuser_bio bio; @@ -163,7 +163,7 @@ rumpuser_bio(int fd, int op, void *data, bio.bio_op = op; bio.bio_data = data; bio.bio_dlen = dlen; - bio.bio_off = doff; + bio.bio_off = (off_t)doff; bio.bio_done = biodone; bio.bio_donearg = bioarg; Index: src/sys/rump/include/rump/rumpuser.h diff -u src/sys/rump/include/rump/rumpuser.h:1.105 src/sys/rump/include/rump/rumpuser.h:1.106 --- src/sys/rump/include/rump/rumpuser.h:1.105 Wed May 15 14:52:49 2013 +++ src/sys/rump/include/rump/rumpuser.h Wed May 15 14:58:24 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser.h,v 1.105 2013/05/15 14:52:49 pooka Exp $ */ +/* $NetBSD: rumpuser.h,v 1.106 2013/05/15 14:58:24 pooka Exp $ */ /* * Copyright (c) 2007-2013 Antti Kantee. All Rights Reserved. @@ -97,7 +97,7 @@ int rumpuser_getfileinfo(const char *, u #define RUMPUSER_BIO_WRITE 0x02 #define RUMPUSER_BIO_SYNC 0x04 typedef void (*rump_biodone_fn)(void *, size_t, int); -void rumpuser_bio(int, int, void *, size_t, off_t, rump_biodone_fn, void *); +void
CVS commit: src
Module Name:src Committed By: pooka Date: Wed May 15 15:57:01 UTC 2013 Modified Files: src/lib/librumpuser: rumpuser.3 rumpuser.c src/sys/rump/include/rump: rumpuser.h Log Message: Add a generalized rumpuser_syncfd() call which allows the caller to request a sync or a barrier for fd. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/lib/librumpuser/rumpuser.3 cvs rdiff -u -r1.52 -r1.53 src/lib/librumpuser/rumpuser.c cvs rdiff -u -r1.106 -r1.107 src/sys/rump/include/rump/rumpuser.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/librumpuser/rumpuser.3 diff -u src/lib/librumpuser/rumpuser.3:1.12 src/lib/librumpuser/rumpuser.3:1.13 --- src/lib/librumpuser/rumpuser.3:1.12 Wed May 15 14:58:24 2013 +++ src/lib/librumpuser/rumpuser.3 Wed May 15 15:57:01 2013 @@ -1,4 +1,4 @@ -.\ $NetBSD: rumpuser.3,v 1.12 2013/05/15 14:58:24 pooka Exp $ +.\ $NetBSD: rumpuser.3,v 1.13 2013/05/15 15:57:01 pooka Exp $ .\ .\ Copyright (c) 2013 Antti Kantee. All rights reserved. .\ @@ -280,6 +280,51 @@ results in undefined behavior. .It Fa retv number of bytes successfully transferred is returned here .El +.Pp +.Ft int +.Fo rumpuser_syncfd +.Fa int fd int flags uint64_t start uint64_t len +.Fc +.Pp +Synchronizes +.Fa fd +with respect to backing storage. +The other arguments are: +.Pp +.Bl -tag -width xenum_rumpclock +.It Fa flags +controls how syncronization happens. +It must contain one of the following: +.Bl -tag -width XRUMPUSER_SYNCFD_BARRIER +.It Dv RUMPUSER_SYNCFD_READ +Make sure that the next read sees writes from all other parties. +This is useful for example in the case that +.Fa fd +represents memory to write a DMA read is being performed. +.It Dv RUMPUSER_SYNCFD_WRITE +Flush cached writes. +.El +.Pp +The following additional parameters may be passed in +.Fa flags : +.Pp +.Bl -tag -width XRUMPUSER_SYNCFD_BARRIER +.It Dv RUMPUSER_SYNCFD_BARRIER +Issue a barrier. +Outstanding I/O operations which were started before the barrier +complete before any operations after the barrier are performed. +.It Dv RUMPUSER_SYNCFD_SYNC +Wait for the synchronization operation to fully complete before +returning. +For example, this could mean that the data to be written to a disk +has hit either the disk or non-volatile memory. +.El +.It Fa start +offset into the object. +.It Fa len +the number of bytes to synchronize. +The value 0 denotes until the end of the object. +.El .Ss Clocks The hypervisor should support two clocks, one for wall time and one for monotonically increasing time, the latter of which may be based Index: src/lib/librumpuser/rumpuser.c diff -u src/lib/librumpuser/rumpuser.c:1.52 src/lib/librumpuser/rumpuser.c:1.53 --- src/lib/librumpuser/rumpuser.c:1.52 Wed May 15 14:58:24 2013 +++ src/lib/librumpuser/rumpuser.c Wed May 15 15:57:01 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser.c,v 1.52 2013/05/15 14:58:24 pooka Exp $ */ +/* $NetBSD: rumpuser.c,v 1.53 2013/05/15 15:57:01 pooka Exp $ */ /* * Copyright (c) 2007-2010 Antti Kantee. All Rights Reserved. @@ -28,7 +28,7 @@ #include rumpuser_port.h #if !defined(lint) -__RCSID($NetBSD: rumpuser.c,v 1.52 2013/05/15 14:58:24 pooka Exp $); +__RCSID($NetBSD: rumpuser.c,v 1.53 2013/05/15 15:57:01 pooka Exp $); #endif /* !lint */ #include sys/ioctl.h @@ -397,6 +397,43 @@ rumpuser_iovwrite(int fd, const struct r } int +rumpuser_syncfd(int fd, int flags, uint64_t start, uint64_t len) +{ + int rv = 0; + + /* + * For now, assume fd is regular file and does not care + * about read syncing + */ + if ((flags RUMPUSER_SYNCFD_BOTH) == 0) { + rv = EINVAL; + goto out; + } + if ((flags RUMPUSER_SYNCFD_WRITE) == 0) { + rv = 0; + goto out; + } + +#ifdef __NetBSD__ + { + int fsflags = FDATASYNC; + + if (fsflags RUMPUSER_SYNCFD_SYNC) + fsflags |= FDISKSYNC; + if (fsync_range(fd, fsflags, start, len) == -1) + rv = errno; + } +#else + /* el-simplo */ + if (fsync(fd) == -1) + rv = errno; +#endif + + out: + ET(rv); +} + +int rumpuser_clock_gettime(int enum_rumpclock, int64_t *sec, long *nsec) { enum rumpclock rclk = enum_rumpclock; Index: src/sys/rump/include/rump/rumpuser.h diff -u src/sys/rump/include/rump/rumpuser.h:1.106 src/sys/rump/include/rump/rumpuser.h:1.107 --- src/sys/rump/include/rump/rumpuser.h:1.106 Wed May 15 14:58:24 2013 +++ src/sys/rump/include/rump/rumpuser.h Wed May 15 15:57:01 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser.h,v 1.106 2013/05/15 14:58:24 pooka Exp $ */ +/* $NetBSD: rumpuser.h,v 1.107 2013/05/15 15:57:01 pooka Exp $ */ /* * Copyright (c) 2007-2013 Antti Kantee. All Rights Reserved. @@ -109,6 +109,13 @@ int rumpuser_iovread(int, struct rumpuse int rumpuser_iovwrite(int, const struct rumpuser_iovec *, size_t, int64_t, size_t *); +#define RUMPUSER_SYNCFD_READ 0x01 +#define RUMPUSER_SYNCFD_WRITE 0x02 +#define RUMPUSER_SYNCFD_BOTH (RUMPUSER_SYNCFD_READ |
CVS commit: src/sys/rump/include/rump
Module Name:src Committed By: pooka Date: Wed May 15 16:00:04 UTC 2013 Modified Files: src/sys/rump/include/rump: rumpuser.h Log Message: Looks like I'm done revamping, so bump interface version to 17, where it will hopefully stay for all eternity (unless some snafus are discovered before NetBSD 7). To generate a diff of this commit: cvs rdiff -u -r1.107 -r1.108 src/sys/rump/include/rump/rumpuser.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/rump/include/rump/rumpuser.h diff -u src/sys/rump/include/rump/rumpuser.h:1.107 src/sys/rump/include/rump/rumpuser.h:1.108 --- src/sys/rump/include/rump/rumpuser.h:1.107 Wed May 15 15:57:01 2013 +++ src/sys/rump/include/rump/rumpuser.h Wed May 15 16:00:04 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser.h,v 1.107 2013/05/15 15:57:01 pooka Exp $ */ +/* $NetBSD: rumpuser.h,v 1.108 2013/05/15 16:00:04 pooka Exp $ */ /* * Copyright (c) 2007-2013 Antti Kantee. All Rights Reserved. @@ -42,7 +42,11 @@ struct lwp; * init */ -#define RUMPUSER_VERSION 16 +/* + * Bumping this causes all kinds of havoc for implementations + * outside of the NetBSD tree, so try to avoid it. + */ +#define RUMPUSER_VERSION 17 /* hypervisor upcall routines */ struct rumpuser_hyperup {
CVS commit: src/sys/fs/sysvbfs
Module Name:src Committed By: pooka Date: Wed May 15 16:44:03 UTC 2013 Modified Files: src/sys/fs/sysvbfs: sysvbfs_vnops.c Log Message: Don't change a read-only file system. To generate a diff of this commit: cvs rdiff -u -r1.47 -r1.48 src/sys/fs/sysvbfs/sysvbfs_vnops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/fs/sysvbfs/sysvbfs_vnops.c diff -u src/sys/fs/sysvbfs/sysvbfs_vnops.c:1.47 src/sys/fs/sysvbfs/sysvbfs_vnops.c:1.48 --- src/sys/fs/sysvbfs/sysvbfs_vnops.c:1.47 Mon Mar 18 19:35:40 2013 +++ src/sys/fs/sysvbfs/sysvbfs_vnops.c Wed May 15 16:44:03 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: sysvbfs_vnops.c,v 1.47 2013/03/18 19:35:40 plunky Exp $ */ +/* $NetBSD: sysvbfs_vnops.c,v 1.48 2013/05/15 16:44:03 pooka Exp $ */ /*- * Copyright (c) 2004 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: sysvbfs_vnops.c,v 1.47 2013/03/18 19:35:40 plunky Exp $); +__KERNEL_RCSID(0, $NetBSD: sysvbfs_vnops.c,v 1.48 2013/05/15 16:44:03 pooka Exp $); #include sys/param.h #include sys/kernel.h @@ -218,6 +218,10 @@ sysvbfs_close(void *arg) struct bfs_fileattr attr; DPRINTF(%s:\n, __func__); + + if (v-v_mount-mnt_flag MNT_RDONLY) + goto out; + uvm_vnp_setsize(v, bnode-size); memset(attr, 0xff, sizeof attr); /* Set VNOVAL all */ @@ -231,6 +235,7 @@ sysvbfs_close(void *arg) VOP_FSYNC(a-a_vp, a-a_cred, FSYNC_WAIT, 0, 0); + out: return 0; } @@ -877,6 +882,9 @@ sysvbfs_update(struct vnode *vp, const s struct sysvbfs_node *bnode = vp-v_data; struct bfs_fileattr attr; + if (vp-v_mount-mnt_flag MNT_RDONLY) + return 0; + DPRINTF(%s:\n, __func__); memset(attr, 0xff, sizeof attr); /* Set VNOVAL all */ if (bnode-update_atime) {
CVS commit: src/lib/librumpuser
Module Name:src Committed By: pooka Date: Wed May 15 17:53:09 UTC 2013 Modified Files: src/lib/librumpuser: rumpuser.3 Log Message: Improve documentation on the locking order of cv_wait mtx/cpu. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/lib/librumpuser/rumpuser.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/librumpuser/rumpuser.3 diff -u src/lib/librumpuser/rumpuser.3:1.13 src/lib/librumpuser/rumpuser.3:1.14 --- src/lib/librumpuser/rumpuser.3:1.13 Wed May 15 15:57:01 2013 +++ src/lib/librumpuser/rumpuser.3 Wed May 15 17:53:09 2013 @@ -1,4 +1,4 @@ -.\ $NetBSD: rumpuser.3,v 1.13 2013/05/15 15:57:01 pooka Exp $ +.\ $NetBSD: rumpuser.3,v 1.14 2013/05/15 17:53:09 pooka Exp $ .\ .\ Copyright (c) 2013 Antti Kantee. All rights reserved. .\ @@ -600,7 +600,7 @@ may not relinquish rump kernel context. .Fn rumpuser_mutex_owner struct rumpuser_mtx *mtx struct lwp **lp .Pp Mutexes provide mutually exclusive locking. -The flags for initialization are as follows: +The flags, of which at least one must be given, are as follows: .Bl -tag -width XRUMPUSER_MTX_KMUTEX .It Dv RUMPUSER_MTX_SPIN Create a spin mutex. @@ -691,6 +691,19 @@ sleep duration after which the routine w .Er ETIMEDOUT . If a timedwait is signalled before the timeout expires, the routine will return 0. +.Pp +The order in which the hypervisor +reacquires the rump kernel context and interlock mutex before +returning into the rump kernel is as follows. +In case the interlock mutex was initialized with both +.Dv RUMPUSER_MTX_SPIN +and +.Dv RUMPUSER_MTX_KMUTEX , +the rump kernel context is scheduled before the mutex is reacquired. +In case of a purely +.Dv RUMPUSER_MTX_SPIN +mutex, the mutex is acquired first. +In the final case the order is implementation-defined. .Sh RETURN VALUES All routines which return an integer return an errno value. The hypervisor must translate the value to the the native errno
CVS commit: src/sys/rump
Module Name:src Committed By: pooka Date: Wed May 15 19:30:46 UTC 2013 Modified Files: src/sys/rump: VERSION Log Message: bump version for rumpuser changes To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/rump/VERSION Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/rump/VERSION diff -u src/sys/rump/VERSION:1.7 src/sys/rump/VERSION:1.8 --- src/sys/rump/VERSION:1.7 Mon Mar 18 15:55:43 2013 +++ src/sys/rump/VERSION Wed May 15 19:30:46 2013 @@ -1,4 +1,4 @@ -# $NetBSD: VERSION,v 1.7 2013/03/18 15:55:43 pooka Exp $ +# $NetBSD: VERSION,v 1.8 2013/05/15 19:30:46 pooka Exp $ # # Since cvs does not provide a version number for the entire tree, provide # identifiers which can be used by external parties to check if the NetBSD @@ -9,4 +9,4 @@ # when date is bumped. # -BUILDRUMP=20130318:0 +BUILDRUMP=20130515:0
CVS commit: src/lib
Module Name:src Committed By: pooka Date: Wed May 15 20:27:00 UTC 2013 Modified Files: src/lib/librumpclient: Makefile src/lib/librumpuser: Makefile Log Message: Make it possible for external parties to specify additional dplibs. This is useful for example on platforms which require -ldl. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/lib/librumpclient/Makefile cvs rdiff -u -r1.12 -r1.13 src/lib/librumpuser/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/librumpclient/Makefile diff -u src/lib/librumpclient/Makefile:1.7 src/lib/librumpclient/Makefile:1.8 --- src/lib/librumpclient/Makefile:1.7 Tue Mar 8 19:11:27 2011 +++ src/lib/librumpclient/Makefile Wed May 15 20:27:00 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.7 2011/03/08 19:11:27 pooka Exp $ +# $NetBSD: Makefile,v 1.8 2013/05/15 20:27:00 pooka Exp $ # .PATH: ${.CURDIR}/../../sys/rump/librump/rumpkern @@ -12,6 +12,11 @@ MAN= rumpclient.3 INCS= rumpclient.h INCSDIR= /usr/include/rump +.for lib in ${RUMPCLIENT_EXTERNAL_DPLIBS} +LIBDO.${lib}= _external +LIBDPLIBS+= ${lib} lib +.endfor + CPPFLAGS+= -DRUMP_CLIENT CPPFLAGS+= -I${.OBJDIR} -I${.CURDIR} -I${.CURDIR}/../librumpuser SRCS= rumpclient.c Index: src/lib/librumpuser/Makefile diff -u src/lib/librumpuser/Makefile:1.12 src/lib/librumpuser/Makefile:1.13 --- src/lib/librumpuser/Makefile:1.12 Tue Apr 30 15:48:29 2013 +++ src/lib/librumpuser/Makefile Wed May 15 20:27:00 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.12 2013/04/30 15:48:29 pooka Exp $ +# $NetBSD: Makefile,v 1.13 2013/05/15 20:27:00 pooka Exp $ # WARNS?= 5 @@ -8,6 +8,10 @@ WARNS?= 5 LIB= rumpuser LIBDPLIBS+= pthread ${.CURDIR}/../libpthread +.for lib in ${RUMPUSER_EXTERNAL_DPLIBS} +LIBDO.${lib}= _external +LIBDPLIBS+= ${lib} lib +.endfor CPPFLAGS+= -DLIBRUMPUSER #CPPFLAGS+= -D_DIAGNOSTIC
CVS commit: src/lib/librumpuser
Module Name:src Committed By: pooka Date: Wed May 15 20:47:20 UTC 2013 Modified Files: src/lib/librumpuser: Makefile Log Message: also, bsd.own.mk to pick up mk.conf To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/lib/librumpuser/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/librumpuser/Makefile diff -u src/lib/librumpuser/Makefile:1.13 src/lib/librumpuser/Makefile:1.14 --- src/lib/librumpuser/Makefile:1.13 Wed May 15 20:27:00 2013 +++ src/lib/librumpuser/Makefile Wed May 15 20:47:20 2013 @@ -1,6 +1,8 @@ -# $NetBSD: Makefile,v 1.13 2013/05/15 20:27:00 pooka Exp $ +# $NetBSD: Makefile,v 1.14 2013/05/15 20:47:20 pooka Exp $ # +.include bsd.own.mk + WARNS?= 5 # rumpuser.h is in sys/rump for inclusion by kernel components
CVS commit: src/sys/rump/kern/lib
Module Name:src Committed By: pooka Date: Wed May 15 21:39:30 UTC 2013 Modified Files: src/sys/rump/kern/lib/libsys_cygwin: syscalls.master src/sys/rump/kern/lib/libsys_sunos: syscalls.master Log Message: Support utimes/futimes. Makes at least fsu_touch work on these platforms. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/rump/kern/lib/libsys_cygwin/syscalls.master cvs rdiff -u -r1.1 -r1.2 src/sys/rump/kern/lib/libsys_sunos/syscalls.master Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/rump/kern/lib/libsys_cygwin/syscalls.master diff -u src/sys/rump/kern/lib/libsys_cygwin/syscalls.master:1.1 src/sys/rump/kern/lib/libsys_cygwin/syscalls.master:1.2 --- src/sys/rump/kern/lib/libsys_cygwin/syscalls.master:1.1 Wed Apr 10 16:44:54 2013 +++ src/sys/rump/kern/lib/libsys_cygwin/syscalls.master Wed May 15 21:39:30 2013 @@ -1,4 +1,4 @@ - $NetBSD: syscalls.master,v 1.1 2013/04/10 16:44:54 pooka Exp $ + $NetBSD: syscalls.master,v 1.2 2013/05/15 21:39:30 pooka Exp $ ; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 @@ -508,10 +508,12 @@ 417 UNIMPL select 418 UNIMPL gettimeofday 419 UNIMPL settimeofday -420 UNIMPL utimes +420 NOARGS { int|compat_50_sys||utimes(char *path, \ + struct timeval50 *tptr); } 421 UNIMPL adjtime 422 UNIMPL lfs_segwait -423 UNIMPL futimes +423 NOARGS { int|compat_50_sys||futimes(int fd, \ + struct timeval50 *tptr); } 424 UNIMPL lutimes 425 UNIMPL setitimer 426 UNIMPL getitimer Index: src/sys/rump/kern/lib/libsys_sunos/syscalls.master diff -u src/sys/rump/kern/lib/libsys_sunos/syscalls.master:1.1 src/sys/rump/kern/lib/libsys_sunos/syscalls.master:1.2 --- src/sys/rump/kern/lib/libsys_sunos/syscalls.master:1.1 Tue Apr 9 13:08:33 2013 +++ src/sys/rump/kern/lib/libsys_sunos/syscalls.master Wed May 15 21:39:30 2013 @@ -1,4 +1,4 @@ - $NetBSD: syscalls.master,v 1.1 2013/04/09 13:08:33 pooka Exp $ + $NetBSD: syscalls.master,v 1.2 2013/05/15 21:39:30 pooka Exp $ ; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 @@ -511,10 +511,12 @@ 417 UNIMPL select 418 UNIMPL gettimeofday 419 UNIMPL settimeofday -420 UNIMPL utimes +420 NOARGS { int|compat_50_sys||utimes(char *path, \ + struct timeval50 *tptr); } 421 UNIMPL adjtime 422 UNIMPL lfs_segwait -423 UNIMPL futimes +423 NOARGS { int|compat_50_sys||futimes(int fd, \ + struct timeval50 *tptr); } 424 UNIMPL lutimes 425 UNIMPL setitimer 426 UNIMPL getitimer
CVS commit: src/sys/rump/kern/lib
Module Name:src Committed By: pooka Date: Wed May 15 21:41:25 UTC 2013 Modified Files: src/sys/rump/kern/lib/libsys_cygwin: rump_cygwin_syscall.h rump_cygwin_syscallargs.h rump_cygwin_syscalls.c rump_cygwin_sysent.c src/sys/rump/kern/lib/libsys_sunos: rump_sunos_syscall.h rump_sunos_syscallargs.h rump_sunos_syscalls.c rump_sunos_sysent.c Log Message: regen To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 \ src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscall.h \ src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscallargs.h \ src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscalls.c \ src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_sysent.c cvs rdiff -u -r1.1 -r1.2 \ src/sys/rump/kern/lib/libsys_sunos/rump_sunos_syscall.h \ src/sys/rump/kern/lib/libsys_sunos/rump_sunos_syscallargs.h \ src/sys/rump/kern/lib/libsys_sunos/rump_sunos_syscalls.c \ src/sys/rump/kern/lib/libsys_sunos/rump_sunos_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/rump/kern/lib/libsys_cygwin/rump_cygwin_syscall.h diff -u src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscall.h:1.1 src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscall.h:1.2 --- src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscall.h:1.1 Wed Apr 10 16:45:45 2013 +++ src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscall.h Wed May 15 21:41:25 2013 @@ -1,10 +1,10 @@ -/* $NetBSD: rump_cygwin_syscall.h,v 1.1 2013/04/10 16:45:45 pooka Exp $ */ +/* $NetBSD: rump_cygwin_syscall.h,v 1.2 2013/05/15 21:41:25 pooka Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.1 2013/04/10 16:44:54 pooka Exp + * created from NetBSD: syscalls.master,v 1.2 2013/05/15 21:39:30 pooka Exp */ #ifndef _RUMP_CYGWIN_SYS_SYSCALL_H_ @@ -171,6 +171,12 @@ /* syscall: fchroot ret: int args: int */ #define RUMP_CYGWIN_SYS_fchroot 297 +/* syscall: utimes ret: int args: char * struct timeval50 * */ +#define RUMP_CYGWIN_SYS_utimes 420 + +/* syscall: futimes ret: int args: int struct timeval50 * */ +#define RUMP_CYGWIN_SYS_futimes 423 + /* syscall: __mknod50 ret: int args: const char * mode_t int */ #define RUMP_CYGWIN_SYS___mknod50 450 Index: src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscallargs.h diff -u src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscallargs.h:1.1 src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscallargs.h:1.2 --- src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscallargs.h:1.1 Wed Apr 10 16:45:45 2013 +++ src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscallargs.h Wed May 15 21:41:25 2013 @@ -1,10 +1,10 @@ -/* $NetBSD: rump_cygwin_syscallargs.h,v 1.1 2013/04/10 16:45:45 pooka Exp $ */ +/* $NetBSD: rump_cygwin_syscallargs.h,v 1.2 2013/05/15 21:41:25 pooka Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.1 2013/04/10 16:44:54 pooka Exp + * created from NetBSD: syscalls.master,v 1.2 2013/05/15 21:39:30 pooka Exp */ #ifndef _RUMP_CYGWIN_SYS_SYSCALLARGS_H_ @@ -133,6 +133,10 @@ struct rump_cygwin_sys_getdents_args { }; check_syscall_args(rump_cygwin_sys_getdents) +struct compat_50_sys_utimes_args; + +struct compat_50_sys_futimes_args; + struct rump_cygwin_sys_stat_args { syscallarg(const char *) path; syscallarg(struct cygwin_stat *) sp; @@ -267,6 +271,10 @@ int sys_fchroot(struct lwp *, const stru int rump_cygwin_sys_getdents(struct lwp *, const struct rump_cygwin_sys_getdents_args *, register_t *); +int compat_50_sys_utimes(struct lwp *, const struct compat_50_sys_utimes_args *, register_t *); + +int compat_50_sys_futimes(struct lwp *, const struct compat_50_sys_futimes_args *, register_t *); + int rump_cygwin_sys_stat(struct lwp *, const struct rump_cygwin_sys_stat_args *, register_t *); int rump_cygwin_sys_fstat(struct lwp *, const struct rump_cygwin_sys_fstat_args *, register_t *); Index: src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscalls.c diff -u src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscalls.c:1.1 src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscalls.c:1.2 --- src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscalls.c:1.1 Wed Apr 10 16:45:45 2013 +++ src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscalls.c Wed May 15 21:41:25 2013 @@ -1,14 +1,14 @@ -/* $NetBSD: rump_cygwin_syscalls.c,v 1.1 2013/04/10 16:45:45 pooka Exp $ */ +/* $NetBSD: rump_cygwin_syscalls.c,v 1.2 2013/05/15 21:41:25 pooka Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.1 2013/04/10 16:44:54 pooka Exp + * created from NetBSD: syscalls.master,v 1.2 2013/05/15 21:39:30 pooka Exp */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD:
CVS commit: src/sys/rump
Module Name:src Committed By: pooka Date: Wed May 15 21:53:27 UTC 2013 Modified Files: src/sys/rump: VERSION Log Message: one more bump for the recent changes To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/rump/VERSION Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/rump/VERSION diff -u src/sys/rump/VERSION:1.8 src/sys/rump/VERSION:1.9 --- src/sys/rump/VERSION:1.8 Wed May 15 19:30:46 2013 +++ src/sys/rump/VERSION Wed May 15 21:53:27 2013 @@ -1,4 +1,4 @@ -# $NetBSD: VERSION,v 1.8 2013/05/15 19:30:46 pooka Exp $ +# $NetBSD: VERSION,v 1.9 2013/05/15 21:53:27 pooka Exp $ # # Since cvs does not provide a version number for the entire tree, provide # identifiers which can be used by external parties to check if the NetBSD @@ -9,4 +9,4 @@ # when date is bumped. # -BUILDRUMP=20130515:0 +BUILDRUMP=20130515:1
CVS commit: src/lib/librumpuser
Module Name:src Committed By: wiz Date: Wed May 15 22:09:32 UTC 2013 Modified Files: src/lib/librumpuser: rumpuser.3 Log Message: More markup, less typos. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/lib/librumpuser/rumpuser.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/librumpuser/rumpuser.3 diff -u src/lib/librumpuser/rumpuser.3:1.14 src/lib/librumpuser/rumpuser.3:1.15 --- src/lib/librumpuser/rumpuser.3:1.14 Wed May 15 17:53:09 2013 +++ src/lib/librumpuser/rumpuser.3 Wed May 15 22:09:32 2013 @@ -1,4 +1,4 @@ -.\ $NetBSD: rumpuser.3,v 1.14 2013/05/15 17:53:09 pooka Exp $ +.\ $NetBSD: rumpuser.3,v 1.15 2013/05/15 22:09:32 wiz Exp $ .\ .\ Copyright (c) 2013 Antti Kantee. All rights reserved. .\ @@ -181,9 +181,13 @@ file for which information is returned. The namespace is equal to that of .Fn rumpuser_open . .It Fa size -If non-NULL, size of the file is returned here. +If +.Pf non- Dv NULL , +size of the file is returned here. .It Fa type -If non-NULL, type of the file is returned here. +If +.Pf non- Dv NULL , +type of the file is returned here. The options are .Dv RUMPUSER_FT_DIR , .Dv RUMPUSER_FT_REG , @@ -293,7 +297,7 @@ The other arguments are: .Pp .Bl -tag -width xenum_rumpclock .It Fa flags -controls how syncronization happens. +controls how synchronization happens. It must contain one of the following: .Bl -tag -width XRUMPUSER_SYNCFD_BARRIER .It Dv RUMPUSER_SYNCFD_READ @@ -539,7 +543,7 @@ Clear the context previous set by The value passed in .Fa l is the current thread and is never -.Dv NULL. +.Dv NULL . .El .Pp .Ft struct lwp * @@ -689,7 +693,7 @@ for the duration of the sleep in the nor The timedwait variant takes a specifier indicating a relative sleep duration after which the routine will return with .Er ETIMEDOUT . -If a timedwait is signalled before the timeout expires, the +If a timedwait is signaled before the timeout expires, the routine will return 0. .Pp The order in which the hypervisor
CVS commit: [khorben-n900] src/sys/arch/arm/omap
Module Name:src Committed By: khorben Date: Wed May 15 23:27:49 UTC 2013 Modified Files: src/sys/arch/arm/omap [khorben-n900]: omap2_spi.c Log Message: Seems to be much closer to working correctly. Apparently one has to read back anything transmitted, as well as transmit 0's to be able to read anything. This would explain the whole juggling with chunks, counts and pointers. To generate a diff of this commit: cvs rdiff -u -r1.1.2.4 -r1.1.2.5 src/sys/arch/arm/omap/omap2_spi.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/omap/omap2_spi.c diff -u src/sys/arch/arm/omap/omap2_spi.c:1.1.2.4 src/sys/arch/arm/omap/omap2_spi.c:1.1.2.5 --- src/sys/arch/arm/omap/omap2_spi.c:1.1.2.4 Wed May 15 02:44:48 2013 +++ src/sys/arch/arm/omap/omap2_spi.c Wed May 15 23:27:49 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: omap2_spi.c,v 1.1.2.4 2013/05/15 02:44:48 khorben Exp $ */ +/* $NetBSD: omap2_spi.c,v 1.1.2.5 2013/05/15 23:27:49 khorben Exp $ */ /* * Texas Instruments OMAP2/3 Multichannel SPI driver. @@ -14,8 +14,9 @@ * are met: * 1. Redistributions of source code must retain the above copyright *notice, this list of conditions and the following disclaimer. - * 2. The name of the author may not be used to endorse or promote products - *derived from this software without specific prior written permission. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -31,7 +32,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: omap2_spi.c,v 1.1.2.4 2013/05/15 02:44:48 khorben Exp $); +__KERNEL_RCSID(0, $NetBSD: omap2_spi.c,v 1.1.2.5 2013/05/15 23:27:49 khorben Exp $); #include opt_omap.h @@ -347,13 +348,13 @@ omap2_spi_stop(struct omap2_spi_softc * chan = sc-sc_channels[channel]; - chan-running = false; - /* stop the channel */ ctrlreg = OMAP2_MCSPI_CHXCTRL(channel); u32 = SPI_READ_REG(sc, ctrlreg); u32 = ~OMAP2_MCSPI_CHXCTRL_EN; SPI_WRITE_REG(sc, ctrlreg, u32); + + chan-running = false; } static int @@ -364,13 +365,14 @@ omap2_spi_intr(void *v) struct omap2_spi_channel *chan; struct spi_transfer *st; uint32_t status; - uint32_t u32; uint32_t tx_empty = 0; uint32_t rx_full = 0; /* reset the channel status bits */ status = SPI_READ_REG(sc, OMAP2_MCSPI_IRQSTATUS); - u32 = 0; + + /* acknowledge the interrupt */ + SPI_WRITE_REG(sc, OMAP2_MCSPI_IRQSTATUS, status); /* check every channel */ for (i = 0; i sc-sc_spi.sct_nslaves; i++) { @@ -381,37 +383,24 @@ omap2_spi_intr(void *v) switch (i) { case 0: -u32 |= OMAP2_MCSPI_IRQSTATUS_RX0_OVERFLOW - | OMAP2_MCSPI_IRQSTATUS_RX0_FULL - | OMAP2_MCSPI_IRQSTATUS_TX0_UNDERFLOW - | OMAP2_MCSPI_IRQSTATUS_TX0_EMPTY; tx_empty = status OMAP2_MCSPI_IRQSTATUS_TX0_EMPTY; rx_full = status OMAP2_MCSPI_IRQSTATUS_RX0_FULL; break; case 1: -u32 |= OMAP2_MCSPI_IRQSTATUS_RX1_FULL - | OMAP2_MCSPI_IRQSTATUS_TX1_UNDERFLOW - | OMAP2_MCSPI_IRQSTATUS_TX1_EMPTY; tx_empty = status OMAP2_MCSPI_IRQSTATUS_TX1_EMPTY; rx_full = status OMAP2_MCSPI_IRQSTATUS_RX1_FULL; break; case 2: -u32 |= OMAP2_MCSPI_IRQSTATUS_RX2_FULL - | OMAP2_MCSPI_IRQSTATUS_TX2_UNDERFLOW - | OMAP2_MCSPI_IRQSTATUS_TX2_EMPTY; tx_empty = status OMAP2_MCSPI_IRQSTATUS_TX2_EMPTY; rx_full = status OMAP2_MCSPI_IRQSTATUS_RX2_FULL; break; case 3: -u32 |= OMAP2_MCSPI_IRQSTATUS_RX3_FULL - | OMAP2_MCSPI_IRQSTATUS_TX3_UNDERFLOW - | OMAP2_MCSPI_IRQSTATUS_TX3_EMPTY; tx_empty = status OMAP2_MCSPI_IRQSTATUS_TX3_EMPTY; rx_full = status @@ -419,15 +408,14 @@ omap2_spi_intr(void *v) break; } - if (chan-wchunk != NULL) { - if (tx_empty) { + if (tx_empty) { + if (chan-wchunk != NULL) { omap2_spi_send(sc, i); -if (chan-wchunk == NULL) - omap2_spi_recv(sc, i); } } - else if (rx_full) { + if (rx_full) { omap2_spi_recv(sc, i); + omap2_spi_send(sc, i); } if (chan-wchunk == NULL chan-rchunk == NULL) @@ -437,15 +425,14 @@ omap2_spi_intr(void *v) KASSERT(st != NULL); spi_done(st, 0); + /* stop the current transfer */ omap2_spi_stop(sc, i); - omap2_spi_start(sc, i); + /* start a new transfer if any was queued */ + omap2_spi_start(sc, i); } } - /* acknowledge the interrupt */ - SPI_WRITE_REG(sc, OMAP2_MCSPI_IRQSTATUS, u32); - return 1; } @@ -493,22 +480,23 @@ omap2_spi_send(struct omap2_spi_softc * uint32_t u32; uint32_t data; - if ((chunk = sc-sc_channels[channel].wchunk) == NULL) + while ((chunk
CVS commit: src/sys/arch/evbarm/conf
Module Name:src Committed By: reinoud Date: Wed May 15 12:16:41 UTC 2013 Modified Files: src/sys/arch/evbarm/conf: RPI Log Message: Add missing filesystems in the filesystem list but comment them out. Add missing KGDB options needed for KGDB working To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/sys/arch/evbarm/conf/RPI Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/evbarm/conf
Module Name:src Committed By: reinoud Date: Wed May 15 12:20:04 UTC 2013 Modified Files: src/sys/arch/evbarm/conf: MARVELL_NAS Log Message: Add (arbitrary) USB serial port support. XXX why aren't other classes of USB devices added? To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/sys/arch/evbarm/conf/MARVELL_NAS Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/rump/librump/rumpkern
Module Name:src Committed By: pooka Date: Wed May 15 12:49:33 UTC 2013 Modified Files: src/sys/rump/librump/rumpkern: ltsleep.c Log Message: qlock can now be a regular kernel spin mutex instead of a rumpuser mutex. To generate a diff of this commit: cvs rdiff -u -r1.31 -r1.32 src/sys/rump/librump/rumpkern/ltsleep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [khorben-n900] src/sys/dev/spi
Module Name:src Committed By: khorben Date: Wed May 15 13:52:19 UTC 2013 Modified Files: src/sys/dev/spi [khorben-n900]: files.spi spi.c spivar.h Log Message: Let the bus speed of SPI devices be specified within the kernel configuration. To generate a diff of this commit: cvs rdiff -u -r1.2.114.1 -r1.2.114.2 src/sys/dev/spi/files.spi cvs rdiff -u -r1.8.6.1 -r1.8.6.2 src/sys/dev/spi/spi.c cvs rdiff -u -r1.4.20.1 -r1.4.20.2 src/sys/dev/spi/spivar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/rump/librump/rumpkern
Module Name:src Committed By: pooka Date: Wed May 15 13:58:14 UTC 2013 Modified Files: src/sys/rump/librump/rumpkern: ltsleep.c Log Message: how did that extra asterisk get there? To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/sys/rump/librump/rumpkern/ltsleep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src
Module Name:src Committed By: pooka Date: Wed May 15 14:07:26 UTC 2013 Modified Files: src/lib/librumpuser: rumpuser.3 rumpuser_pth.c src/sys/rump/include/rump: rumpuser.h src/sys/rump/librump/rumpkern: lwproc.c rump.c scheduler.c Log Message: Add RUMPUSER_LWP_CLEAR instead of overloading RUMPUSER_LWP_SET. This simplifies some alternative hypervisor implementations. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/lib/librumpuser/rumpuser.3 cvs rdiff -u -r1.28 -r1.29 src/lib/librumpuser/rumpuser_pth.c cvs rdiff -u -r1.103 -r1.104 src/sys/rump/include/rump/rumpuser.h cvs rdiff -u -r1.22 -r1.23 src/sys/rump/librump/rumpkern/lwproc.c cvs rdiff -u -r1.268 -r1.269 src/sys/rump/librump/rumpkern/rump.c cvs rdiff -u -r1.33 -r1.34 src/sys/rump/librump/rumpkern/scheduler.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src
Module Name:src Committed By: pooka Date: Wed May 15 14:52:49 UTC 2013 Modified Files: src/lib/librumpuser: rumpuser.3 rumpuser.c rumpuser_pth.c rumpuser_pth_dummy.c src/sys/rump/include/rump: rumpuser.h src/sys/rump/librump/rumpkern: locks.c Log Message: Pass enums over the hypercall interface as ints to avoid some pathological scenarios from arising in setups where enums might be of a different size in the rump kernel and hypervisor. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/lib/librumpuser/rumpuser.3 cvs rdiff -u -r1.50 -r1.51 src/lib/librumpuser/rumpuser.c cvs rdiff -u -r1.29 -r1.30 src/lib/librumpuser/rumpuser_pth.c cvs rdiff -u -r1.15 -r1.16 src/lib/librumpuser/rumpuser_pth_dummy.c cvs rdiff -u -r1.104 -r1.105 src/sys/rump/include/rump/rumpuser.h cvs rdiff -u -r1.63 -r1.64 src/sys/rump/librump/rumpkern/locks.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src
Module Name:src Committed By: pooka Date: Wed May 15 14:58:24 UTC 2013 Modified Files: src/lib/librumpuser: rumpuser.3 rumpuser.c rumpuser_bio.c src/sys/rump/include/rump: rumpuser.h Log Message: Pass off_t over the hypercall interface as int64_t to avoid potential problems in setups where off_t doesn't want to be 64bit. I'm already excitedly waiting for 128bit off_t and _LARGE_LARGE_FILES To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/lib/librumpuser/rumpuser.3 cvs rdiff -u -r1.51 -r1.52 src/lib/librumpuser/rumpuser.c cvs rdiff -u -r1.6 -r1.7 src/lib/librumpuser/rumpuser_bio.c cvs rdiff -u -r1.105 -r1.106 src/sys/rump/include/rump/rumpuser.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src
Module Name:src Committed By: pooka Date: Wed May 15 15:57:01 UTC 2013 Modified Files: src/lib/librumpuser: rumpuser.3 rumpuser.c src/sys/rump/include/rump: rumpuser.h Log Message: Add a generalized rumpuser_syncfd() call which allows the caller to request a sync or a barrier for fd. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/lib/librumpuser/rumpuser.3 cvs rdiff -u -r1.52 -r1.53 src/lib/librumpuser/rumpuser.c cvs rdiff -u -r1.106 -r1.107 src/sys/rump/include/rump/rumpuser.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/rump/include/rump
Module Name:src Committed By: pooka Date: Wed May 15 16:00:04 UTC 2013 Modified Files: src/sys/rump/include/rump: rumpuser.h Log Message: Looks like I'm done revamping, so bump interface version to 17, where it will hopefully stay for all eternity (unless some snafus are discovered before NetBSD 7). To generate a diff of this commit: cvs rdiff -u -r1.107 -r1.108 src/sys/rump/include/rump/rumpuser.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/fs/sysvbfs
Module Name:src Committed By: pooka Date: Wed May 15 16:44:03 UTC 2013 Modified Files: src/sys/fs/sysvbfs: sysvbfs_vnops.c Log Message: Don't change a read-only file system. To generate a diff of this commit: cvs rdiff -u -r1.47 -r1.48 src/sys/fs/sysvbfs/sysvbfs_vnops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/lib/librumpuser
Module Name:src Committed By: pooka Date: Wed May 15 17:53:09 UTC 2013 Modified Files: src/lib/librumpuser: rumpuser.3 Log Message: Improve documentation on the locking order of cv_wait mtx/cpu. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/lib/librumpuser/rumpuser.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/rump
Module Name:src Committed By: pooka Date: Wed May 15 19:30:46 UTC 2013 Modified Files: src/sys/rump: VERSION Log Message: bump version for rumpuser changes To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/rump/VERSION Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/lib
Module Name:src Committed By: pooka Date: Wed May 15 20:27:00 UTC 2013 Modified Files: src/lib/librumpclient: Makefile src/lib/librumpuser: Makefile Log Message: Make it possible for external parties to specify additional dplibs. This is useful for example on platforms which require -ldl. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/lib/librumpclient/Makefile cvs rdiff -u -r1.12 -r1.13 src/lib/librumpuser/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/lib/librumpuser
Module Name:src Committed By: pooka Date: Wed May 15 20:47:20 UTC 2013 Modified Files: src/lib/librumpuser: Makefile Log Message: also, bsd.own.mk to pick up mk.conf To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/lib/librumpuser/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/rump/kern/lib
Module Name:src Committed By: pooka Date: Wed May 15 21:39:30 UTC 2013 Modified Files: src/sys/rump/kern/lib/libsys_cygwin: syscalls.master src/sys/rump/kern/lib/libsys_sunos: syscalls.master Log Message: Support utimes/futimes. Makes at least fsu_touch work on these platforms. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/rump/kern/lib/libsys_cygwin/syscalls.master cvs rdiff -u -r1.1 -r1.2 src/sys/rump/kern/lib/libsys_sunos/syscalls.master Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/rump/kern/lib
Module Name:src Committed By: pooka Date: Wed May 15 21:41:25 UTC 2013 Modified Files: src/sys/rump/kern/lib/libsys_cygwin: rump_cygwin_syscall.h rump_cygwin_syscallargs.h rump_cygwin_syscalls.c rump_cygwin_sysent.c src/sys/rump/kern/lib/libsys_sunos: rump_sunos_syscall.h rump_sunos_syscallargs.h rump_sunos_syscalls.c rump_sunos_sysent.c Log Message: regen To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 \ src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscall.h \ src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscallargs.h \ src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_syscalls.c \ src/sys/rump/kern/lib/libsys_cygwin/rump_cygwin_sysent.c cvs rdiff -u -r1.1 -r1.2 \ src/sys/rump/kern/lib/libsys_sunos/rump_sunos_syscall.h \ src/sys/rump/kern/lib/libsys_sunos/rump_sunos_syscallargs.h \ src/sys/rump/kern/lib/libsys_sunos/rump_sunos_syscalls.c \ src/sys/rump/kern/lib/libsys_sunos/rump_sunos_sysent.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/rump
Module Name:src Committed By: pooka Date: Wed May 15 21:53:27 UTC 2013 Modified Files: src/sys/rump: VERSION Log Message: one more bump for the recent changes To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/rump/VERSION Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/lib/librumpuser
Module Name:src Committed By: wiz Date: Wed May 15 22:09:32 UTC 2013 Modified Files: src/lib/librumpuser: rumpuser.3 Log Message: More markup, less typos. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/lib/librumpuser/rumpuser.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [khorben-n900] src/sys/arch/arm/omap
Module Name:src Committed By: khorben Date: Wed May 15 23:27:49 UTC 2013 Modified Files: src/sys/arch/arm/omap [khorben-n900]: omap2_spi.c Log Message: Seems to be much closer to working correctly. Apparently one has to read back anything transmitted, as well as transmit 0's to be able to read anything. This would explain the whole juggling with chunks, counts and pointers. To generate a diff of this commit: cvs rdiff -u -r1.1.2.4 -r1.1.2.5 src/sys/arch/arm/omap/omap2_spi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.