]> xenbits.xensource.com Git - osstest/rumprun.git/log
osstest/rumprun.git
9 years agoDon't error if a rumpbake recipe is entry (can happen e.g. for cflags)
Antti Kantee [Tue, 1 Sep 2015 11:01:50 +0000 (11:01 +0000)]
Don't error if a rumpbake recipe is entry (can happen e.g. for cflags)

9 years agoDefault to C++11 only if no -std= specified
Martin Lucina [Sun, 30 Aug 2015 12:57:24 +0000 (14:57 +0200)]
Default to C++11 only if no -std= specified

If the user explicitly specifies -std= then we don't want to override
that.

9 years agoSpecify C++ language standard and includes using compiler specs
Martin Lucina [Sun, 30 Aug 2015 10:28:34 +0000 (12:28 +0200)]
Specify C++ language standard and includes using compiler specs

To address issue #43, the gcc driver knows (based on a list of suffixes)
if it is compiling C or C++. So, we can use this knowledge in the specs
to set the required C++ standard.

Note that -std=c++11 must be specified in both the cpp_options and
cc1plus spec for this to work.

This change also sets the cpp options to only add the C++ include paths
when compiling C++ programs.

9 years agoAllow raw libs to be specified in configs.
Antti Kantee [Fri, 28 Aug 2015 14:25:38 +0000 (14:25 +0000)]
Allow raw libs to be specified in configs.

9 years agoFix to previous: process options correctly
Antti Kantee [Fri, 28 Aug 2015 14:15:48 +0000 (14:15 +0000)]
Fix to previous: process options correctly

9 years agoadd rumpbake version and check version for config files
Antti Kantee [Fri, 28 Aug 2015 13:48:34 +0000 (13:48 +0000)]
add rumpbake version and check version for config files

9 years agoImplement -c userconfig, as discussed on rumpkernel-users
Antti Kantee [Fri, 28 Aug 2015 12:48:47 +0000 (12:48 +0000)]
Implement -c userconfig, as discussed on rumpkernel-users

9 years agoFix previous
Antti Kantee [Fri, 28 Aug 2015 12:23:19 +0000 (12:23 +0000)]
Fix previous

... take into account that the same line can contain
the same bug twice.

9 years agoMake things work even where recipe entries contain whitespace.
Antti Kantee [Fri, 28 Aug 2015 12:16:32 +0000 (12:16 +0000)]
Make things work even where recipe entries contain whitespace.

9 years agofix "shift" in addconfig for previous
Antti Kantee [Fri, 28 Aug 2015 12:07:31 +0000 (12:07 +0000)]
fix "shift" in addconfig for previous

9 years agono need to allcaps params in usage
Antti Kantee [Fri, 28 Aug 2015 11:52:16 +0000 (11:52 +0000)]
no need to allcaps params in usage

9 years agodeduce platform from config name
Antti Kantee [Fri, 28 Aug 2015 11:49:37 +0000 (11:49 +0000)]
deduce platform from config name

9 years agoreduce copypasta
Antti Kantee [Fri, 28 Aug 2015 11:39:52 +0000 (11:39 +0000)]
reduce copypasta

9 years agoActually use ${READELF} we set instead of hardcoding readelf.
Antti Kantee [Fri, 28 Aug 2015 10:14:09 +0000 (10:14 +0000)]
Actually use ${READELF} we set instead of hardcoding readelf.

9 years agoAvoid both "target" and "output" in the usage.
Antti Kantee [Fri, 28 Aug 2015 10:09:07 +0000 (10:09 +0000)]
Avoid both "target" and "output" in the usage.

no change beyond usage message

9 years agoupdate buildrump.sh
Antti Kantee [Thu, 27 Aug 2015 23:04:26 +0000 (23:04 +0000)]
update buildrump.sh

9 years agoRemove check for __RuMpRuN_baked__
Antti Kantee [Thu, 27 Aug 2015 14:28:20 +0000 (14:28 +0000)]
Remove check for __RuMpRuN_baked__

Problems with it:
1) breaks naiive strip (you need strip -K __RuMpSAdfdsaf)
2) prevents from using gzipped binaries as rumprun arguments
3) in its current form, catches only a small set of errors (not
   e.g. trying to rumprun xen a binary baked for hw)

