]> xenbits.xensource.com Git - osstest/rumprun.git/log
osstest/rumprun.git
9 years agoImprove detection of pvclock
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.

9 years agoImprove separation of pvclock/tscclock
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.

9 years agopvclock_read_wall_clock reads boot time, not current time
Martin Lucina [Tue, 13 Oct 2015 11:12:44 +0000 (13:12 +0200)]
pvclock_read_wall_clock reads boot time, not current time

9 years agoFix mul64_32() for i386 clobbering CF
Martin Lucina [Tue, 13 Oct 2015 10:55:56 +0000 (12:55 +0200)]
Fix mul64_32() for i386 clobbering CF

9 years agoImplement KVM pvclock support (#36)
Martin Lucina [Mon, 12 Oct 2015 16:09:49 +0000 (18:09 +0200)]
Implement KVM pvclock support (#36)

9 years agofix typo in previous
Antti Kantee [Tue, 13 Oct 2015 14:02:25 +0000 (14:02 +0000)]
fix typo in previous

9 years agoInstall mainobj and use it from destdir in app-tools.
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

9 years agoremove unnecessary header
Antti Kantee [Tue, 13 Oct 2015 11:47:52 +0000 (11:47 +0000)]
remove unnecessary header

9 years ago__dead -> __attribute__((noreturn))
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).

9 years agomake "application" entry point consistently bmk_mainthread()
Antti Kantee [Tue, 13 Oct 2015 00:48:56 +0000 (00:48 +0000)]
make "application" entry point consistently bmk_mainthread()

9 years agoneed more types for kernonly rump_syscalls.h grokage
Antti Kantee [Tue, 13 Oct 2015 00:13:21 +0000 (00:13 +0000)]
need more types for kernonly rump_syscalls.h grokage

9 years agog/c __printflike and "implement" __dead
Antti Kantee [Mon, 12 Oct 2015 23:57:16 +0000 (23:57 +0000)]
g/c __printflike and "implement" __dead

9 years agog/c unused types
Antti Kantee [Mon, 12 Oct 2015 23:55:39 +0000 (23:55 +0000)]
g/c unused types

9 years agog/c target in comment
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.

9 years agog/c targets we don't use
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.

9 years agoxenbus is not optional, so don't pretend it is
Antti Kantee [Mon, 12 Oct 2015 23:24:00 +0000 (23:24 +0000)]
xenbus is not optional, so don't pretend it is

9 years agoInclude libbmk_{core,rumpuser} in $MAINOBJ.
Antti Kantee [Mon, 12 Oct 2015 22:01:04 +0000 (22:01 +0000)]
Include libbmk_{core,rumpuser} in $MAINOBJ.

9 years agoSupport kernonly mode for Xen
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

9 years agomini-os side no longer needs access to userland headers
Antti Kantee [Mon, 12 Oct 2015 18:00:17 +0000 (18:00 +0000)]
mini-os side no longer needs access to userland headers

!

9 years agoRemove the need for stdargh.h and its inclusion from console.h
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

9 years ago<bmk-rumpuser/core_types.h> needed here too
Antti Kantee [Mon, 12 Oct 2015 16:51:45 +0000 (16:51 +0000)]
<bmk-rumpuser/core_types.h> needed here too

9 years agoinclude <bmk-rumpuser/core_types.h>
Antti Kantee [Mon, 12 Oct 2015 16:40:30 +0000 (16:40 +0000)]
include <bmk-rumpuser/core_types.h>

9 years agoDon't force-include core_types.h here
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.

9 years agowe still need the #ifdef __RUMP_KERNEL__ too
Antti Kantee [Mon, 12 Oct 2015 16:27:12 +0000 (16:27 +0000)]
we still need the #ifdef __RUMP_KERNEL__ too

9 years agoDo not include <sys/uio.h> here.
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.

9 years agoAdd enough types to keep rump kernel headers includable.
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.

9 years agoOk try to work around the header abuse in a different way.
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.

9 years agoShuffle headers ... because shuffling is fun.
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 ...

9 years agoUse a bigger cannon to "deal" with the xen driver header abuse.
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.

9 years agoDon't panic if destdir exists as a directory
Antti Kantee [Mon, 12 Oct 2015 15:36:16 +0000 (15:36 +0000)]
Don't panic if destdir exists as a directory

9 years agoAdd platform/machine independent <bmk-core/types.h> and use it.
Antti Kantee [Mon, 12 Oct 2015 14:59:37 +0000 (14:59 +0000)]
Add platform/machine independent <bmk-core/types.h> and use it.

9 years agoDefine offsetof() and kill unnecessary headers
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.

9 years agoSpecify libdir the same way both for ferment and bake.
Antti Kantee [Mon, 12 Oct 2015 14:01:50 +0000 (14:01 +0000)]
Specify libdir the same way both for ferment and bake.

9 years agoone -nostdinc is enough
Antti Kantee [Mon, 12 Oct 2015 13:57:53 +0000 (13:57 +0000)]
one -nostdinc is enough

9 years agoDestdir builds, part 1
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.

9 years agoDon't test hypervisor magic if HV base leaf is not supported
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

9 years agoFix hypervisor magic byte order
Martin Lucina [Mon, 12 Oct 2015 09:58:08 +0000 (11:58 +0200)]
Fix hypervisor magic byte order

9 years agoRestore Xen object order
Antti Kantee [Sun, 11 Oct 2015 12:19:07 +0000 (12:19 +0000)]
Restore Xen object order

9 years agomake sure -nostdinc gets set
Antti Kantee [Sun, 11 Oct 2015 15:41:11 +0000 (15:41 +0000)]
make sure -nostdinc gets set

9 years agoFix test build for kernonly mode
Antti Kantee [Sun, 11 Oct 2015 00:00:34 +0000 (00:00 +0000)]
Fix test build for kernonly mode

9 years agoFix to depend on right file
Antti Kantee [Sat, 10 Oct 2015 23:59:52 +0000 (23:59 +0000)]
Fix to depend on right file

9 years agoInclude platform and arch in "rumprun.o" filename
Antti Kantee [Sat, 10 Oct 2015 23:42:16 +0000 (23:42 +0000)]
Include platform and arch in "rumprun.o" filename

9 years agoLink minios.o into rumprun.o
Antti Kantee [Sat, 10 Oct 2015 23:08:07 +0000 (23:08 +0000)]
Link minios.o into rumprun.o

Mirrors what platform/hw does.

9 years agofeed i a mushroom
Antti Kantee [Fri, 9 Oct 2015 18:15:46 +0000 (18:15 +0000)]
feed i a mushroom

[ci skip]

9 years agotravis: use -j16 (same as buildrump.sh)
Antti Kantee [Thu, 8 Oct 2015 17:43:53 +0000 (17:43 +0000)]
travis: use -j16 (same as buildrump.sh)

9 years agobuild-rr: accept -j as an argument
Antti Kantee [Thu, 8 Oct 2015 17:43:15 +0000 (17:43 +0000)]
build-rr: accept -j as an argument

default is still -j4

9 years agobuild-rr.sh: set -u
Antti Kantee [Thu, 8 Oct 2015 17:20:45 +0000 (17:20 +0000)]
build-rr.sh: set -u

9 years agoNo need to use strncpy() to copy one byte (and a lot of zeroes).
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 ...

9 years agoMake it easier to disable bootstrap console spam.
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

9 years agobuild-rr.sh: fix typo in message
Antti Kantee [Wed, 7 Oct 2015 20:59:07 +0000 (20:59 +0000)]
build-rr.sh: fix typo in message

9 years agoadd a note about what "experimental" means
Antti Kantee [Wed, 7 Oct 2015 15:46:51 +0000 (15:46 +0000)]
add a note about what "experimental" means

[ci skip]

9 years agoTravis errored, force rebuild
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.

9 years agoctassert that PAGES_PER_MAPWORD is a power of two
Antti Kantee [Tue, 6 Oct 2015 11:55:49 +0000 (11:55 +0000)]
ctassert that PAGES_PER_MAPWORD is a power of two

9 years agoAdd bmk_ctassert() for compile-time assertions.
Antti Kantee [Tue, 6 Oct 2015 11:52:25 +0000 (11:52 +0000)]
Add bmk_ctassert() for compile-time assertions.

9 years agoassert that allocations are allocated in map
Antti Kantee [Mon, 5 Oct 2015 13:39:40 +0000 (13:39 +0000)]
assert that allocations are allocated in map

9 years agocontrol debug print spam with a variable
Antti Kantee [Mon, 5 Oct 2015 13:04:38 +0000 (13:04 +0000)]
control debug print spam with a variable

9 years agoAdd bmk_pgalloc_dumpstats()
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)

