]> xenbits.xensource.com Git - people/liuw/rumprun.git/log
people/liuw/rumprun.git
10 years agoMatch baremetal "curlwp" with xen
Antti Kantee [Mon, 20 Apr 2015 19:49:26 +0000 (19:49 +0000)]
Match baremetal "curlwp" with xen

i.e. store thread pointer at the end of the stack.  This is done
merely to minimize diffs for now, and will be fixed with tls.

10 years agoMake bmk_sched_init() jump from bootstrap thread to main thread.
Antti Kantee [Mon, 20 Apr 2015 15:21:55 +0000 (15:21 +0000)]
Make bmk_sched_init() jump from bootstrap thread to main thread.

Convert baremetal.

10 years agowrite to the console the standard way
Antti Kantee [Mon, 20 Apr 2015 14:37:08 +0000 (14:37 +0000)]
write to the console the standard way

10 years agomore sched.c diff reduction
Antti Kantee [Mon, 20 Apr 2015 14:15:34 +0000 (14:15 +0000)]
more sched.c diff reduction

10 years agoProvide bmk_sched_threadname() in both schedulers
Antti Kantee [Mon, 20 Apr 2015 14:06:32 +0000 (14:06 +0000)]
Provide bmk_sched_threadname() in both schedulers

10 years agounify timed sleeps in the scheduler
Antti Kantee [Mon, 20 Apr 2015 13:33:48 +0000 (13:33 +0000)]
unify timed sleeps in the scheduler

10 years agoUnify domain blocking part in scheduler implementations
Antti Kantee [Mon, 20 Apr 2015 13:26:52 +0000 (13:26 +0000)]
Unify domain blocking part in scheduler implementations

10 years agoadd a platform interface for putting the entire system to sleep
Antti Kantee [Mon, 20 Apr 2015 13:05:43 +0000 (13:05 +0000)]
add a platform interface for putting the entire system to sleep

10 years agosome trivial diff reduction
Antti Kantee [Mon, 20 Apr 2015 12:33:12 +0000 (12:33 +0000)]
some trivial diff reduction

10 years agoallocate thread stacks the same way on baremetal/xen
Antti Kantee [Mon, 20 Apr 2015 12:30:18 +0000 (12:30 +0000)]
allocate thread stacks the same way on baremetal/xen

10 years agopass stack size to bmk-core as page shift instead of size
Antti Kantee [Mon, 20 Apr 2015 12:28:06 +0000 (12:28 +0000)]
pass stack size to bmk-core as page shift instead of size

10 years agosprinkle with bmk_platform_splfoo() to reduce diffs with /xen
Antti Kantee [Mon, 20 Apr 2015 12:07:40 +0000 (12:07 +0000)]
sprinkle with bmk_platform_splfoo() to reduce diffs with /xen

10 years agouse bmk_platform_splfoo() instead of local ones
Antti Kantee [Mon, 20 Apr 2015 12:02:54 +0000 (12:02 +0000)]
use bmk_platform_splfoo() instead of local ones

10 years agoadd a platform interface for disabling/enabling interrupts
Antti Kantee [Mon, 20 Apr 2015 12:01:41 +0000 (12:01 +0000)]
add a platform interface for disabling/enabling interrupts

10 years agomake sched_switch() static
Antti Kantee [Mon, 20 Apr 2015 11:52:50 +0000 (11:52 +0000)]
make sched_switch() static

10 years agouse bmk_assert() instead of ASSERT()
Antti Kantee [Mon, 20 Apr 2015 11:21:41 +0000 (11:21 +0000)]
use bmk_assert() instead of ASSERT()

10 years agoput new threads at the end of the thread queue
Antti Kantee [Mon, 20 Apr 2015 10:54:50 +0000 (10:54 +0000)]
put new threads at the end of the thread queue

reduces diff with -xen

10 years agoAdd a scheduler debug routine for dumping the thread queue.
Antti Kantee [Mon, 20 Apr 2015 10:47:21 +0000 (10:47 +0000)]
Add a scheduler debug routine for dumping the thread queue.

10 years agoFix sched_yield() to actually yield.
Antti Kantee [Mon, 20 Apr 2015 10:24:25 +0000 (10:24 +0000)]
Fix sched_yield() to actually yield.

10 years agostop the test only if we started it
Antti Kantee [Mon, 20 Apr 2015 08:26:30 +0000 (08:26 +0000)]
stop the test only if we started it