At least 1 and 2 should be fixed before possibly reintroducing this
safety net, but for now we'll just assume that the user is not making
mistakes.

9 years agoremember to initialize too
Antti Kantee [Tue, 25 Aug 2015 13:54:53 +0000 (13:54 +0000)]
remember to initialize too

9 years agoPull in latest buildrump.sh
Antti Kantee [Tue, 25 Aug 2015 12:06:18 +0000 (12:06 +0000)]
Pull in latest buildrump.sh

Avoids unnecessary rebuilds.

9 years agoforce rebuild
Antti Kantee [Tue, 25 Aug 2015 11:36:49 +0000 (11:36 +0000)]
force rebuild

9 years agoDefault to -std=c++11
Antti Kantee [Tue, 25 Aug 2015 10:58:09 +0000 (10:58 +0000)]
Default to -std=c++11

We do this here instead of in the specs file since I couldn't figure
out how to make -std=c++11 apply only to C++ for the preprocessor
options line.  Fix if you know how.

The only bug is that "foo-gcc foo.cc" will not use C++11, but I'm
not sure we care about that.

9 years agopull in latest buildrump.sh (fix to previous)
Antti Kantee [Mon, 24 Aug 2015 10:31:53 +0000 (10:31 +0000)]
pull in latest buildrump.sh (fix to previous)

9 years agopull in new buildrump.sh
Antti Kantee [Mon, 24 Aug 2015 10:05:17 +0000 (10:05 +0000)]
pull in new buildrump.sh

9 years agoadd a few more mmap tests
Antti Kantee [Sun, 23 Aug 2015 23:19:59 +0000 (23:19 +0000)]
add a few more mmap tests

9 years agoMake mmap chunks partially unmappable, issue #41
Antti Kantee [Sun, 23 Aug 2015 23:14:10 +0000 (23:14 +0000)]
Make mmap chunks partially unmappable, issue #41

Apparently at least erlang wants this behavior, so we unfortunately
need to emulate it or risk memory corruption.  Should adjust the page
allocator to allow non-pow2 free'ing.

9 years agomake pagesize() a __constfunc
Antti Kantee [Sun, 23 Aug 2015 13:35:50 +0000 (13:35 +0000)]
make pagesize() a __constfunc

9 years agoadd a simple mmap(MAP_ANON) test
Antti Kantee [Sun, 23 Aug 2015 12:30:50 +0000 (12:30 +0000)]
add a simple mmap(MAP_ANON) test

9 years agoUse page allocator directly for mmap instead of malloc.
Antti Kantee [Sun, 23 Aug 2015 12:28:39 +0000 (12:28 +0000)]
Use page allocator directly for mmap instead of malloc.

We're allocating whole pages anyway, and this way we don't need to pay
for the mmap overhead.

9 years agoExport bmk_dmesg instead of having it static
Antti Kantee [Sat, 22 Aug 2015 12:04:41 +0000 (12:04 +0000)]
Export bmk_dmesg instead of having it static

For whatever reason, in some build environments having bmk_dmesg static
does not make it appear in the symbol table at all, therefore making it
impossible to dump dmesg.

9 years agoxen: callmain.c -> init.c
Antti Kantee [Thu, 20 Aug 2015 16:07:46 +0000 (16:07 +0000)]
xen: callmain.c -> init.c

Now both platforms have the same name for the module containing the
same functionality.

9 years agoMake delta_ticks unsigned, it's expected to be unsigned
Antti Kantee [Thu, 20 Aug 2015 16:07:19 +0000 (16:07 +0000)]
Make delta_ticks unsigned, it's expected to be unsigned

9 years agonote EC2 and ARM
Antti Kantee [Thu, 20 Aug 2015 16:03:57 +0000 (16:03 +0000)]
note EC2 and ARM

[ci skip]

9 years agoFish for interrupts if returning from block() before timeout.
Antti Kantee [Thu, 20 Aug 2015 15:33:06 +0000 (15:33 +0000)]
Fish for interrupts if returning from block() before timeout.