9 years agochunk_head -> chunk (simple)
Antti Kantee [Mon, 5 Oct 2015 11:08:18 +0000 (11:08 +0000)]
chunk_head -> chunk (simple)

no functional change intended

9 years agouse queue.h instead of homegrown linked list
Antti Kantee [Mon, 5 Oct 2015 11:07:06 +0000 (11:07 +0000)]
use queue.h instead of homegrown linked list

9 years agoDon't overload variable
Antti Kantee [Mon, 5 Oct 2015 01:37:52 +0000 (01:37 +0000)]
Don't overload variable

plus other cosmetic nits

9 years agoUse same indexes everywhere.
Antti Kantee [Mon, 5 Oct 2015 01:31:54 +0000 (01:31 +0000)]
Use same indexes everywhere.

9 years agofold common code into a subroutine
Antti Kantee [Mon, 5 Oct 2015 01:11:06 +0000 (01:11 +0000)]
fold common code into a subroutine

9 years agoadd comment on why FREELISTS_LEVELS is like it is
Antti Kantee [Mon, 5 Oct 2015 01:03:12 +0000 (01:03 +0000)]
add comment on why FREELISTS_LEVELS is like it is

9 years agoprint_chunks() is a bit too silly to be kept alive
Antti Kantee [Mon, 5 Oct 2015 00:54:21 +0000 (00:54 +0000)]
print_chunks() is a bit too silly to be kept alive