10 years agoflag an internal error if it's not possible to run a test
Antti Kantee [Mon, 20 Apr 2015 08:20:39 +0000 (08:20 +0000)]
flag an internal error if it's not possible to run a test

10 years agoplain /bin/sh is enough
Antti Kantee [Mon, 20 Apr 2015 08:20:12 +0000 (08:20 +0000)]
plain /bin/sh is enough

10 years agoFix bug in condvar sleep.
Antti Kantee [Mon, 20 Apr 2015 07:59:51 +0000 (07:59 +0000)]
Fix bug in condvar sleep.

It caused "sleep indefinitely" to be the same as "wakeup immediately".

10 years agoEnsure that bmk_dmesg stays null-terminated.
Antti Kantee [Sun, 19 Apr 2015 16:51:44 +0000 (16:51 +0000)]
Ensure that bmk_dmesg stays null-terminated.

10 years agoStore printf output a "dmesg buffer"
Antti Kantee [Sun, 19 Apr 2015 16:06:54 +0000 (16:06 +0000)]
Store printf output a "dmesg buffer"

Currently, the easiest way to print the contents is to attach gdb
and from the gdb command prompt run: printf "%x", bmk_dmesg

10 years agoimplement rumpuser_putchar() in common code
Antti Kantee [Sun, 19 Apr 2015 16:05:58 +0000 (16:05 +0000)]
implement rumpuser_putchar() in common code

10 years agoallocate thread stacks with bmk_platform_allocpg2()
Antti Kantee [Sun, 19 Apr 2015 13:49:28 +0000 (13:49 +0000)]
allocate thread stacks with bmk_platform_allocpg2()

10 years agoforce rebuild
Antti Kantee [Sat, 18 Apr 2015 17:34:12 +0000 (17:34 +0000)]
force rebuild

10 years agoCache thread stack sized allocations.
Antti Kantee [Sat, 18 Apr 2015 16:42:16 +0000 (16:42 +0000)]
Cache thread stack sized allocations.

10 years agoDefine stack size in terms of 2^n multiple of page size.
Antti Kantee [Sat, 18 Apr 2015 16:27:36 +0000 (16:27 +0000)]
Define stack size in terms of 2^n multiple of page size.

Not that it makes much difference now, since a page is just a value.
But it gets us closer to what /xen is doing.

10 years agono need to cd to "tests" for runtests.sh anymore
Antti Kantee [Fri, 17 Apr 2015 15:02:24 +0000 (15:02 +0000)]
no need to cd to "tests" for runtests.sh anymore

10 years agosupport running runtests.sh from arbitrary dir
Antti Kantee [Fri, 17 Apr 2015 15:01:47 +0000 (15:01 +0000)]
support running runtests.sh from arbitrary dir

10 years agoreturn correct value from -1/errno stub
Antti Kantee [Thu, 16 Apr 2015 21:45:52 +0000 (21:45 +0000)]
return correct value from -1/errno stub

IIRC, this makes some functions accidentally work "more incorrectly",
but at least it appears to make times() not hang.

10 years agoadjust from wall clock to internal clock before sleeping
Antti Kantee [Thu, 16 Apr 2015 13:36:04 +0000 (13:36 +0000)]
adjust from wall clock to internal clock before sleeping

10 years agoRemove the old dogdb.sh script.
Antti Kantee [Thu, 16 Apr 2015 12:19:07 +0000 (12:19 +0000)]
Remove the old dogdb.sh script.

Use rumprun -D instead.  One way of doing things(tm)

10 years agoflush stdout before we close the backing fd
Antti Kantee [Thu, 16 Apr 2015 11:26:58 +0000 (11:26 +0000)]
flush stdout before we close the backing fd

10 years agobuild test programs with -g
Antti Kantee [Thu, 16 Apr 2015 11:26:21 +0000 (11:26 +0000)]
build test programs with -g

10 years agoseparate stubs which should return error or -1
Antti Kantee [Wed, 15 Apr 2015 10:10:31 +0000 (10:10 +0000)]
separate stubs which should return error or -1

10 years agoprint stub warnings to stderr
Antti Kantee [Wed, 15 Apr 2015 09:27:14 +0000 (09:27 +0000)]
print stub warnings to stderr