9 years agoShortcircuit block is sleeptime is <=0, not only when <0.
Antti Kantee [Thu, 20 Aug 2015 15:24:41 +0000 (15:24 +0000)]
Shortcircuit block is sleeptime is <=0, not only when <0.

9 years agoSupport multiple vnd-based block devices.
Antti Kantee [Thu, 20 Aug 2015 01:20:13 +0000 (01:20 +0000)]
Support multiple vnd-based block devices.

This support is currently useful for iso and ec2.

9 years agoDo not leak pathbuf memory from configetfs()
Antti Kantee [Wed, 19 Aug 2015 23:00:02 +0000 (23:00 +0000)]
Do not leak pathbuf memory from configetfs()

9 years agoAdd initial support for Amazon EC2.
Antti Kantee [Tue, 18 Aug 2015 23:51:47 +0000 (23:51 +0000)]
Add initial support for Amazon EC2.

Like the "iso" target, this target does not run anything.  It creates
a directory structure which the user should embed in a EC2 volume which
can then be used to created a EC2 AMI and launched.  Since there are so
many degrees of freedom to EC2, handling the details of how exactly to
launch the resulting unikernel  is simply out of the scope of rumprun.

9 years agoOne more rootfs location guess: Xen etfs sda1
Antti Kantee [Tue, 18 Aug 2015 22:01:49 +0000 (22:01 +0000)]
One more rootfs location guess: Xen etfs sda1

9 years agoAllow Xen to use rootfs config.
Antti Kantee [Tue, 18 Aug 2015 21:49:37 +0000 (21:49 +0000)]
Allow Xen to use rootfs config.

9 years ago_rumprun_{de,}config -> rumprun_{de,}config
Antti Kantee [Tue, 18 Aug 2015 21:33:05 +0000 (21:33 +0000)]
_rumprun_{de,}config -> rumprun_{de,}config

