]>
xenbits.xensource.com Git - osstest/rumprun.git/log
Antti Kantee [Thu, 1 Oct 2015 19:50:58 +0000 (19:50 +0000)]
Attempt to print RIP for invalid opcode trap.
Martin Lucina [Thu, 1 Oct 2015 15:35:34 +0000 (17:35 +0200)]
Improve serial console detection
When running on Xen hypervisor, default to serial console
Martin Lucina [Thu, 1 Oct 2015 15:34:44 +0000 (17:34 +0200)]
Translate LF to CRLF in serialcons.c
Martin Lucina [Thu, 1 Oct 2015 15:34:07 +0000 (17:34 +0200)]
Add function to detect if running under hypervisor
Martin Lucina [Thu, 1 Oct 2015 15:32:05 +0000 (17:32 +0200)]
Remove broken abstraction in x86_cpuid()
CPUID is a mess, remove the broken abstraction in x86_cpuid() which
tries to detect the maximum supported level, as it gets in the way of
using other CPUID leaves (hypervisor detection).
Antti Kantee [Thu, 1 Oct 2015 11:29:58 +0000 (11:29 +0000)]
Cleanup platform config detection.
Use a bit of awk instead of an undocumented rumpbake command.
We'd need a bit of grep there already anyway to match the config
with the platform.
Antti Kantee [Thu, 1 Oct 2015 11:23:33 +0000 (11:23 +0000)]
Write xen_pci rule in simpler terms.
no computer change, just human friendly change
Antti Kantee [Thu, 1 Oct 2015 00:22:34 +0000 (00:22 +0000)]
Simplify rumpbake commands by removing redundant "bakeconf_"
Suggested by mato on rumpkernel-users
Antti Kantee [Tue, 29 Sep 2015 16:03:06 +0000 (16:03 +0000)]
rumprun-$platform-specs-bake -> specs-bake-$tuple-$platform
Allows same app-tools dir to contain >1 machine per platform.
Antti Kantee [Tue, 29 Sep 2015 15:13:29 +0000 (15:13 +0000)]
Revert "Use smallest prefix as platform, not largest."
Duh, thinko, it was previously correct.
This reverts commit
cce7f118b100a4d8f856cda3ef1907ca132dd6d5 .
Martin Lucina [Tue, 29 Sep 2015 12:31:36 +0000 (14:31 +0200)]
Save BIOS data area values in locore
Eliminates the need to muck with page tables on amd64
Martin Lucina [Tue, 29 Sep 2015 10:13:23 +0000 (12:13 +0200)]
Serial console support for hw (x86) platform
Implement basic serial console (output-only, without interrupts) for
hw/x86. Console output defaults to VGA, serial console is only used when
the BIOS claims VGA is not present and a serial port is present.
Antti Kantee [Tue, 29 Sep 2015 13:54:49 +0000 (13:54 +0000)]
Check that confname format follows currently allowed format.
Currently, confnames much begin with "hw_", "xen_" or just "_".
Antti Kantee [Tue, 29 Sep 2015 13:54:28 +0000 (13:54 +0000)]
Use smallest prefix as platform, not largest.
Antti Kantee [Mon, 28 Sep 2015 15:33:07 +0000 (15:33 +0000)]
Remove no longer necessary clause in "list" handling
Antti Kantee [Mon, 28 Sep 2015 15:31:30 +0000 (15:31 +0000)]
Limit visibility of _configs
Also, one underscore is enough (rumpbake.conf)
Antti Kantee [Mon, 28 Sep 2015 14:53:40 +0000 (14:53 +0000)]
Add "rumpbake justlist", which, like the old "list", just lists.
In other words, it does not print the descriptions.
Antti Kantee [Mon, 28 Sep 2015 14:36:10 +0000 (14:36 +0000)]
Improve rumpbake.conf flexibility.
It is now possible to add and remove elements from configurations
in custom configs (via -c conffile).
Antti Kantee [Mon, 28 Sep 2015 12:03:34 +0000 (12:03 +0000)]
Merge pull request #51 from nyx/patch-1
fix typo in README.md
Andrew Andkjar [Mon, 28 Sep 2015 11:56:15 +0000 (07:56 -0400)]
fix typo in README.md
Antti Kantee [Sat, 26 Sep 2015 14:49:49 +0000 (14:49 +0000)]
Revert "Hide fermented objects' exported symbols before baking."
This reverts commit
8a137b3c27cf370dd96638be2f172dcbb8d03378 .
As reported by @gandro, it breaks some subtle interactions with the
libunwind(?). So revert the change pending further investigation.
Antti Kantee [Fri, 25 Sep 2015 18:30:15 +0000 (18:30 +0000)]
Hide fermented objects' exported symbols before baking.
Makes it possible to multibake many applications which contain
the same symbols (or which are linked to the same lib).
Requested by @gandro.
Antti Kantee [Thu, 24 Sep 2015 19:07:08 +0000 (19:07 +0000)]
put internal functions in _namespace
Antti Kantee [Thu, 24 Sep 2015 19:02:07 +0000 (19:02 +0000)]
ROOTFSCFG => _RUMPRUN_ROOTFSCFG
Just makes it a bit less likely to have a collision.
Antti Kantee [Thu, 24 Sep 2015 13:25:49 +0000 (13:25 +0000)]
Merge pull request #50 from boardwalk/master
Allow ROOTFSCFG= to not be at the beginning of the command line.
Dan Skorupski [Thu, 24 Sep 2015 00:58:04 +0000 (19:58 -0500)]
Add myself to authors.
Dan Skorupski [Wed, 23 Sep 2015 19:46:26 +0000 (14:46 -0500)]
Allow ROOTFSCFG= to not be at the beginning of the command line.
syslinux passes the entire command line ala main(), ex:
"/myprogram.bin ROOTFSCFG=/json.cfg"
Sebastian Wicki [Tue, 22 Sep 2015 22:20:45 +0000 (00:20 +0200)]
Merge pull request #48 from gandro/sigign
Don't issue a warning when ignoring signals
Sebastian Wicki [Tue, 22 Sep 2015 21:24:47 +0000 (23:24 +0200)]
Don't issue a warning when ignoring signals
Since we are ignoring signals anyways. This also disables the warning
if `act` is NULL, since we return a valid structure in `oact`.
Antti Kantee [Tue, 22 Sep 2015 01:33:57 +0000 (01:33 +0000)]
Split PCI and DMA hypercalls into separate files.
PCI (usually) implies DMA, but DMA doesn't imply PCI.
Antti Kantee [Mon, 21 Sep 2015 13:49:14 +0000 (13:49 +0000)]
sigaction: make osa_handler SIG_IGN instead of SIG_DFL.
Latter was accidental. Former is more honest.
Antti Kantee [Fri, 18 Sep 2015 15:53:37 +0000 (15:53 +0000)]
Usage: use the more widely accepted version of alphabetical order.
Antti Kantee [Fri, 18 Sep 2015 15:52:26 +0000 (15:52 +0000)]
Accept a -o parameter which determines the build objdir
Only part of the objects go there as of now, and more work
is required to stuff all of the objects into objdir.
Antti Kantee [Fri, 18 Sep 2015 11:59:20 +0000 (11:59 +0000)]
update to match reality
[ci skip]
Antti Kantee [Thu, 17 Sep 2015 17:14:51 +0000 (17:14 +0000)]
Actually change the library name too (re previous commit)
Antti Kantee [Thu, 17 Sep 2015 16:49:06 +0000 (16:49 +0000)]
librumprun_unwind -> libunwind
There's nothing rumprun-specific in there. The original idea with the
rumprun prefix was to avoid namespace conflicts, but if someone wants
to link in another libunwind we'll be in trouble regardless. Also,
consistency with libcompiler_rt.
Antti Kantee [Sat, 12 Sep 2015 19:12:06 +0000 (19:12 +0000)]
Cache truth value of having a working C++ compiler
Antti Kantee [Fri, 11 Sep 2015 13:11:12 +0000 (13:11 +0000)]
pull in new src-netbsd
fixes snafu in previous
Antti Kantee [Fri, 11 Sep 2015 11:44:39 +0000 (11:44 +0000)]
Pull in latest src-netbsd.
Includes new libcxxrt and fixes #44
Antti Kantee [Thu, 10 Sep 2015 14:58:46 +0000 (14:58 +0000)]
Reduce export of clock routines where unnecessary.
Antti Kantee [Thu, 10 Sep 2015 14:28:48 +0000 (14:28 +0000)]
g/c unnecessary headers
Antti Kantee [Wed, 9 Sep 2015 23:11:28 +0000 (23:11 +0000)]
rumppci: PAGE_SHIFT -> BMK_PCPU_PAGE_SHIFT
Antti Kantee [Wed, 9 Sep 2015 22:58:58 +0000 (22:58 +0000)]
Retire bmk_page{size,shift}, use BMK_PCPU_PAGE_{SIZE,SHIFT}.
Latter are compile-time constants.
Antti Kantee [Wed, 9 Sep 2015 22:14:19 +0000 (22:14 +0000)]
Allow libbmk* to include platform/cpu-specific headers.
Use the <bmk-pcpu> namespace for that (pcpu = platform+cpu).
The purpose is to allow some compile-time and other optimizations to
take place, e.g. with PAGE_SIZE.
Antti Kantee [Wed, 9 Sep 2015 18:05:56 +0000 (18:05 +0000)]
Just use OBJS_BMK for everything.
Antti Kantee [Tue, 8 Sep 2015 22:31:08 +0000 (22:31 +0000)]
Enable sysproxy based on $RUMPRUN_SYSPROXY, not by default.
Essentially, turns default sysproxy on TCP port 12345 off. Now,
for the same effect, you need:
rumprun [...] -e RUMPRUN_SYSPROXY=tcp://0:12345/ [...]
Antti Kantee [Mon, 7 Sep 2015 23:37:39 +0000 (23:37 +0000)]
Use "probe" to decide if -mno-red-zone is necessary
Antti Kantee [Mon, 7 Sep 2015 23:29:22 +0000 (23:29 +0000)]
Use "buildrump.sh probe" to throw usage-derived errors early.
Antti Kantee [Mon, 7 Sep 2015 23:29:09 +0000 (23:29 +0000)]
update buildrump.sh
Antti Kantee [Fri, 4 Sep 2015 15:45:31 +0000 (15:45 +0000)]
add KERNONLY to .prevbuild
Antti Kantee [Fri, 4 Sep 2015 12:54:20 +0000 (12:54 +0000)]
Update README for -k(ernonly) mode
Antti Kantee [Thu, 3 Sep 2015 17:38:57 +0000 (17:38 +0000)]
Merge pull request #46 from gandro/nolibc-hw
Add build-rr.sh -k flag to build without userland libraries
Sebastian Wicki [Thu, 3 Sep 2015 15:53:15 +0000 (17:53 +0200)]
Add gandro to AUTHORS
Sebastian Wicki [Thu, 3 Sep 2015 15:53:03 +0000 (17:53 +0200)]
Add Travis CI support for -k flag
Sebastian Wicki [Thu, 3 Sep 2015 15:51:59 +0000 (17:51 +0200)]
Add tests and -k flag to buildtests.sh
Sebastian Wicki [Thu, 3 Sep 2015 15:51:24 +0000 (17:51 +0200)]
Add nolibc mode -k to build-rr.sh
Currently only supported for the 'hw' platform. This builds rumprun
without any userland code (i.e. libc, app-tools), for custom builds
that invoke rump kernel functions directly.
Antti Kantee [Thu, 3 Sep 2015 11:57:11 +0000 (11:57 +0000)]
Merge pull request #45 from gandro/bmk_strncpy-fix
Fix bmk_strncpy for n=0 and n<strlen(src)
Sebastian Wicki [Thu, 30 Jul 2015 20:33:03 +0000 (22:33 +0200)]
Fix bmk_strncpy for n=0 and n<strlen(src)
Antti Kantee [Wed, 2 Sep 2015 12:57:12 +0000 (12:57 +0000)]
Do not assume that all compiler invocations generate output.
Fixes a problem reported by Vincent Schwarzer, namely that
"ccwrapper -print-search-dirs" throws an error.
Antti Kantee [Wed, 2 Sep 2015 12:57:00 +0000 (12:57 +0000)]
pull in latest buildrump.sh (for brprintmetainfo)
Antti Kantee [Tue, 1 Sep 2015 20:17:04 +0000 (20:17 +0000)]
Set -mno-red-zone for x86_64 hw too.
The TSS stuff doesn't work as hoped, and need to dig through some manuals
to see if that can be fixed.
Antti Kantee [Tue, 1 Sep 2015 20:16:02 +0000 (20:16 +0000)]
set -mno-red-zone for CXXFLAGS too
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