]>
xenbits.xensource.com Git - people/liuw/rumprun.git/log
Antti Kantee [Wed, 15 Apr 2015 08:14:27 +0000 (08:14 +0000)]
Move rumpuser stub calls from core lib to rumpuser lib
That's where they should've been in the first place, except
that the rumpuser lib didn't exist back then.
Antti Kantee [Wed, 15 Apr 2015 08:10:36 +0000 (08:10 +0000)]
in -baremetal, use printf instead of bmk_cons_puts
Antti Kantee [Wed, 15 Apr 2015 08:08:10 +0000 (08:08 +0000)]
add a printf routine to bmk-core
Antti Kantee [Wed, 15 Apr 2015 07:43:44 +0000 (07:43 +0000)]
add memchr() to string operations
Antti Kantee [Tue, 14 Apr 2015 18:46:11 +0000 (18:46 +0000)]
Output initfini as a separate section.
Without this, rodata and initfini would overlap. I'll be the first
to admit I don't 100% understand why it happened, but it did, and
this change seems to address the problem. If it ever happens again,
we'll have to get to the bottom of things.
Also, collate all of .rodata* into a single section
Antti Kantee [Tue, 14 Apr 2015 12:30:29 +0000 (12:30 +0000)]
Remove bmk_printf hack
It's no longer used and it was quite the ultimate hack ...
Antti Kantee [Mon, 13 Apr 2015 13:10:48 +0000 (13:10 +0000)]
Nuke fcntl.h dependencies from blkfront.
Simply define our own rd/wr identifiers.
Antti Kantee [Mon, 13 Apr 2015 13:09:13 +0000 (13:09 +0000)]
nuke more libc dependencies from the rumpuser layer
Antti Kantee [Mon, 13 Apr 2015 11:50:04 +0000 (11:50 +0000)]
Replace bmk_ops function pointers with regular functions.
Prefix those function bmk_platform, e.g. bmk_platform_halt()
Antti Kantee [Mon, 13 Apr 2015 11:23:10 +0000 (11:23 +0000)]
g/c unused proto
Antti Kantee [Mon, 13 Apr 2015 10:53:26 +0000 (10:53 +0000)]
use bmk-core/queue.h
Antti Kantee [Mon, 13 Apr 2015 10:49:22 +0000 (10:49 +0000)]
use bmk-core/queue.h instead of sys/queue.h
Antti Kantee [Mon, 13 Apr 2015 10:19:34 +0000 (10:19 +0000)]
move bio hypercalls from rumphyper_base to rumphyper_bio
Antti Kantee [Mon, 13 Apr 2015 10:12:46 +0000 (10:12 +0000)]
remove pre-merge READMEs
Antti Kantee [Fri, 10 Apr 2015 18:35:28 +0000 (18:35 +0000)]
Add "none" as a valid platform to runtests.sh
Runs tests, surprise surprise, on no platform.
Works around travis yaml not being a shell (I think)
Antti Kantee [Fri, 10 Apr 2015 18:33:38 +0000 (18:33 +0000)]
fix quoting
Antti Kantee [Fri, 10 Apr 2015 18:29:09 +0000 (18:29 +0000)]
sleeping for 2s is long enough for testing purposes
Antti Kantee [Fri, 10 Apr 2015 18:26:00 +0000 (20:26 +0200)]
xen now supports the test framework
Antti Kantee [Fri, 10 Apr 2015 18:25:14 +0000 (20:25 +0200)]
Don't error out of mountpath isn't specified.
Just don't mount the device in that case.
Antti Kantee [Fri, 10 Apr 2015 18:24:29 +0000 (20:24 +0200)]
default to 64M for xen for now
... until the stack allocation is fixed with proper use of tls
makes the tests actually pass with the default configuration
Antti Kantee [Fri, 10 Apr 2015 18:09:10 +0000 (18:09 +0000)]
don't hardcode qemu (baremetal) for runtests.sh
Antti Kantee [Fri, 10 Apr 2015 17:59:20 +0000 (17:59 +0000)]
Don't hardcode virtio disk device name
Not that this hack is much better, but at least it allows tests
to proceed on Xen.
Antti Kantee [Fri, 10 Apr 2015 17:07:30 +0000 (17:07 +0000)]
don't fail to notice if mountpoint is not specified
Antti Kantee [Fri, 10 Apr 2015 16:52:21 +0000 (16:52 +0000)]
Don't require a mountpoint for xen -b
If mountpoint is not given, guest should use the block device
any way it pleases.
Antti Kantee [Fri, 10 Apr 2015 16:46:15 +0000 (16:46 +0000)]
use rumpstop instead of kill
Antti Kantee [Fri, 10 Apr 2015 16:45:18 +0000 (16:45 +0000)]
Add rumpstop, opposite of rumprun
rumpstop takes the guest spec output by rumprun and puts that
particular guest to rest.
Antti Kantee [Fri, 10 Apr 2015 16:44:02 +0000 (16:44 +0000)]
include stack type in guest cookie echoed by non-i runs
e.g. xen:domainid or qemu:pid
Antti Kantee [Fri, 10 Apr 2015 15:19:45 +0000 (15:19 +0000)]
use rumprun to run tests instead of hardcoding qemu
Antti Kantee [Fri, 10 Apr 2015 14:36:53 +0000 (14:36 +0000)]
improve run_qemu to support -i and some of -b
Antti Kantee [Fri, 10 Apr 2015 11:39:07 +0000 (11:39 +0000)]
consistently write diagnostic output to stderr
Antti Kantee [Thu, 9 Apr 2015 18:40:24 +0000 (18:40 +0000)]
always apt-get install -y
Antti Kantee [Thu, 9 Apr 2015 18:39:25 +0000 (18:39 +0000)]
apt-get update only once
Antti Kantee [Thu, 9 Apr 2015 18:34:35 +0000 (18:34 +0000)]
attempt to use gcc-4.8
See issue #7: constructor arrays don't build properly with 4.6 and our
linker scripts.
Antti Kantee [Thu, 9 Apr 2015 17:16:03 +0000 (17:16 +0000)]
run tests for baremetal
Antti Kantee [Thu, 9 Apr 2015 14:23:04 +0000 (14:23 +0000)]
Add first attempt a test script
It's supposed to operate like "run script, get a cup of coffee,
and look at results for all tests when you come back".
In other words, no more manually running of tests separately required
anymore.
Antti Kantee [Thu, 9 Apr 2015 14:22:19 +0000 (14:22 +0000)]
convert tests to use librumprun_tester
Antti Kantee [Thu, 9 Apr 2015 14:13:39 +0000 (14:13 +0000)]
build test library
Antti Kantee [Thu, 9 Apr 2015 14:06:22 +0000 (14:06 +0000)]
add test library
Antti Kantee [Thu, 9 Apr 2015 00:02:25 +0000 (00:02 +0000)]
pull in new buildrump.sh
Antti Kantee [Thu, 9 Apr 2015 11:02:47 +0000 (11:02 +0000)]
Merge pull request #6 from liuw/wip.xen-fix
Xen platform code update
Wei Liu [Thu, 9 Apr 2015 10:36:36 +0000 (11:36 +0100)]
Add two more stubs
Needed to build gettext.
Signed-off-by: Wei Liu <liuw@liuw.name>
Wei Liu [Thu, 9 Apr 2015 10:52:06 +0000 (11:52 +0100)]
Prune configure_stubs residuals in Makefile
But leave configure_stubs.c alone as Antti says it's useful for
revamp-mode.
Signed-off-by: Wei Liu <liuw@liuw.name>
Antti Kantee [Wed, 8 Apr 2015 23:24:01 +0000 (23:24 +0000)]
zero out newly created thread before using it
Antti Kantee [Tue, 7 Apr 2015 23:29:04 +0000 (23:29 +0000)]
New rule: userlevel code is linked => main() must be present
In other words, get rid of the nopmain weak alias.
Antti Kantee [Tue, 7 Apr 2015 17:37:02 +0000 (17:37 +0000)]
indent
no functional change
Antti Kantee [Tue, 7 Apr 2015 20:58:25 +0000 (22:58 +0200)]
display timestamp also at the end of the test
Antti Kantee [Tue, 7 Apr 2015 20:56:18 +0000 (22:56 +0200)]
don't adjust abstime with walltime
not sure what the bright idea there was ...
Antti Kantee [Tue, 7 Apr 2015 20:30:38 +0000 (22:30 +0200)]
Try to guess gdbsx location from standard places.
In addition to defaulting to the one present in path, of course.
Antti Kantee [Tue, 7 Apr 2015 15:32:59 +0000 (15:32 +0000)]
print walltime of day in greeting
Antti Kantee [Tue, 7 Apr 2015 15:15:49 +0000 (15:15 +0000)]
indent
no functional change
Antti Kantee [Tue, 7 Apr 2015 15:12:00 +0000 (15:12 +0000)]
push rumpuser_clock routines to librumprun_rumpuser
Antti Kantee [Tue, 7 Apr 2015 15:08:29 +0000 (15:08 +0000)]
add bmk_clock_epochoffset()
Returns bmk_time_t diff between monotonic clock and wall clock
at the time of the call.
Antti Kantee [Tue, 7 Apr 2015 14:54:00 +0000 (14:54 +0000)]
push rumpuser_seterrno() to librumprun_rumpuser
Antti Kantee [Tue, 7 Apr 2015 14:52:03 +0000 (14:52 +0000)]
set errno in terms of bmk, not libc
Antti Kantee [Tue, 7 Apr 2015 14:48:02 +0000 (14:48 +0000)]
commonize more platform-independent rump kernel hypercalls
Antti Kantee [Tue, 7 Apr 2015 14:36:50 +0000 (14:36 +0000)]
define platform interface for freeing pages
Antti Kantee [Tue, 7 Apr 2015 14:09:21 +0000 (14:09 +0000)]
use common thread-switching assembly between platforms
Antti Kantee [Tue, 7 Apr 2015 13:42:15 +0000 (13:42 +0000)]
test pthread_join
Antti Kantee [Tue, 7 Apr 2015 13:23:27 +0000 (13:23 +0000)]
call sched_exit when thread returns
Antti Kantee [Sun, 5 Apr 2015 22:39:45 +0000 (22:39 +0000)]
use platform-independent librumprun_rumpuser
Antti Kantee [Sun, 5 Apr 2015 22:32:40 +0000 (22:32 +0000)]
Add <bmk-core/queue.h>
This is necessary since bmk-core cannot include <sys/queue.h>,
but some bmk-core routines might want queue.h anyway. As a
side-effect, we also need <bmk-core/null.h>, which mundanely
gives us NULL.
Antti Kantee [Sun, 5 Apr 2015 22:31:33 +0000 (22:31 +0000)]
Create librumprun_rumpuser, platform-independent rump kernel hypercalls
Seed with rumphyper_synch.c from platform/xen.
(and also convert /xen to use rumprun_rumpuser)
Antti Kantee [Sun, 5 Apr 2015 21:02:48 +0000 (21:02 +0000)]
decouple rumphyper_synch.c from minios
depends only on bmk-core
Antti Kantee [Sun, 5 Apr 2015 21:02:02 +0000 (21:02 +0000)]
Add rumpuser_core_types.h
Defines the bare minimum of types (and cdefs crud) which is
required to use <rump/rumpuser.h>
Antti Kantee [Sun, 5 Apr 2015 20:57:50 +0000 (20:57 +0000)]
build clock.c for xen
Antti Kantee [Sun, 5 Apr 2015 19:31:19 +0000 (19:31 +0000)]
use bmk_clock_monotonic()
Antti Kantee [Sun, 5 Apr 2015 19:30:59 +0000 (19:30 +0000)]
implement bmk_clock_monotonic() for baremetal
Antti Kantee [Sun, 5 Apr 2015 19:28:57 +0000 (19:28 +0000)]
declare bmk_clock_monotonic()
returns monotonically increasing nanoseconds
Antti Kantee [Sun, 5 Apr 2015 19:25:56 +0000 (19:25 +0000)]
use bmk_assert
Antti Kantee [Sun, 5 Apr 2015 19:24:16 +0000 (19:24 +0000)]
add bmk_assert
Antti Kantee [Sun, 5 Apr 2015 15:01:24 +0000 (15:01 +0000)]
Push pthread_makelwp_rumprun to librumprun_base
Note: the module only lives there, it is not built into
librumprun_base (due to how libpthread wants to hide symbols).
Maybe we'll have a better way of building it some day ...
Antti Kantee [Sun, 5 Apr 2015 14:50:35 +0000 (14:50 +0000)]
Add copyright/license.
Better late than never ...
Antti Kantee [Sun, 5 Apr 2015 14:40:33 +0000 (14:40 +0000)]
push common rumpuser hypercall stubs to bmk-core
Antti Kantee [Sun, 5 Apr 2015 14:30:46 +0000 (14:30 +0000)]
+ ENOSYS
Antti Kantee [Sun, 5 Apr 2015 14:28:32 +0000 (14:28 +0000)]
cleanups and slight polishing
no functional change
Antti Kantee [Sun, 5 Apr 2015 12:23:57 +0000 (12:23 +0000)]
libc_errno.c moved to bmk-base
Antti Kantee [Sun, 5 Apr 2015 12:15:45 +0000 (12:15 +0000)]
push __errno.c to bmk-base
Antti Kantee [Sun, 5 Apr 2015 12:14:31 +0000 (12:14 +0000)]
zero-diff xen/lib/__errno.c and baremetal/libc_errno.c
Antti Kantee [Sun, 5 Apr 2015 11:58:09 +0000 (11:58 +0000)]
push the _lwp.c implementation to bmk-base
Antti Kantee [Sun, 5 Apr 2015 11:22:50 +0000 (11:22 +0000)]
remember to add pthread_makelwp_rumprun.c too
Antti Kantee [Sun, 5 Apr 2015 11:14:16 +0000 (11:14 +0000)]
make _lwp.c implementations have 0 diffs between platforms
Antti Kantee [Sun, 5 Apr 2015 10:58:00 +0000 (10:58 +0000)]
Implement libpthread _lwp the same way on both platforms.
That is, make the pthread->_lwp jump the same way on baremetal
as it is already done on Xen instead of embedding the whole _lwp.c
into libpthread.
Antti Kantee [Sun, 5 Apr 2015 10:39:30 +0000 (10:39 +0000)]
push the pthread makelwp interface definition to bmk-base
convert xen
Antti Kantee [Sun, 5 Apr 2015 09:28:43 +0000 (09:28 +0000)]
decouple xen/_lwp.c from minios
Antti Kantee [Sun, 5 Apr 2015 09:26:52 +0000 (09:26 +0000)]
Make bmk_time_t a bmk-core type
It's still unsure how many types we should provide in bmk-core, but
this one is useful since it avoids having to keep typing "long long"
all over the place.
Antti Kantee [Sat, 4 Apr 2015 22:41:02 +0000 (22:41 +0000)]
need mini-os/time.h for NOW()
(I guess, can't really repeat the Travis build problem on any
of hosts where I test)
Antti Kantee [Sat, 4 Apr 2015 21:25:02 +0000 (21:25 +0000)]
change xen platform to use the scheduler interface from bmk-core
Antti Kantee [Sat, 4 Apr 2015 15:23:34 +0000 (15:23 +0000)]
Move the baremetal scheduler interface definition to bmk-core.
The implementations for baremetal and mini-os still remain private
(for now).
Antti Kantee [Sat, 4 Apr 2015 13:45:19 +0000 (13:45 +0000)]
match baremetal sched sleeping interfaces with xen (conceptually)
Antti Kantee [Sat, 4 Apr 2015 11:28:02 +0000 (11:28 +0000)]
reduce sched.c diffs in init_mainlwp()
Antti Kantee [Fri, 3 Apr 2015 20:49:06 +0000 (20:49 +0000)]
pull new src-netbsd (update openssl)
Antti Kantee [Fri, 3 Apr 2015 12:55:29 +0000 (12:55 +0000)]
add necessary include path
Antti Kantee [Thu, 2 Apr 2015 18:56:15 +0000 (18:56 +0000)]
Reduce gratuitous differences between xen/baremetal sched.c
They are almost equivalent now, except for:
* clock/time routines
* irq save/restore (only in xen)
* naming differences (easy to fix)
Antti Kantee [Thu, 2 Apr 2015 10:44:42 +0000 (10:44 +0000)]
Push stack_base -> tcb to MD code on baremetal
That way it can work on stack-grows-in-the-opposite-direction
machines (not that support for them is around the corner, but
might as well do this correctly).
Antti Kantee [Wed, 1 Apr 2015 21:16:59 +0000 (21:16 +0000)]
fix bug which caused ignoring the "joinable" flag
Antti Kantee [Wed, 1 Apr 2015 19:58:14 +0000 (19:58 +0000)]
fix pointer argument for freeing tls memory
Antti Kantee [Wed, 1 Apr 2015 17:24:08 +0000 (17:24 +0000)]
make copyright the union of baremetal/sched.c
there has been enough cross-pollination (and soon there will be more)
Antti Kantee [Wed, 1 Apr 2015 17:23:33 +0000 (17:23 +0000)]
update copyright
Antti Kantee [Wed, 1 Apr 2015 14:58:17 +0000 (14:58 +0000)]
put bmk headers in include path
Antti Kantee [Wed, 1 Apr 2015 14:40:27 +0000 (14:40 +0000)]
convert xen to use tcb definition from bmk-core