10 years agopush libc_stubs to librumprun_base
Antti Kantee [Wed, 15 Apr 2015 09:25:44 +0000 (09:25 +0000)]
push libc_stubs to librumprun_base

10 years agouse stdio where appropriate
Antti Kantee [Wed, 15 Apr 2015 09:13:54 +0000 (09:13 +0000)]
use stdio where appropriate

oh the irony, stdio used where it shouldn't be and not used where
it should be ...

10 years agouse bmk-core instead of stdio
Antti Kantee [Wed, 15 Apr 2015 08:55:17 +0000 (08:55 +0000)]
use bmk-core instead of stdio

10 years agostdio.h is no longer required here
Antti Kantee [Wed, 15 Apr 2015 08:38:52 +0000 (08:38 +0000)]
stdio.h is no longer required here

10 years agomove dprintf to common librumprun_rumpuser
Antti Kantee [Wed, 15 Apr 2015 08:32:23 +0000 (08:32 +0000)]
move dprintf to common librumprun_rumpuser

10 years agoinitialize bmk-core printf for -xen
Antti Kantee [Wed, 15 Apr 2015 08:30:27 +0000 (08:30 +0000)]
initialize bmk-core printf for -xen

10 years agoreflect reality in comments
Antti Kantee [Wed, 15 Apr 2015 08:24:58 +0000 (08:24 +0000)]
reflect reality in comments

10 years agoremove arg name
Antti Kantee [Wed, 15 Apr 2015 08:24:03 +0000 (08:24 +0000)]
remove arg name

10 years agowe also need a vprintf() variant, so add it
Antti Kantee [Wed, 15 Apr 2015 08:23:30 +0000 (08:23 +0000)]
we also need a vprintf() variant, so add it

10 years agoMove rumpuser stub calls from core lib to rumpuser lib
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.

10 years agoin -baremetal, use printf instead of bmk_cons_puts
Antti Kantee [Wed, 15 Apr 2015 08:10:36 +0000 (08:10 +0000)]
in -baremetal, use printf instead of bmk_cons_puts

10 years agoadd a printf routine to bmk-core
Antti Kantee [Wed, 15 Apr 2015 08:08:10 +0000 (08:08 +0000)]
add a printf routine to bmk-core

10 years agoadd memchr() to string operations
Antti Kantee [Wed, 15 Apr 2015 07:43:44 +0000 (07:43 +0000)]
add memchr() to string operations

10 years agoOutput initfini as a separate section.
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

10 years agoRemove bmk_printf hack
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 ...

10 years agoNuke fcntl.h dependencies from blkfront.
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.

10 years agonuke more libc dependencies from the rumpuser layer
Antti Kantee [Mon, 13 Apr 2015 13:09:13 +0000 (13:09 +0000)]
nuke more libc dependencies from the rumpuser layer

10 years agoReplace bmk_ops function pointers with regular functions.
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()

10 years agog/c unused proto
Antti Kantee [Mon, 13 Apr 2015 11:23:10 +0000 (11:23 +0000)]
g/c unused proto

10 years agouse bmk-core/queue.h
Antti Kantee [Mon, 13 Apr 2015 10:53:26 +0000 (10:53 +0000)]
use bmk-core/queue.h

10 years agouse bmk-core/queue.h instead of sys/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

10 years agomove bio hypercalls from rumphyper_base to rumphyper_bio
Antti Kantee [Mon, 13 Apr 2015 10:19:34 +0000 (10:19 +0000)]
move bio hypercalls from rumphyper_base to rumphyper_bio

10 years agoremove pre-merge READMEs
Antti Kantee [Mon, 13 Apr 2015 10:12:46 +0000 (10:12 +0000)]
remove pre-merge READMEs

10 years agoAdd "none" as a valid platform to runtests.sh
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)

10 years agofix quoting
Antti Kantee [Fri, 10 Apr 2015 18:33:38 +0000 (18:33 +0000)]
fix quoting

10 years agosleeping for 2s is long enough for testing purposes
Antti Kantee [Fri, 10 Apr 2015 18:29:09 +0000 (18:29 +0000)]
sleeping for 2s is long enough for testing purposes

10 years agoxen now supports the test framework
Antti Kantee [Fri, 10 Apr 2015 18:26:00 +0000 (20:26 +0200)]
xen now supports the test framework

10 years agoDon't error out of mountpath isn't specified.
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.

