]> xenbits.xensource.com Git - people/liuw/rumprun.git/log
people/liuw/rumprun.git
10 years agobmk_init -> bmk_cons_clear
Antti Kantee [Thu, 30 Apr 2015 10:26:29 +0000 (10:26 +0000)]
bmk_init -> bmk_cons_clear

Also, we don't need to call it in multiboot(), since we already need
to call it in early bootstrap to properly deliver the "no multiboot"
message if necessary.

10 years agoallow alternative console implementations, not just the vga console
Antti Kantee [Thu, 30 Apr 2015 10:20:41 +0000 (10:20 +0000)]
allow alternative console implementations, not just the vga console

10 years agoShuffle bits so that multiboot isn't *the* way to boot.
Antti Kantee [Thu, 30 Apr 2015 10:17:20 +0000 (10:17 +0000)]
Shuffle bits so that multiboot isn't *the* way to boot.

10 years agosprinkle license/copyright
Antti Kantee [Thu, 30 Apr 2015 08:51:49 +0000 (08:51 +0000)]
sprinkle license/copyright

[ci skip]

10 years agoMerge pull request #11 from DerangedMonkeyNinja/posix-memalign-fix
Antti Kantee [Wed, 29 Apr 2015 19:52:19 +0000 (19:52 +0000)]
Merge pull request #11 from DerangedMonkeyNinja/posix-memalign-fix

Update authors file

10 years agoUpdate authors file
Timmons C. Player [Wed, 29 Apr 2015 19:43:36 +0000 (15:43 -0400)]
Update authors file

10 years agoMerge pull request #10 from DerangedMonkeyNinja/posix-memalign-fix
Antti Kantee [Wed, 29 Apr 2015 18:52:04 +0000 (18:52 +0000)]
Merge pull request #10 from DerangedMonkeyNinja/posix-memalign-fix

Fix transposed arguments in posix_memalign

10 years agoFix transposed arguments in posix_memalign
Timmons C. Player [Wed, 29 Apr 2015 15:48:49 +0000 (11:48 -0400)]
Fix transposed arguments in posix_memalign

10 years agoRevert "attempt #1 of migrating to sudo-less travis"
Antti Kantee [Wed, 29 Apr 2015 13:07:41 +0000 (13:07 +0000)]
Revert "attempt #1 of migrating to sudo-less travis"

Nope.  Both xen-dev and qemu-kvm are not allowed packages in the
sudoless env.

This reverts commit e53c81aea787ecadb3cd158038ae1463e0a6f84b.

10 years agoattempt #1 of migrating to sudo-less travis
Antti Kantee [Wed, 29 Apr 2015 13:00:14 +0000 (13:00 +0000)]
attempt #1 of migrating to sudo-less travis

10 years agorun the buildtests.sh script, which also tests ./configure
Antti Kantee [Wed, 29 Apr 2015 12:45:06 +0000 (12:45 +0000)]
run the buildtests.sh script, which also tests ./configure

XXX: we need to get rid of the billion different ways to indicate
platform/baremetal ("baremetal", "bmk", "qemu", ...)

10 years agoDo not build tests by default in platform libs.
Antti Kantee [Wed, 29 Apr 2015 12:43:28 +0000 (12:43 +0000)]
Do not build tests by default in platform libs.

"make tests" can be specified explicitly.  It will build and run
the tests.

10 years agoadd a "buildtests" script, which also runs ./configure
Antti Kantee [Wed, 29 Apr 2015 12:42:37 +0000 (12:42 +0000)]
add a "buildtests" script, which also runs ./configure

10 years agofix pasto
Antti Kantee [Wed, 29 Apr 2015 12:41:05 +0000 (12:41 +0000)]
fix pasto

10 years agoclean also "configure" directory with "make clean"
Antti Kantee [Wed, 29 Apr 2015 12:37:44 +0000 (12:37 +0000)]
clean also "configure" directory with "make clean"