9 years agoBring back chuck magic checks.
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.

9 years agoprevent integer truncation in allocated_in_map()
Antti Kantee [Mon, 5 Oct 2015 00:38:09 +0000 (00:38 +0000)]
prevent integer truncation in allocated_in_map()

9 years agoRevert "Put a magic number into the allocator chunks."
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.

9 years agoTurn travis tests for hw/x86_64 back on
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 ...

9 years agodon't overallow bitmap if memory starts from high up
Antti Kantee [Sun, 4 Oct 2015 21:54:16 +0000 (21:54 +0000)]
don't overallow bitmap if memory starts from high up

9 years agoMake "Best effort" to display something for a test.
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.

9 years agoDisable x86_64 tests for a short while.
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.

9 years agoForce retravis
Antti Kantee [Sun, 4 Oct 2015 17:17:31 +0000 (17:17 +0000)]
Force retravis

Can't repeat the test failure locally ...

9 years agoBunch of misc improvements
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

9 years agoAllocate freelist head/tail at compile-time.
Antti Kantee [Sun, 4 Oct 2015 16:47:28 +0000 (16:47 +0000)]
Allocate freelist head/tail at compile-time.

9 years agoPut a magic number into the allocator chunks.
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.

9 years agochunk_tail is not used in pgalloc => g/c
Antti Kantee [Sun, 4 Oct 2015 16:27:30 +0000 (16:27 +0000)]
chunk_tail is not used in pgalloc => g/c

