]>
xenbits.xensource.com Git - osstest/rumprun.git/log
Antti Kantee [Wed, 14 Oct 2015 15:08:15 +0000 (15:08 +0000)]
Put ldscript in common place
Antti Kantee [Wed, 14 Oct 2015 12:00:16 +0000 (12:00 +0000)]
Just create rumprun.o in the same place as hw
Need real objdir later (location via config.mk),
but go for the easy way now.
Antti Kantee [Wed, 14 Oct 2015 11:50:09 +0000 (11:50 +0000)]
allow specifying platform as a make variable
default: hw
Antti Kantee [Wed, 14 Oct 2015 14:00:16 +0000 (14:00 +0000)]
Don't require every arch Makefile to specify LDSCRIPT.
It's always ${ARCHDIR}/kern.ldscript.
Antti Kantee [Wed, 14 Oct 2015 11:49:14 +0000 (11:49 +0000)]
Avoid the need for knowing about NULL
Probably need to fix it by introducing NULL into bmk somehow,
but this approach is easier for now.
Antti Kantee [Tue, 13 Oct 2015 19:46:53 +0000 (19:46 +0000)]
can install the objects just 0444 too (not writable)
Martin Lucina [Wed, 14 Oct 2015 09:50:50 +0000 (11:50 +0200)]
Add CMake test
Only built if CMake is installed
Antti Kantee [Tue, 13 Oct 2015 16:11:29 +0000 (16:11 +0000)]
don't install pseudostubs if KERNONLY
Antti Kantee [Tue, 13 Oct 2015 15:56:04 +0000 (15:56 +0000)]
g/c BASE_DIR, not used anymore (wheee!)
Antti Kantee [Tue, 13 Oct 2015 15:55:01 +0000 (15:55 +0000)]
Point CMAKE_FIND_ROOT_PATH to the supposedly right place.
XXX: no idea how to test that cmake works. Would be
nice to have an automated test for that.
Antti Kantee [Tue, 13 Oct 2015 15:53:16 +0000 (15:53 +0000)]
install & use pseudostubs object from destdir
Martin Lucina [Tue, 13 Oct 2015 14:10:24 +0000 (16:10 +0200)]
Improve detection of pvclock
There are two MSR variants, old-style and new-style. We want to prefer
the new-style one, and neither if the relevant flags aren't set in
CPUID.
Martin Lucina [Tue, 13 Oct 2015 13:53:10 +0000 (15:53 +0200)]
Improve separation of pvclock/tscclock
Allows us to init pvclock and fall back to tscclock if pvclock is
unavailable. Also allows for easier implementation of e.g. Xen HVM use
of pvclock later.
Martin Lucina [Tue, 13 Oct 2015 11:12:44 +0000 (13:12 +0200)]
pvclock_read_wall_clock reads boot time, not current time
Martin Lucina [Tue, 13 Oct 2015 10:55:56 +0000 (12:55 +0200)]
Fix mul64_32() for i386 clobbering CF
Martin Lucina [Mon, 12 Oct 2015 16:09:49 +0000 (18:09 +0200)]
Implement KVM pvclock support (#36)
Antti Kantee [Tue, 13 Oct 2015 14:02:25 +0000 (14:02 +0000)]
fix typo in previous
Antti Kantee [Tue, 13 Oct 2015 13:19:18 +0000 (13:19 +0000)]
Install mainobj and use it from destdir in app-tools.
Note to devs: you must now "make && make install" in platform/foo
Antti Kantee [Tue, 13 Oct 2015 11:47:52 +0000 (11:47 +0000)]
remove unnecessary header
Antti Kantee [Tue, 13 Oct 2015 11:43:57 +0000 (11:43 +0000)]
__dead -> __attribute__((noreturn))
That way we don't have to depend on __dead being defined (which
might not be the case in every place we need to include this header).
Antti Kantee [Tue, 13 Oct 2015 00:48:56 +0000 (00:48 +0000)]
make "application" entry point consistently bmk_mainthread()
Antti Kantee [Tue, 13 Oct 2015 00:13:21 +0000 (00:13 +0000)]
need more types for kernonly rump_syscalls.h grokage
Antti Kantee [Mon, 12 Oct 2015 23:57:16 +0000 (23:57 +0000)]
g/c __printflike and "implement" __dead
Antti Kantee [Mon, 12 Oct 2015 23:55:39 +0000 (23:55 +0000)]
g/c unused types
Antti Kantee [Mon, 12 Oct 2015 23:40:11 +0000 (23:40 +0000)]
g/c target in comment
Should've just been removed in the first place.
Antti Kantee [Mon, 12 Oct 2015 23:27:47 +0000 (23:27 +0000)]
g/c targets we don't use
They're not maybe a bad idea, but need to be more generic
than just being in one subdirectory.
Antti Kantee [Mon, 12 Oct 2015 23:24:00 +0000 (23:24 +0000)]
xenbus is not optional, so don't pretend it is
Antti Kantee [Mon, 12 Oct 2015 22:01:04 +0000 (22:01 +0000)]
Include libbmk_{core,rumpuser} in $MAINOBJ.
Antti Kantee [Mon, 12 Oct 2015 18:20:11 +0000 (18:20 +0000)]
Support kernonly mode for Xen
nb. tests/nolibc won't build for xen; hw is hardcoded there
Antti Kantee [Mon, 12 Oct 2015 18:00:17 +0000 (18:00 +0000)]
mini-os side no longer needs access to userland headers
!
Antti Kantee [Mon, 12 Oct 2015 17:59:37 +0000 (17:59 +0000)]
Remove the need for stdargh.h and its inclusion from console.h
Antti Kantee [Mon, 12 Oct 2015 16:51:45 +0000 (16:51 +0000)]
<bmk-rumpuser/core_types.h> needed here too
Antti Kantee [Mon, 12 Oct 2015 16:40:30 +0000 (16:40 +0000)]
include <bmk-rumpuser/core_types.h>
Antti Kantee [Mon, 12 Oct 2015 16:31:12 +0000 (16:31 +0000)]
Don't force-include core_types.h here
May cause conflicts for modules with a wider type system.
Antti Kantee [Mon, 12 Oct 2015 16:27:12 +0000 (16:27 +0000)]
we still need the #ifdef __RUMP_KERNEL__ too
Antti Kantee [Mon, 12 Oct 2015 16:16:53 +0000 (16:16 +0000)]
Do not include <sys/uio.h> here.
This code runs under libc.
XXX: should migrate to a newer version of the virtif_user interface,
so that iovec is not required at all.
Antti Kantee [Mon, 12 Oct 2015 16:11:00 +0000 (16:11 +0000)]
Add enough types to keep rump kernel headers includable.
nolibc.h should probably go somewhere more global some day.
Antti Kantee [Mon, 12 Oct 2015 15:59:42 +0000 (15:59 +0000)]
Ok try to work around the header abuse in a different way.
If this still fails, I guess I'll need to build 32bit Xen locally.
Antti Kantee [Mon, 12 Oct 2015 15:55:45 +0000 (15:55 +0000)]
Shuffle headers ... because shuffling is fun.
So apparently this file breaks if I remove "#include <stdarg.h>"
from <mini-os/console.h>. Yea, no idea. Need to continue
untangling the mess ...
Antti Kantee [Mon, 12 Oct 2015 15:44:46 +0000 (15:44 +0000)]
Use a bigger cannon to "deal" with the xen driver header abuse.
Antti Kantee [Mon, 12 Oct 2015 15:36:16 +0000 (15:36 +0000)]
Don't panic if destdir exists as a directory
Antti Kantee [Mon, 12 Oct 2015 14:59:37 +0000 (14:59 +0000)]
Add platform/machine independent <bmk-core/types.h> and use it.
Antti Kantee [Mon, 12 Oct 2015 14:21:46 +0000 (14:21 +0000)]
Define offsetof() and kill unnecessary headers
The Xen headers require offsetof() to exist.
Antti Kantee [Mon, 12 Oct 2015 14:01:50 +0000 (14:01 +0000)]
Specify libdir the same way both for ferment and bake.
Antti Kantee [Mon, 12 Oct 2015 13:57:53 +0000 (13:57 +0000)]
one -nostdinc is enough
Antti Kantee [Mon, 12 Oct 2015 13:45:45 +0000 (13:45 +0000)]
Destdir builds, part 1
Support a -d flag to build-rr.sh. Make some of the tools use
libraries and headers from that directory instead of a hardcoded
place.
Not everything is installed into destdir yet. More to come.
Martin Lucina [Mon, 12 Oct 2015 10:01:11 +0000 (12:01 +0200)]
Don't test hypervisor magic if HV base leaf is not supported
Martin Lucina [Mon, 12 Oct 2015 09:58:08 +0000 (11:58 +0200)]
Fix hypervisor magic byte order
Antti Kantee [Sun, 11 Oct 2015 12:19:07 +0000 (12:19 +0000)]
Restore Xen object order
Antti Kantee [Sun, 11 Oct 2015 15:41:11 +0000 (15:41 +0000)]
make sure -nostdinc gets set
Antti Kantee [Sun, 11 Oct 2015 00:00:34 +0000 (00:00 +0000)]
Fix test build for kernonly mode
Antti Kantee [Sat, 10 Oct 2015 23:59:52 +0000 (23:59 +0000)]
Fix to depend on right file
Antti Kantee [Sat, 10 Oct 2015 23:42:16 +0000 (23:42 +0000)]
Include platform and arch in "rumprun.o" filename
Antti Kantee [Sat, 10 Oct 2015 23:08:07 +0000 (23:08 +0000)]
Link minios.o into rumprun.o
Mirrors what platform/hw does.
Antti Kantee [Fri, 9 Oct 2015 18:15:46 +0000 (18:15 +0000)]
feed i a mushroom
[ci skip]
Antti Kantee [Thu, 8 Oct 2015 17:43:53 +0000 (17:43 +0000)]
travis: use -j16 (same as buildrump.sh)
Antti Kantee [Thu, 8 Oct 2015 17:43:15 +0000 (17:43 +0000)]
build-rr: accept -j as an argument
default is still -j4
Antti Kantee [Thu, 8 Oct 2015 17:20:45 +0000 (17:20 +0000)]
build-rr.sh: set -u
Antti Kantee [Thu, 8 Oct 2015 07:45:35 +0000 (07:45 +0000)]
No need to use strncpy() to copy one byte (and a lot of zeroes).
doubly so if strncpy() is used in a way which is doesn't really
handle termination properly anyway ...
Antti Kantee [Thu, 8 Oct 2015 07:38:58 +0000 (07:38 +0000)]
Make it easier to disable bootstrap console spam.
nb. easier, maybe not easy enough
related to #54
Antti Kantee [Wed, 7 Oct 2015 20:59:07 +0000 (20:59 +0000)]
build-rr.sh: fix typo in message
Antti Kantee [Wed, 7 Oct 2015 15:46:51 +0000 (15:46 +0000)]
add a note about what "experimental" means
[ci skip]
Antti Kantee [Tue, 6 Oct 2015 12:40:22 +0000 (12:40 +0000)]
Travis errored, force rebuild
XXX: should really really start doing this with a method
which does not pollute the revision history.
Antti Kantee [Tue, 6 Oct 2015 11:55:49 +0000 (11:55 +0000)]
ctassert that PAGES_PER_MAPWORD is a power of two
Antti Kantee [Tue, 6 Oct 2015 11:52:25 +0000 (11:52 +0000)]
Add bmk_ctassert() for compile-time assertions.
Antti Kantee [Mon, 5 Oct 2015 13:39:40 +0000 (13:39 +0000)]
assert that allocations are allocated in map
Antti Kantee [Mon, 5 Oct 2015 13:04:38 +0000 (13:04 +0000)]
control debug print spam with a variable
Antti Kantee [Mon, 5 Oct 2015 12:04:36 +0000 (12:04 +0000)]
Add bmk_pgalloc_dumpstats()
dumps pgalloc stats (in case someone didn't guess from the name)
Antti Kantee [Mon, 5 Oct 2015 11:08:18 +0000 (11:08 +0000)]
chunk_head -> chunk (simple)
no functional change intended
Antti Kantee [Mon, 5 Oct 2015 11:07:06 +0000 (11:07 +0000)]
use queue.h instead of homegrown linked list
Antti Kantee [Mon, 5 Oct 2015 01:37:52 +0000 (01:37 +0000)]
Don't overload variable
plus other cosmetic nits
Antti Kantee [Mon, 5 Oct 2015 01:31:54 +0000 (01:31 +0000)]
Use same indexes everywhere.
Antti Kantee [Mon, 5 Oct 2015 01:11:06 +0000 (01:11 +0000)]
fold common code into a subroutine
Antti Kantee [Mon, 5 Oct 2015 01:03:12 +0000 (01:03 +0000)]
add comment on why FREELISTS_LEVELS is like it is
Antti Kantee [Mon, 5 Oct 2015 00:54:21 +0000 (00:54 +0000)]
print_chunks() is a bit too silly to be kept alive
Antti Kantee [Mon, 5 Oct 2015 00:40:16 +0000 (00:40 +0000)]
Bring back chuck magic checks.
Problem they caught should be fixed now.
Antti Kantee [Mon, 5 Oct 2015 00:38:09 +0000 (00:38 +0000)]
prevent integer truncation in allocated_in_map()
Antti Kantee [Sun, 4 Oct 2015 22:47:04 +0000 (22:47 +0000)]
Revert "Put a magic number into the allocator chunks."
Breaks Travis CI tests. No idea why, so revert so that the
situation can be investigated.
This reverts commit
7dfdbb170ed8fffff11b2ad12a288e976b55a89d .
Antti Kantee [Sun, 4 Oct 2015 21:54:49 +0000 (21:54 +0000)]
Turn travis tests for hw/x86_64 back on
Need to try to figure out what's wrong ...
Antti Kantee [Sun, 4 Oct 2015 21:54:16 +0000 (21:54 +0000)]
don't overallow bitmap if memory starts from high up
Antti Kantee [Sun, 4 Oct 2015 21:15:14 +0000 (21:15 +0000)]
Make "Best effort" to display something for a test.
We might not get full output for whatever reason, so not-pretty
stuff is better than no stuff.
Antti Kantee [Sun, 4 Oct 2015 17:24:41 +0000 (17:24 +0000)]
Disable x86_64 tests for a short while.
Can't repeat locally, so can't be anything too serious.
Will fix it later tonight.
Antti Kantee [Sun, 4 Oct 2015 17:17:31 +0000 (17:17 +0000)]
Force retravis
Can't repeat the test failure locally ...
Antti Kantee [Sun, 4 Oct 2015 17:01:19 +0000 (17:01 +0000)]
Bunch of misc improvements
* misnamed FREELIST_SIZE
* misused FREELIST_EMPTY
* debug prints
* comments
Antti Kantee [Sun, 4 Oct 2015 16:47:28 +0000 (16:47 +0000)]
Allocate freelist head/tail at compile-time.
Antti Kantee [Sun, 4 Oct 2015 16:40:52 +0000 (16:40 +0000)]
Put a magic number into the allocator chunks.
Use that as an internal invariant. Free chunks must contain
the magic number.
Antti Kantee [Sun, 4 Oct 2015 16:27:30 +0000 (16:27 +0000)]
chunk_tail is not used in pgalloc => g/c
Antti Kantee [Sun, 4 Oct 2015 16:03:50 +0000 (16:03 +0000)]
introduce order2size() for common calculation
Antti Kantee [Sun, 4 Oct 2015 15:58:18 +0000 (15:58 +0000)]
Get rid of stupid_t and hide pointer arith in macros.
Antti Kantee [Sun, 4 Oct 2015 14:47:35 +0000 (14:47 +0000)]
Actually fix the "is address managed?" check
No, for real this time.
Antti Kantee [Sun, 4 Oct 2015 14:31:28 +0000 (14:31 +0000)]
Make sanity_check() compile again.
Run it after every allocation and deallocation if BMK_PGALLOC_DEBUG
is turned on.
Antti Kantee [Sun, 4 Oct 2015 14:12:05 +0000 (14:12 +0000)]
Record min/max addresses as pages instead of bytes
They're always used as pages...
Antti Kantee [Sun, 4 Oct 2015 13:58:37 +0000 (13:58 +0000)]
g/c no longer valid comment
Antti Kantee [Sun, 4 Oct 2015 13:48:22 +0000 (13:48 +0000)]
Accept -h as an alias for -?
Was missing from getopts param
Antti Kantee [Sun, 4 Oct 2015 13:47:47 +0000 (13:47 +0000)]
improve help message formatting and option grouping
Antti Kantee [Sun, 4 Oct 2015 12:34:44 +0000 (12:34 +0000)]
Pull in new buildrump.sh
Stops unwanted "obj" directory from being created as part of
running ./build-rr.sh
Antti Kantee [Fri, 2 Oct 2015 15:55:36 +0000 (15:55 +0000)]
Make sure we don't under/overflow our chunk merges.
Antti Kantee [Fri, 2 Oct 2015 15:38:10 +0000 (15:38 +0000)]
Make sure we don't access alloc_bitmap[] beyond its bounds.
Antti Kantee [Fri, 2 Oct 2015 15:37:52 +0000 (15:37 +0000)]
no casting for void *
Antti Kantee [Fri, 2 Oct 2015 14:54:50 +0000 (14:54 +0000)]
Print alloc/free when BMK_PGALLOC_DEBUGging