10 years agoCheck that ./configure finds "sigaction"
Antti Kantee [Wed, 29 Apr 2015 12:28:56 +0000 (12:28 +0000)]
Check that ./configure finds "sigaction"

10 years agoAdd an unconditionally run "buildtest"
Antti Kantee [Wed, 29 Apr 2015 12:22:10 +0000 (12:22 +0000)]
Add an unconditionally run "buildtest"

Makes sure that just typing "make" attempts to link at least one
unikernel and expose really obvious problems with changes.

10 years agoSet APP_TOOLS_CC.
Antti Kantee [Wed, 29 Apr 2015 11:50:50 +0000 (11:50 +0000)]
Set APP_TOOLS_CC.

Now consumers of this Makefile can use $APP_TOOLS_CC after
including this Makefile.

10 years agoForce the common libs to always be built.
Antti Kantee [Wed, 29 Apr 2015 10:04:31 +0000 (10:04 +0000)]
Force the common libs to always be built.

And by "always be built" I mean force the top-level build process to
consult the respective Makefiles to determine if the libs should be
rebuilt or not.

10 years agoLimit rump kernel memory allotment to a hard upper limit.
Antti Kantee [Wed, 29 Apr 2015 09:42:58 +0000 (09:42 +0000)]
Limit rump kernel memory allotment to a hard upper limit.

This is a temporary hack to avoid the kernel trying to eat hundreds of
megs for caches.

10 years agoPush rumpuser_getparam() implementation to common libbmk_rumpuser
Antti Kantee [Wed, 29 Apr 2015 09:23:44 +0000 (09:23 +0000)]
Push rumpuser_getparam() implementation to common libbmk_rumpuser

It is mostly for the benefit of the upcoming memory allocation revamp.

10 years agounify rumpuser_getparam() between platforms
Antti Kantee [Wed, 29 Apr 2015 09:21:15 +0000 (09:21 +0000)]
unify rumpuser_getparam() between platforms

10 years agoUse bmk_printf instead of minios_printk.
Antti Kantee [Wed, 29 Apr 2015 09:16:11 +0000 (09:16 +0000)]
Use bmk_printf instead of minios_printk.

Plus minor formatting in the call to printf (so minor it doesn't
deserve a separate commit)

10 years agoAdd bmk_platform_memsize() and replace use of homegrown variants.
Antti Kantee [Wed, 29 Apr 2015 09:14:27 +0000 (09:14 +0000)]
Add bmk_platform_memsize() and replace use of homegrown variants.

10 years agouse errnos
Antti Kantee [Wed, 29 Apr 2015 08:54:57 +0000 (08:54 +0000)]
use errnos

10 years agopanic only when panicking
Antti Kantee [Wed, 29 Apr 2015 08:47:15 +0000 (08:47 +0000)]
panic only when panicking

10 years agoinclude correct header
Antti Kantee [Tue, 28 Apr 2015 22:14:23 +0000 (22:14 +0000)]
include correct header

10 years agodon't return an error for an internal invariant failure
Antti Kantee [Tue, 28 Apr 2015 21:47:31 +0000 (21:47 +0000)]
don't return an error for an internal invariant failure