10 years agodefault to 64M for xen for now
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

10 years agodon't hardcode qemu (baremetal) for runtests.sh
Antti Kantee [Fri, 10 Apr 2015 18:09:10 +0000 (18:09 +0000)]
don't hardcode qemu (baremetal) for runtests.sh

10 years agoDon't hardcode virtio disk device name
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.

10 years agodon't fail to notice if mountpoint is not specified
Antti Kantee [Fri, 10 Apr 2015 17:07:30 +0000 (17:07 +0000)]
don't fail to notice if mountpoint is not specified

10 years agoDon't require a mountpoint for xen -b
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.

10 years agouse rumpstop instead of kill
Antti Kantee [Fri, 10 Apr 2015 16:46:15 +0000 (16:46 +0000)]
use rumpstop instead of kill

10 years agoAdd rumpstop, opposite of rumprun
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.

10 years agoinclude stack type in guest cookie echoed by non-i runs
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

10 years agouse rumprun to run tests instead of hardcoding qemu
Antti Kantee [Fri, 10 Apr 2015 15:19:45 +0000 (15:19 +0000)]
use rumprun to run tests instead of hardcoding qemu

10 years agoimprove run_qemu to support -i and some of -b
Antti Kantee [Fri, 10 Apr 2015 14:36:53 +0000 (14:36 +0000)]
improve run_qemu to support -i and some of -b

10 years agoconsistently write diagnostic output to stderr
Antti Kantee [Fri, 10 Apr 2015 11:39:07 +0000 (11:39 +0000)]
consistently write diagnostic output to stderr

10 years agoalways apt-get install -y
Antti Kantee [Thu, 9 Apr 2015 18:40:24 +0000 (18:40 +0000)]
always apt-get install -y

10 years agoapt-get update only once
Antti Kantee [Thu, 9 Apr 2015 18:39:25 +0000 (18:39 +0000)]
apt-get update only once

10 years agoattempt to use gcc-4.8
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.

10 years agorun tests for baremetal
Antti Kantee [Thu, 9 Apr 2015 17:16:03 +0000 (17:16 +0000)]
run tests for baremetal

10 years agoAdd first attempt a test script
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.

10 years agoconvert tests to use librumprun_tester
Antti Kantee [Thu, 9 Apr 2015 14:22:19 +0000 (14:22 +0000)]
convert tests to use librumprun_tester

10 years agobuild test library
Antti Kantee [Thu, 9 Apr 2015 14:13:39 +0000 (14:13 +0000)]
build test library

10 years agoadd test library
Antti Kantee [Thu, 9 Apr 2015 14:06:22 +0000 (14:06 +0000)]
add test library

10 years agopull in new buildrump.sh
Antti Kantee [Thu, 9 Apr 2015 00:02:25 +0000 (00:02 +0000)]
pull in new buildrump.sh

10 years agoMerge pull request #6 from liuw/wip.xen-fix
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

10 years agoAdd two more stubs
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>
10 years agoPrune configure_stubs residuals in Makefile
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>
10 years agozero out newly created thread before using it
Antti Kantee [Wed, 8 Apr 2015 23:24:01 +0000 (23:24 +0000)]
zero out newly created thread before using it

10 years agoNew rule: userlevel code is linked => main() must be present
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.

10 years agoindent
Antti Kantee [Tue, 7 Apr 2015 17:37:02 +0000 (17:37 +0000)]
indent

no functional change

10 years agodisplay timestamp also at the end of the test
Antti Kantee [Tue, 7 Apr 2015 20:58:25 +0000 (22:58 +0200)]
display timestamp also at the end of the test

10 years agodon't adjust abstime with walltime
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 ...

10 years agoTry to guess gdbsx location from standard places.
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.

10 years agoprint walltime of day in greeting
Antti Kantee [Tue, 7 Apr 2015 15:32:59 +0000 (15:32 +0000)]
print walltime of day in greeting

10 years agoindent
Antti Kantee [Tue, 7 Apr 2015 15:15:49 +0000 (15:15 +0000)]
indent

no functional change

10 years agopush rumpuser_clock routines to librumprun_rumpuser
Antti Kantee [Tue, 7 Apr 2015 15:12:00 +0000 (15:12 +0000)]
push rumpuser_clock routines to librumprun_rumpuser

10 years agoadd bmk_clock_epochoffset()
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.