9 years agointroduce order2size() for common calculation
Antti Kantee [Sun, 4 Oct 2015 16:03:50 +0000 (16:03 +0000)]
introduce order2size() for common calculation

9 years agoGet rid of stupid_t and hide pointer arith in macros.
Antti Kantee [Sun, 4 Oct 2015 15:58:18 +0000 (15:58 +0000)]
Get rid of stupid_t and hide pointer arith in macros.

9 years agoActually fix the "is address managed?" check
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.

9 years agoMake sanity_check() compile again.
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.

9 years agoRecord min/max addresses as pages instead of bytes
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...

9 years agog/c no longer valid comment
Antti Kantee [Sun, 4 Oct 2015 13:58:37 +0000 (13:58 +0000)]
g/c no longer valid comment

9 years agoAccept -h as an alias for -?
Antti Kantee [Sun, 4 Oct 2015 13:48:22 +0000 (13:48 +0000)]
Accept -h as an alias for -?

Was missing from getopts param

9 years agoimprove help message formatting and option grouping
Antti Kantee [Sun, 4 Oct 2015 13:47:47 +0000 (13:47 +0000)]
improve help message formatting and option grouping

9 years agoPull in new buildrump.sh
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

9 years agoMake sure we don't under/overflow our chunk merges.
Antti Kantee [Fri, 2 Oct 2015 15:55:36 +0000 (15:55 +0000)]
Make sure we don't under/overflow our chunk merges.

9 years agoMake sure we don't access alloc_bitmap[] beyond its bounds.
Antti Kantee [Fri, 2 Oct 2015 15:38:10 +0000 (15:38 +0000)]
Make sure we don't access alloc_bitmap[] beyond its bounds.

9 years agono casting for void *
Antti Kantee [Fri, 2 Oct 2015 15:37:52 +0000 (15:37 +0000)]
no casting for void *

9 years agoPrint alloc/free when BMK_PGALLOC_DEBUGging
Antti Kantee [Fri, 2 Oct 2015 14:54:50 +0000 (14:54 +0000)]
Print alloc/free when BMK_PGALLOC_DEBUGging

9 years agomake BMK_PGALLOC_DEBUG code compile
Antti Kantee [Fri, 2 Oct 2015 14:42:23 +0000 (14:42 +0000)]
make BMK_PGALLOC_DEBUG code compile

9 years agoAdd -n (does the usual -n thing)
Antti Kantee [Fri, 2 Oct 2015 14:22:01 +0000 (14:22 +0000)]
Add -n (does the usual -n thing)

9 years agoAlso stop at #GP on amd64
Antti Kantee [Fri, 2 Oct 2015 12:06:38 +0000 (12:06 +0000)]
Also stop at #GP on amd64

9 years agoMake sure -lc++ comes before -lunwind in C++ compilations
Antti Kantee [Thu, 1 Oct 2015 22:24:29 +0000 (22:24 +0000)]
Make sure -lc++ comes before -lunwind in C++ compilations

from issue #52

9 years agoInstall unwind.h
Antti Kantee [Thu, 1 Oct 2015 22:08:07 +0000 (22:08 +0000)]
Install unwind.h

from #52

9 years agoAttempt to print RIP for invalid opcode trap.
Antti Kantee [Thu, 1 Oct 2015 19:50:58 +0000 (19:50 +0000)]
Attempt to print RIP for invalid opcode trap.

9 years agoImprove serial console detection
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

9 years agoTranslate LF to CRLF in serialcons.c
Martin Lucina [Thu, 1 Oct 2015 15:34:44 +0000 (17:34 +0200)]
Translate LF to CRLF in serialcons.c

9 years agoAdd function to detect if running under hypervisor
Martin Lucina [Thu, 1 Oct 2015 15:34:07 +0000 (17:34 +0200)]
Add function to detect if running under hypervisor

9 years agoRemove broken abstraction in x86_cpuid()
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).

9 years agoCleanup platform config 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.