For consistency: nothing else in rumprun uses the underscore.
(maybe they should, but that's another discussion)

9 years agoIntroduce rumprun_config_isonrootfs_p()
Antti Kantee [Tue, 18 Aug 2015 21:24:04 +0000 (21:24 +0000)]
Introduce rumprun_config_isonrootfs_p()

Is simply tells if the command line thinks that the actual config
is not on the command line with on the root file system.

9 years agoInclude vnd in Xen configs
Antti Kantee [Tue, 18 Aug 2015 20:40:31 +0000 (20:40 +0000)]
Include vnd in Xen configs

9 years agoEnable interrupts "atomically" in x86 bmk_platform_cpu_halt().
Antti Kantee [Sat, 15 Aug 2015 22:07:25 +0000 (22:07 +0000)]
Enable interrupts "atomically" in x86 bmk_platform_cpu_halt().

Otherwise, we might even miss the clock interrupt, let alone other
interrupts which should prevent us from sleeping.

9 years agoimprove comment
Antti Kantee [Sun, 16 Aug 2015 13:43:43 +0000 (13:43 +0000)]
improve comment

9 years agomake stray interrupt print "work" under BMK_INTRLEVS == 1
Antti Kantee [Sat, 15 Aug 2015 22:00:50 +0000 (22:00 +0000)]
make stray interrupt print "work" under BMK_INTRLEVS == 1

9 years agobmk_platform_block() -> bmk_platform_cpu_block()
Antti Kantee [Sat, 15 Aug 2015 21:16:03 +0000 (21:16 +0000)]
bmk_platform_block() -> bmk_platform_cpu_block()

It's arch-dependent anyway, no point in wrapping it.

9 years agoMake isr_todo a volatile.
Antti Kantee [Sat, 15 Aug 2015 20:44:02 +0000 (20:44 +0000)]
Make isr_todo a volatile.

It's set in the interrupt handler and examined in thread context.

9 years agoInterrupt support for ARM/integratorcp
Antti Kantee [Thu, 13 Aug 2015 13:33:14 +0000 (13:33 +0000)]
Interrupt support for ARM/integratorcp

9 years agoFlag interrupts we tried to handle as processed for cpu_intr_ack().
Antti Kantee [Thu, 13 Aug 2015 13:30:07 +0000 (13:30 +0000)]
Flag interrupts we tried to handle as processed for cpu_intr_ack().

If we mark only ones which were acknowledged by devices, buggy
drivers may disable interrupts unwillingly.  Of course, the flipside
is that buggy drivers with level-triggered interrupts will perpetually
raise the interrupt.  Not quite what to do about that.  But at least
ARM/integratorcp interrupts work now (or, will work after the next, MD
commit).

9 years agomake the default config also set an IP address
Antti Kantee [Wed, 12 Aug 2015 15:51:58 +0000 (15:51 +0000)]
make the default config also set an IP address

9 years agopass info on which interrupts where handled to cpu_intr_ack()
Antti Kantee [Thu, 13 Aug 2015 11:50:40 +0000 (11:50 +0000)]
pass info on which interrupts where handled to cpu_intr_ack()

9 years agoPass x86_64 interrupt number in correct register.
Antti Kantee [Wed, 12 Aug 2015 16:35:09 +0000 (16:35 +0000)]
Pass x86_64 interrupt number in correct register.

I'm not sure I want to know why this worked before or why it
continued to work under kvm (as opposed to plain qemu) .....

9 years agoPass interrupt as a mask instead of shift to isr()
Antti Kantee [Wed, 12 Aug 2015 16:08:03 +0000 (16:08 +0000)]
Pass interrupt as a mask instead of shift to isr()

On some platforms (e.g. ARM) we get the mask but not the shift(s),
so this makes like a bit easier there.

9 years agorumpxen_tc -> bmktc
Antti Kantee [Wed, 12 Aug 2015 15:43:07 +0000 (15:43 +0000)]
rumpxen_tc -> bmktc

9 years agofix argv-mangling. noticed by @ether42
Antti Kantee [Wed, 12 Aug 2015 12:27:41 +0000 (12:27 +0000)]
fix argv-mangling.  noticed by @ether42

9 years agomake comment correct. no functional change.
Antti Kantee [Wed, 12 Aug 2015 11:07:38 +0000 (11:07 +0000)]
make comment correct.  no functional change.

9 years agoxen: Ensure all modules are built with -mno-red-zone on x86_64
Martin Lucina [Wed, 12 Aug 2015 10:32:03 +0000 (12:32 +0200)]
xen: Ensure all modules are built with -mno-red-zone on x86_64

For Xen on x86_64, all rumprun modules (kernel, libc, application) must
be built with -mno-red-zone.

9 years agoreflect "bmk -> hw" platform name update
Antti Kantee [Tue, 11 Aug 2015 21:23:45 +0000 (21:23 +0000)]
reflect "bmk -> hw" platform name update

9 years agoAPP_TOOLS_PLATFORM: bmk -> hw
Antti Kantee [Tue, 11 Aug 2015 21:12:34 +0000 (21:12 +0000)]
APP_TOOLS_PLATFORM: bmk -> hw

No user-visible change.

9 years agoremove rumpxentc (superceded by rumpkern_bmktc)
Antti Kantee [Tue, 11 Aug 2015 18:27:25 +0000 (18:27 +0000)]
remove rumpxentc (superceded by rumpkern_bmktc)

9 years agoalso build rumpkern_bmktc
Antti Kantee [Tue, 11 Aug 2015 18:18:49 +0000 (18:18 +0000)]
also build rumpkern_bmktc

9 years agorumpxentc already runs on top of bmk
Antti Kantee [Tue, 11 Aug 2015 18:07:19 +0000 (18:07 +0000)]
rumpxentc already runs on top of bmk

Make it a platform-independent, mandatory component.  The value of the
clock no longer depends on the clock interrupt running.

9 years agoget rid of run() and call startmain() directly
Antti Kantee [Tue, 11 Aug 2015 18:00:24 +0000 (18:00 +0000)]
get rid of run() and call startmain() directly

9 years agoxen: Stop stack walk on out of bounds caller address
Martin Lucina [Sat, 8 Aug 2015 18:20:38 +0000 (20:20 +0200)]
xen: Stop stack walk on out of bounds caller address

If the caller address in do_stack_walk() looks obviously wrong, i.e.
outside of .text, then just stop.

9 years agoxen: Destroy domain on crash if '-d' is specified
Martin Lucina [Sat, 8 Aug 2015 18:20:13 +0000 (20:20 +0200)]
xen: Destroy domain on crash if '-d' is specified

9 years agorumprun: Use '-N' option to sethostname() in guest
Martin Lucina [Sat, 8 Aug 2015 17:46:09 +0000 (19:46 +0200)]
rumprun: Use '-N' option to sethostname() in guest

The -N option is already documented as "set guest name". Some
applications will use the hostname in log messages, so we might as well
set it when -N is specified.

9 years agoreflect previous changes in ARM
Antti Kantee [Fri, 7 Aug 2015 15:57:48 +0000 (15:57 +0000)]
reflect previous changes in ARM

9 years agoAyh, kernel code of course can't include <bmk-core/...>
Antti Kantee [Fri, 7 Aug 2015 15:47:25 +0000 (15:47 +0000)]
Ayh, kernel code of course can't include <bmk-core/...>

Really should fix these pseudo-hypercalls some day.

9 years agoMake the clock routines bmk_platform_cpu_clock_foo
Antti Kantee [Fri, 7 Aug 2015 15:33:42 +0000 (15:33 +0000)]
Make the clock routines bmk_platform_cpu_clock_foo

bmk can now directly call into the relevant code instead of a bounce.

9 years agog/c unused minios_clock_wall()
Antti Kantee [Fri, 7 Aug 2015 15:26:09 +0000 (15:26 +0000)]
g/c unused minios_clock_wall()

9 years agoclock routines don't belong in sched.h, move to platform.h
Antti Kantee [Fri, 7 Aug 2015 15:17:03 +0000 (15:17 +0000)]
clock routines don't belong in sched.h, move to platform.h

9 years agoAdd initial cpu_block() support for ARM/integrator.
Antti Kantee [Fri, 7 Aug 2015 00:39:47 +0000 (00:39 +0000)]
Add initial cpu_block() support for ARM/integrator.

The clock is not accurate, but don't care about that for now.

9 years agoAdd initial clock support for ARM/integratorcp.
Antti Kantee [Thu, 6 Aug 2015 11:44:52 +0000 (11:44 +0000)]
Add initial clock support for ARM/integratorcp.

9 years agoadd some arm memory space access routines
Antti Kantee [Thu, 6 Aug 2015 11:44:17 +0000 (11:44 +0000)]
add some arm memory space access routines

9 years agoFix invariant check in sorted wakeup time insert.
Antti Kantee [Thu, 6 Aug 2015 11:41:53 +0000 (11:41 +0000)]
Fix invariant check in sorted wakeup time insert.

Assert would fire if two threads were added with the same wakeup time
at the end of the queue.

9 years agouse MACHINE_ARCH also for platform/hw/include/arch
Antti Kantee [Tue, 4 Aug 2015 22:12:12 +0000 (22:12 +0000)]
use MACHINE_ARCH also for platform/hw/include/arch

9 years agoUse MACHINE_ARCH (x86_64) instead of MACHINE (amd64)
Antti Kantee [Tue, 4 Aug 2015 21:38:52 +0000 (21:38 +0000)]
Use MACHINE_ARCH (x86_64) instead of MACHINE (amd64)

Fixes build.

9 years agoAdd initial ARM support.
Antti Kantee [Tue, 4 Aug 2015 21:14:15 +0000 (21:14 +0000)]
Add initial ARM support.

A "hello world" works.  This means that pthreads, TLS, scheduling
etc. work.  There is no I/O support currently (except console).
Adding I/O support requires some fixes to NetBSD (most likely limited
to minor adjustments).

There are two paths to go from here: either add I/O device support,
or fix some structural problems in rumprun which make it assume x86.

9 years agoSupport the other TLS variant.
Antti Kantee [Tue, 4 Aug 2015 20:59:45 +0000 (20:59 +0000)]
Support the other TLS variant.

9 years agosome more MD <bmk> -> <hw> that I missed
Antti Kantee [Mon, 3 Aug 2015 13:00:06 +0000 (13:00 +0000)]
some more MD <bmk> -> <hw> that I missed

9 years agorename here too: bmk -> hw
Antti Kantee [Mon, 3 Aug 2015 12:53:26 +0000 (12:53 +0000)]
rename here too: bmk -> hw

9 years agoactually commit the code changes too (for previous commit)
Antti Kantee [Mon, 3 Aug 2015 12:46:20 +0000 (12:46 +0000)]
actually commit the code changes too (for previous commit)

9 years agorename include/bmk -> include/hw
Antti Kantee [Mon, 3 Aug 2015 12:33:38 +0000 (12:33 +0000)]
rename include/bmk -> include/hw

9 years agoNo need for multiboot_cmdline to be in multiboot.h
Antti Kantee [Mon, 3 Aug 2015 12:29:19 +0000 (12:29 +0000)]
No need for multiboot_cmdline to be in multiboot.h

That header is for multiboot definitions, not our own ones.

9 years agoNothing MD about "int spldepth;", so put it into kernel.c
Antti Kantee [Mon, 3 Aug 2015 12:27:46 +0000 (12:27 +0000)]
Nothing MD about "int spldepth;", so put it into kernel.c

9 years agoremove bmk_ prefix from routines private to platform/hw
Antti Kantee [Mon, 3 Aug 2015 12:26:04 +0000 (12:26 +0000)]
remove bmk_ prefix from routines private to platform/hw

9 years agoMake symbols private to platform/hw private
Antti Kantee [Mon, 3 Aug 2015 12:01:43 +0000 (12:01 +0000)]
Make symbols private to platform/hw private

This is part 1 of the change.  The second part is removing the "bmk"
prefix from all symbols which do not need to be private.

9 years agodon't override correct OBJCOPY from config.mk
Antti Kantee [Mon, 3 Aug 2015 11:54:48 +0000 (11:54 +0000)]
don't override correct OBJCOPY from config.mk

9 years agoforce rebuild to work around travis transient apt-get problem
Antti Kantee [Mon, 3 Aug 2015 11:31:53 +0000 (11:31 +0000)]
force rebuild to work around travis transient apt-get problem

9 years agoAllow arch/dir to be different from MACHINE
Antti Kantee [Mon, 3 Aug 2015 10:58:20 +0000 (10:58 +0000)]
Allow arch/dir to be different from MACHINE

9 years agoMerge pull request #39 from ether42/master
Antti Kantee [Fri, 31 Jul 2015 16:37:49 +0000 (16:37 +0000)]
Merge pull request #39 from ether42/master

rumprun file checks

9 years agofix rumprun unikernel file check
Kevin Boulain [Fri, 31 Jul 2015 13:15:29 +0000 (15:15 +0200)]
fix rumprun unikernel file check

9 years agofix error message when file specified for option -b does not exist
Kevin Boulain [Fri, 31 Jul 2015 13:04:51 +0000 (15:04 +0200)]
fix error message when file specified for option -b does not exist

9 years agoprevent -I and -n from being specified on the same command line
Antti Kantee [Fri, 31 Jul 2015 11:40:43 +0000 (11:40 +0000)]
prevent -I and -n from being specified on the same command line

9 years agomake useless comment a bit more useful
Antti Kantee [Fri, 31 Jul 2015 11:37:30 +0000 (11:37 +0000)]
make useless comment a bit more useful

9 years agosimplify conf_vif and conf_disk processing
Antti Kantee [Fri, 31 Jul 2015 11:36:54 +0000 (11:36 +0000)]
simplify conf_vif and conf_disk processing

9 years agoDon't get confused if $TMPDIR is set when running the script.
Antti Kantee [Thu, 30 Jul 2015 12:34:34 +0000 (12:34 +0000)]
Don't get confused if $TMPDIR is set when running the script.

from Krishna

9 years agoUse hlt() when halting instead of busy-spinning.
Antti Kantee [Fri, 24 Jul 2015 14:51:10 +0000 (14:51 +0000)]
Use hlt() when halting instead of busy-spinning.

9 years agopull new src-netbsd
Antti Kantee [Fri, 24 Jul 2015 14:35:38 +0000 (14:35 +0000)]
pull new src-netbsd

9 years agoPass multiboot info as an argument instead of global.
Antti Kantee [Sat, 18 Jul 2015 11:36:32 +0000 (11:36 +0000)]
Pass multiboot info as an argument instead of global.