]>
xenbits.xensource.com Git - osstest/rumprun.git/log
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)
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.
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.
Antti Kantee [Fri, 28 Aug 2015 14:25:38 +0000 (14:25 +0000)]
Allow raw libs to be specified in configs.
Antti Kantee [Fri, 28 Aug 2015 14:15:48 +0000 (14:15 +0000)]
Fix to previous: process options correctly
Antti Kantee [Fri, 28 Aug 2015 13:48:34 +0000 (13:48 +0000)]
add rumpbake version and check version for config files
Antti Kantee [Fri, 28 Aug 2015 12:48:47 +0000 (12:48 +0000)]
Implement -c userconfig, as discussed on rumpkernel-users
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.
Antti Kantee [Fri, 28 Aug 2015 12:16:32 +0000 (12:16 +0000)]
Make things work even where recipe entries contain whitespace.
Antti Kantee [Fri, 28 Aug 2015 12:07:31 +0000 (12:07 +0000)]
fix "shift" in addconfig for previous
Antti Kantee [Fri, 28 Aug 2015 11:52:16 +0000 (11:52 +0000)]
no need to allcaps params in usage
Antti Kantee [Fri, 28 Aug 2015 11:49:37 +0000 (11:49 +0000)]
deduce platform from config name
Antti Kantee [Fri, 28 Aug 2015 11:39:52 +0000 (11:39 +0000)]
reduce copypasta
Antti Kantee [Fri, 28 Aug 2015 10:14:09 +0000 (10:14 +0000)]
Actually use ${READELF} we set instead of hardcoding readelf.
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
Antti Kantee [Thu, 27 Aug 2015 23:04:26 +0000 (23:04 +0000)]
update buildrump.sh
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.
Antti Kantee [Tue, 25 Aug 2015 13:54:53 +0000 (13:54 +0000)]
remember to initialize too
Antti Kantee [Tue, 25 Aug 2015 12:06:18 +0000 (12:06 +0000)]
Pull in latest buildrump.sh
Avoids unnecessary rebuilds.
Antti Kantee [Tue, 25 Aug 2015 11:36:49 +0000 (11:36 +0000)]
force rebuild
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.
Antti Kantee [Mon, 24 Aug 2015 10:31:53 +0000 (10:31 +0000)]
pull in latest buildrump.sh (fix to previous)
Antti Kantee [Mon, 24 Aug 2015 10:05:17 +0000 (10:05 +0000)]
pull in new buildrump.sh
Antti Kantee [Sun, 23 Aug 2015 23:19:59 +0000 (23:19 +0000)]
add a few more mmap tests
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.
Antti Kantee [Sun, 23 Aug 2015 13:35:50 +0000 (13:35 +0000)]
make pagesize() a __constfunc
Antti Kantee [Sun, 23 Aug 2015 12:30:50 +0000 (12:30 +0000)]
add a simple mmap(MAP_ANON) test
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.
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.
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.
Antti Kantee [Thu, 20 Aug 2015 16:07:19 +0000 (16:07 +0000)]
Make delta_ticks unsigned, it's expected to be unsigned
Antti Kantee [Thu, 20 Aug 2015 16:03:57 +0000 (16:03 +0000)]
note EC2 and ARM
[ci skip]
Antti Kantee [Thu, 20 Aug 2015 15:33:06 +0000 (15:33 +0000)]
Fish for interrupts if returning from block() before timeout.
Antti Kantee [Thu, 20 Aug 2015 15:24:41 +0000 (15:24 +0000)]
Shortcircuit block is sleeptime is <=0, not only when <0.
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.
Antti Kantee [Wed, 19 Aug 2015 23:00:02 +0000 (23:00 +0000)]
Do not leak pathbuf memory from configetfs()
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.
Antti Kantee [Tue, 18 Aug 2015 22:01:49 +0000 (22:01 +0000)]
One more rootfs location guess: Xen etfs sda1
Antti Kantee [Tue, 18 Aug 2015 21:49:37 +0000 (21:49 +0000)]
Allow Xen to use rootfs 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)
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.
Antti Kantee [Tue, 18 Aug 2015 20:40:31 +0000 (20:40 +0000)]
Include vnd in Xen configs
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.
Antti Kantee [Sun, 16 Aug 2015 13:43:43 +0000 (13:43 +0000)]
improve comment
Antti Kantee [Sat, 15 Aug 2015 22:00:50 +0000 (22:00 +0000)]
make stray interrupt print "work" under BMK_INTRLEVS == 1
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.
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.
Antti Kantee [Thu, 13 Aug 2015 13:33:14 +0000 (13:33 +0000)]
Interrupt support for ARM/integratorcp
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).
Antti Kantee [Wed, 12 Aug 2015 15:51:58 +0000 (15:51 +0000)]
make the default config also set an IP address
Antti Kantee [Thu, 13 Aug 2015 11:50:40 +0000 (11:50 +0000)]
pass info on which interrupts where handled to cpu_intr_ack()
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) .....
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.
Antti Kantee [Wed, 12 Aug 2015 15:43:07 +0000 (15:43 +0000)]
rumpxen_tc -> bmktc
Antti Kantee [Wed, 12 Aug 2015 12:27:41 +0000 (12:27 +0000)]
fix argv-mangling. noticed by @ether42
Antti Kantee [Wed, 12 Aug 2015 11:07:38 +0000 (11:07 +0000)]
make comment correct. no functional change.
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.
Antti Kantee [Tue, 11 Aug 2015 21:23:45 +0000 (21:23 +0000)]
reflect "bmk -> hw" platform name update
Antti Kantee [Tue, 11 Aug 2015 21:12:34 +0000 (21:12 +0000)]
APP_TOOLS_PLATFORM: bmk -> hw
No user-visible change.
Antti Kantee [Tue, 11 Aug 2015 18:27:25 +0000 (18:27 +0000)]
remove rumpxentc (superceded by rumpkern_bmktc)
Antti Kantee [Tue, 11 Aug 2015 18:18:49 +0000 (18:18 +0000)]
also build rumpkern_bmktc
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.
Antti Kantee [Tue, 11 Aug 2015 18:00:24 +0000 (18:00 +0000)]
get rid of run() and call startmain() directly
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.
Martin Lucina [Sat, 8 Aug 2015 18:20:13 +0000 (20:20 +0200)]
xen: Destroy domain on crash if '-d' is specified
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.
Antti Kantee [Fri, 7 Aug 2015 15:57:48 +0000 (15:57 +0000)]
reflect previous changes in ARM
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.
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.
Antti Kantee [Fri, 7 Aug 2015 15:26:09 +0000 (15:26 +0000)]
g/c unused minios_clock_wall()
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
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.
Antti Kantee [Thu, 6 Aug 2015 11:44:52 +0000 (11:44 +0000)]
Add initial clock support for ARM/integratorcp.
Antti Kantee [Thu, 6 Aug 2015 11:44:17 +0000 (11:44 +0000)]
add some arm memory space access routines
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.
Antti Kantee [Tue, 4 Aug 2015 22:12:12 +0000 (22:12 +0000)]
use MACHINE_ARCH also for platform/hw/include/arch
Antti Kantee [Tue, 4 Aug 2015 21:38:52 +0000 (21:38 +0000)]
Use MACHINE_ARCH (x86_64) instead of MACHINE (amd64)
Fixes build.
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.
Antti Kantee [Tue, 4 Aug 2015 20:59:45 +0000 (20:59 +0000)]
Support the other TLS variant.
Antti Kantee [Mon, 3 Aug 2015 13:00:06 +0000 (13:00 +0000)]
some more MD <bmk> -> <hw> that I missed
Antti Kantee [Mon, 3 Aug 2015 12:53:26 +0000 (12:53 +0000)]
rename here too: bmk -> hw
Antti Kantee [Mon, 3 Aug 2015 12:46:20 +0000 (12:46 +0000)]
actually commit the code changes too (for previous commit)
Antti Kantee [Mon, 3 Aug 2015 12:33:38 +0000 (12:33 +0000)]
rename include/bmk -> include/hw
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.
Antti Kantee [Mon, 3 Aug 2015 12:27:46 +0000 (12:27 +0000)]
Nothing MD about "int spldepth;", so put it into kernel.c
Antti Kantee [Mon, 3 Aug 2015 12:26:04 +0000 (12:26 +0000)]
remove bmk_ prefix from routines private to platform/hw
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.
Antti Kantee [Mon, 3 Aug 2015 11:54:48 +0000 (11:54 +0000)]
don't override correct OBJCOPY from config.mk
Antti Kantee [Mon, 3 Aug 2015 11:31:53 +0000 (11:31 +0000)]
force rebuild to work around travis transient apt-get problem
Antti Kantee [Mon, 3 Aug 2015 10:58:20 +0000 (10:58 +0000)]
Allow arch/dir to be different from MACHINE
Antti Kantee [Fri, 31 Jul 2015 16:37:49 +0000 (16:37 +0000)]
Merge pull request #39 from ether42/master
rumprun file checks
Kevin Boulain [Fri, 31 Jul 2015 13:15:29 +0000 (15:15 +0200)]
fix rumprun unikernel file check
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
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
Antti Kantee [Fri, 31 Jul 2015 11:37:30 +0000 (11:37 +0000)]
make useless comment a bit more useful
Antti Kantee [Fri, 31 Jul 2015 11:36:54 +0000 (11:36 +0000)]
simplify conf_vif and conf_disk processing
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
Antti Kantee [Fri, 24 Jul 2015 14:51:10 +0000 (14:51 +0000)]
Use hlt() when halting instead of busy-spinning.
Antti Kantee [Fri, 24 Jul 2015 14:35:38 +0000 (14:35 +0000)]
pull new src-netbsd
Antti Kantee [Sat, 18 Jul 2015 11:36:32 +0000 (11:36 +0000)]
Pass multiboot info as an argument instead of global.