10 years agoAdd a example .json config file (so that I don't lose it)
Antti Kantee [Tue, 28 Apr 2015 20:40:17 +0000 (20:40 +0000)]
Add a example .json config file (so that I don't lose it)

This will be superceded by autogeneration by the rumprun utility
in the future.

10 years agosupport static ip configuration
Antti Kantee [Tue, 28 Apr 2015 20:37:56 +0000 (20:37 +0000)]
support static ip configuration

10 years agoMount a 1MB tmpfs on /tmp by default.
Antti Kantee [Tue, 28 Apr 2015 14:00:34 +0000 (14:00 +0000)]
Mount a 1MB tmpfs on /tmp by default.

Prevents silly interactions with rumpfs for programs that write to /tmp.

10 years agoinclude tmpfs in the standard mix
Antti Kantee [Tue, 28 Apr 2015 13:59:31 +0000 (13:59 +0000)]
include tmpfs in the standard mix

10 years agoCall main with passed command line instead of hardcoded one.
Antti Kantee [Tue, 28 Apr 2015 08:53:06 +0000 (08:53 +0000)]
Call main with passed command line instead of hardcoded one.

10 years agoparse & store command line as argc+argv
Antti Kantee [Tue, 28 Apr 2015 08:52:29 +0000 (08:52 +0000)]
parse & store command line as argc+argv

10 years agoPush xen/parseargs() to librumprun_base as rumprun_parseargs().
Antti Kantee [Tue, 28 Apr 2015 07:38:08 +0000 (07:38 +0000)]
Push xen/parseargs() to librumprun_base as rumprun_parseargs().

10 years agoNits.
Antti Kantee [Tue, 28 Apr 2015 07:33:09 +0000 (07:33 +0000)]
Nits.

Make parseargs take a char *.
Minor formatting adjustments.

10 years agoFix bug in interrupt establish.
Antti Kantee [Tue, 28 Apr 2015 06:52:56 +0000 (06:52 +0000)]
Fix bug in interrupt establish.

When unmasking an interrupt, don't again mask others.

10 years agoInclude FFS and cd9660 drivers by default.
Antti Kantee [Mon, 27 Apr 2015 10:03:25 +0000 (10:03 +0000)]
Include FFS and cd9660 drivers by default.

10 years agoAlways use bmk_printf() instead of bmk_cons_puts().
Antti Kantee [Mon, 27 Apr 2015 09:54:32 +0000 (09:54 +0000)]
Always use bmk_printf() instead of bmk_cons_puts().

The former has the advantage of also appending to the dmesg buffer.
Retire the latter so that it does not get accidentally used.

10 years agosoftware stack -> unikernel
Antti Kantee [Sun, 26 Apr 2015 16:12:49 +0000 (16:12 +0000)]
software stack -> unikernel

[ci skip]

10 years agoSupport blk device mounts in rumpconfig.
Antti Kantee [Sun, 26 Apr 2015 13:32:58 +0000 (13:32 +0000)]
Support blk device mounts in rumpconfig.

The approach is slightly different than on xen, since here we have real
block device drivers instead of the etfs hack.  Therefore, we don't
specify etfs, instead we specify the real device name.

10 years agoupdate buildrump.sh
Antti Kantee [Sat, 25 Apr 2015 09:00:04 +0000 (09:00 +0000)]
update buildrump.sh

10 years agoupdate src-netbsd
Antti Kantee [Sat, 25 Apr 2015 08:59:51 +0000 (08:59 +0000)]
update src-netbsd

10 years agoSketch out what json-based rumpconfig would look like.
Antti Kantee [Fri, 24 Apr 2015 15:01:38 +0000 (15:01 +0000)]
Sketch out what json-based rumpconfig would look like.

Still missing quite a lot of features, but at least can select an
interface to config with dhcp.

10 years agoPass command line to rumprun_boot() and rumpconfig().
Antti Kantee [Fri, 24 Apr 2015 13:33:04 +0000 (13:33 +0000)]
Pass command line to rumprun_boot() and rumpconfig().

10 years agoAdd jsmn JSON parser to bmk-core.
Antti Kantee [Fri, 24 Apr 2015 13:22:08 +0000 (13:22 +0000)]
Add jsmn JSON parser to bmk-core.

One could debate whether we need it in bmk-core or rumprun-base, but
given that it's extremely small and the only external dependency is to
NULL (apart from size_t which I converted to unsigned long), we might
just as well put it into core and see if in-core uses pop up.

MIT licensed, from http://zserge.com/jsmn.html

10 years agoFix $OPT_SUDO to be '-S' instead of 'sudo'
Antti Kantee [Fri, 24 Apr 2015 06:34:25 +0000 (06:34 +0000)]
Fix $OPT_SUDO to be '-S' instead of 'sudo'

Maybe Xen tests will now finally work on buildbot ...

10 years agosupport \t in console output
Antti Kantee [Thu, 23 Apr 2015 22:20:50 +0000 (22:20 +0000)]
support \t in console output

10 years agoMake getrusage() a non-stub. It's still fictional, though.
Antti Kantee [Thu, 23 Apr 2015 16:14:03 +0000 (16:14 +0000)]
Make getrusage() a non-stub.  It's still fictional, though.

It still returns ENOTSUP, since the NetBSD clock bits that enable times()
to work have not yet been pulled up to src-netbsd.  I'm pushing this
now to allow for easy testing of times() with NetBSD HEAD.

10 years agoAdd -S / sudo also to rumpstop
Antti Kantee [Thu, 23 Apr 2015 14:37:02 +0000 (14:37 +0000)]
Add -S / sudo also to rumpstop

10 years agoAdd compat strong aliases for sigaction/sigprocmask.
Antti Kantee [Thu, 23 Apr 2015 13:14:41 +0000 (13:14 +0000)]
Add compat strong aliases for sigaction/sigprocmask.

These aliases are normally provided by assembly syscall wrappers,
so we do not get them automatically.

Required mostly for configure scripts, as noted by @liuw in
issue #9.

10 years agorequire the user to explicitly give -S for sudo also here
Antti Kantee [Thu, 23 Apr 2015 11:58:22 +0000 (11:58 +0000)]
require the user to explicitly give -S for sudo also here

10 years agoautomatically use sudo for running the tests
Antti Kantee [Thu, 23 Apr 2015 11:53:41 +0000 (11:53 +0000)]
automatically use sudo for running the tests

10 years agorequire -S for automated sudo
Antti Kantee [Thu, 23 Apr 2015 11:53:03 +0000 (11:53 +0000)]
require -S for automated sudo

10 years agouse sudo for xenstore-write
Antti Kantee [Thu, 23 Apr 2015 11:50:34 +0000 (11:50 +0000)]
use sudo for xenstore-write

10 years agodefine container_of iff not already visible via normal headers
Antti Kantee [Thu, 23 Apr 2015 11:37:45 +0000 (11:37 +0000)]
define container_of iff not already visible via normal headers

10 years agoFinalize test log via atexit() handler.
Antti Kantee [Wed, 22 Apr 2015 14:18:16 +0000 (14:18 +0000)]
Finalize test log via atexit() handler.

That way we get it even if the test program exit()'s

10 years agosupport -D/-p on qemu
Antti Kantee [Wed, 22 Apr 2015 14:17:51 +0000 (14:17 +0000)]
support -D/-p on qemu

10 years agoSketch out new interfaces for bootstrap/running programs.
Antti Kantee [Wed, 22 Apr 2015 11:19:09 +0000 (11:19 +0000)]
Sketch out new interfaces for bootstrap/running programs.

The system is "booted" using rumprun_boot().  The opposite of
rumprun_boot() is rumprun_reboot() (logically?)

Between rumprun_boot() and rumprun_reboot() individual applications may
be launched with rumprun() (async) and waited for with rumprun_wait().

Of course, bits for supporting >1 program are still missing, but at
least the sketch is there.

10 years agoUse rumprun_config() instead of a homegrown interface.
Antti Kantee [Wed, 22 Apr 2015 10:51:09 +0000 (10:51 +0000)]
Use rumprun_config() instead of a homegrown interface.

We still do hackish configuration, but at least we do something.

10 years agorumpuser-xen -> rumprun-xen
Antti Kantee [Wed, 22 Apr 2015 08:27:38 +0000 (08:27 +0000)]
rumpuser-xen -> rumprun-xen

10 years agoPrint something like the comment says
Antti Kantee [Wed, 22 Apr 2015 07:42:27 +0000 (07:42 +0000)]
Print something like the comment says

Now that it's possible ...

10 years agoPush userlevel init into the same module.
Antti Kantee [Wed, 22 Apr 2015 07:28:52 +0000 (07:28 +0000)]
Push userlevel init into the same module.

Keeps the namespace in kernel.c clean

10 years agoDon't build kernel-level sources with stack protector.
Antti Kantee [Tue, 21 Apr 2015 15:58:13 +0000 (15:58 +0000)]
Don't build kernel-level sources with stack protector.

Technically we should, but since __stack_chk_fail() currently always
comes from libc, things get a bit weird.

10 years agoBuild libs with minimal acceptable -W flags
Antti Kantee [Tue, 21 Apr 2015 15:36:21 +0000 (15:36 +0000)]
Build libs with minimal acceptable -W flags

(should add more)

10 years agoUse BMK_SCHED_BLOCK_INFTIME where appropriate
Antti Kantee [Tue, 21 Apr 2015 15:34:54 +0000 (15:34 +0000)]
Use BMK_SCHED_BLOCK_INFTIME where appropriate

10 years agoGive "sleep indefinitely" a name: BMK_SCHED_BLOCK_INFTIME.
Antti Kantee [Tue, 21 Apr 2015 15:31:16 +0000 (15:31 +0000)]
Give "sleep indefinitely" a name: BMK_SCHED_BLOCK_INFTIME.

10 years agofix -Wsign-compare
Antti Kantee [Tue, 21 Apr 2015 15:24:08 +0000 (15:24 +0000)]
fix -Wsign-compare

10 years agoremove unused variable
Antti Kantee [Tue, 21 Apr 2015 15:21:22 +0000 (15:21 +0000)]
remove unused variable

10 years agoOpen-code signal stubs a bit.
Antti Kantee [Tue, 21 Apr 2015 15:20:06 +0000 (15:20 +0000)]
Open-code signal stubs a bit.

Can later stuff some better emulation in there, if need be.

10 years agouse <bmk-core/null.h> and bmk_assert()
Antti Kantee [Tue, 21 Apr 2015 14:41:20 +0000 (14:41 +0000)]
use <bmk-core/null.h> and bmk_assert()

10 years agoWrite a for ever loop the normal way instead of with do { } while (1)
Antti Kantee [Tue, 21 Apr 2015 14:37:47 +0000 (14:37 +0000)]
Write a for ever loop the normal way instead of with do { } while (1)

10 years agomight as well say that mlockall() succeeds
Antti Kantee [Tue, 21 Apr 2015 14:34:39 +0000 (14:34 +0000)]
might as well say that mlockall() succeeds

10 years agoAllocate tls before adding thread onto thread list
Antti Kantee [Tue, 21 Apr 2015 13:39:44 +0000 (13:39 +0000)]
Allocate tls before adding thread onto thread list

Doesn't really matter with the current state of things, but it's
nevertheless quite common sense to first init and then publish.

10 years agoRename bmk_clock_*() to bmk_platform_clock_*()
Antti Kantee [Tue, 21 Apr 2015 13:00:18 +0000 (13:00 +0000)]
Rename bmk_clock_*() to bmk_platform_clock_*()

They are expected to be implemented by the underlying platform.

10 years agoremember to convert this curiously built bit too
Antti Kantee [Tue, 21 Apr 2015 12:47:36 +0000 (12:47 +0000)]
remember to convert this curiously built bit too

10 years agoupdate README
Antti Kantee [Tue, 21 Apr 2015 12:36:25 +0000 (12:36 +0000)]
update README

10 years agoRename librumprun_rumpuser to libbmk_rumpuser
Antti Kantee [Tue, 21 Apr 2015 12:34:59 +0000 (12:34 +0000)]
Rename librumprun_rumpuser to libbmk_rumpuser

Layeristically speaking, the common rumpuser bits run on top of bmk,
so the renamed name now also reflects reality (and matches the
header namespace).

10 years agoNo need for a readme saying that we can change the directory name.
Antti Kantee [Tue, 21 Apr 2015 12:31:14 +0000 (12:31 +0000)]
No need for a readme saying that we can change the directory name.

10 years agoRename the <bmk-base> header namespace to <rumprun-base>
Antti Kantee [Tue, 21 Apr 2015 12:30:05 +0000 (12:30 +0000)]
Rename the <bmk-base> header namespace to <rumprun-base>

This change indicates that the headers are for "userspace" level
consumers, and it also makes the header namespace match the name of
the library.

10 years agoRename librumprun_core to libbmk_core.
Antti Kantee [Tue, 21 Apr 2015 12:23:42 +0000 (12:23 +0000)]
Rename librumprun_core to libbmk_core.

It doesn't have anything to do with rumprun, but is at a lower layer of
abstraction, so let's just match the header namespace here.

10 years agoremove now-empty <mini-os/sched.h>
Antti Kantee [Tue, 21 Apr 2015 11:46:52 +0000 (11:46 +0000)]
remove now-empty <mini-os/sched.h>

10 years agoPush the now-equal sched.c's from platforms into rumprun_core.
Antti Kantee [Tue, 21 Apr 2015 11:41:55 +0000 (11:41 +0000)]
Push the now-equal sched.c's from platforms into rumprun_core.

10 years agoMake sched.c for baremetal & xen run purely on top of bmk-core
Antti Kantee [Tue, 21 Apr 2015 11:39:17 +0000 (11:39 +0000)]
Make sched.c for baremetal & xen run purely on top of bmk-core

Incidentally, the sched.c implementations are now 100% the same.

10 years agoCommon name for thread switch routine: bmk_platform_cpu_sched_switch().
Antti Kantee [Tue, 21 Apr 2015 11:35:34 +0000 (11:35 +0000)]
Common name for thread switch routine: bmk_platform_cpu_sched_switch().

Not sure if it can be unified, since it needs to handle the TLS context
switch, which is apparently slightly different in a virtualized env and
on bare metal, so keep the implementations separate for now.

10 years agoBootstrap scheduler the same way between xen and baremetal.
Antti Kantee [Tue, 21 Apr 2015 11:26:56 +0000 (11:26 +0000)]
Bootstrap scheduler the same way between xen and baremetal.

Get rid of the idle thread in Xen, it's no longer used.

10 years agoallow bmk_sched_init() to pass an arg to the main function
Antti Kantee [Tue, 21 Apr 2015 11:18:31 +0000 (11:18 +0000)]
allow bmk_sched_init() to pass an arg to the main function

10 years agoRevert "return correct value from -1/errno stub"
Antti Kantee [Mon, 20 Apr 2015 22:34:43 +0000 (22:34 +0000)]
Revert "return correct value from -1/errno stub"

This reverts commit fac52c22a17e07e5000283f5af81aa6347de31a7.

Ironically fixing the stub breaks too much stuff for now.

10 years agouse bmk_cpu_sched_current() from core
Antti Kantee [Mon, 20 Apr 2015 20:53:57 +0000 (20:53 +0000)]
use bmk_cpu_sched_current() from core

10 years agouse core for cpu-specific bits of thread creation
Antti Kantee [Mon, 20 Apr 2015 20:50:29 +0000 (20:50 +0000)]
use core for cpu-specific bits of thread creation

10 years agomake cpu_sched.c common for both x86 cpus
Antti Kantee [Mon, 20 Apr 2015 20:49:17 +0000 (20:49 +0000)]
make cpu_sched.c common for both x86 cpus

10 years agorename also amd64 cpu_sched.S to avoid .c naming collision
Antti Kantee [Mon, 20 Apr 2015 20:45:25 +0000 (20:45 +0000)]
rename also amd64 cpu_sched.S to avoid .c naming collision

10 years agoPush cpu-specific thread creation into core.
Antti Kantee [Mon, 20 Apr 2015 20:39:01 +0000 (20:39 +0000)]
Push cpu-specific thread creation into core.

Convert -baremetal.

10 years agorename to avoid collision with cpu_sched.c
Antti Kantee [Mon, 20 Apr 2015 20:33:45 +0000 (20:33 +0000)]
rename to avoid collision with cpu_sched.c

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