]> xenbits.xensource.com Git - rumpuser-xen.git/log
rumpuser-xen.git
10 years agosprinkle -fno-stack-protector
Antti Kantee [Fri, 9 Jan 2015 09:05:47 +0000 (09:05 +0000)]
sprinkle -fno-stack-protector

makes builds with e.g. Ubuntu gcc work, where stack protect is default

10 years agosysproxy stubs are no longer required
Antti Kantee [Thu, 8 Jan 2015 18:31:38 +0000 (18:31 +0000)]
sysproxy stubs are no longer required

10 years agosysproxy now requires -lrumpkern_sysproxy
Antti Kantee [Thu, 8 Jan 2015 18:31:16 +0000 (18:31 +0000)]
sysproxy now requires -lrumpkern_sysproxy

10 years agopull in latest buildrump.sh and src-netbsd
Antti Kantee [Thu, 8 Jan 2015 18:30:17 +0000 (18:30 +0000)]
pull in latest buildrump.sh and src-netbsd

10 years agoMerge pull request #17 from rumpkernel/sysproxy
Martin Lucina [Thu, 8 Jan 2015 17:09:59 +0000 (18:09 +0100)]
Merge pull request #17 from rumpkernel/sysproxy

Tested and working; merging.

10 years agoAdd -D option to attach gdbsx to domU
Martin Lucina [Thu, 8 Jan 2015 11:25:39 +0000 (12:25 +0100)]
Add -D option to attach gdbsx to domU

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoAdd initial sysproxy support on top of guest TCP/IP networking
Antti Kantee [Wed, 7 Jan 2015 07:51:42 +0000 (07:51 +0000)]
Add initial sysproxy support on top of guest TCP/IP networking

10 years agoignore -lssp_nonshared in case the toolchain thinks we need it
Antti Kantee [Sun, 4 Jan 2015 14:10:41 +0000 (14:10 +0000)]
ignore -lssp_nonshared in case the toolchain thinks we need it

fixes builds on at least alpine linux

10 years agoIgnore -pie.
Antti Kantee [Fri, 2 Jan 2015 18:57:59 +0000 (18:57 +0000)]
Ignore -pie.

If for some reason we grow PIE support later, can be revisited.  Though,
it probably should be called pik (position independent kernel)

from Kevin Smith on rumpkernel-users

10 years agoMerge pull request #16 from rumpkernel/wip-timekeeping
Martin Lucina [Sun, 28 Dec 2014 17:22:20 +0000 (18:22 +0100)]
Merge pull request #16 from rumpkernel/wip-timekeeping

Implement wall clock time (rumprun-xen issue #13)

10 years agoImplement wall clock time (rumprun-xen issue #13)
Martin Lucina [Sun, 28 Dec 2014 17:12:40 +0000 (18:12 +0100)]
Implement wall clock time (rumprun-xen issue #13)

This change adds minios_clock_wall() as a global symbol to return wall
clock time from Xen. I did not reinstate the minios "gettime()" which is
available upstream as that relies on a definitition of struct timeval.

minios_monotonic_clock() is renamed to minios_clock_monotonic() for
consistency.

rumpuser_clock_gettime() is updated to support RUMPUSER_CLOCK_REWALL,
returning wall clock time.

All rumphyper calls to the minios NOW() macro are replaced with calls to
the properly namespaces minios_clock_monotonic().

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoremove struct schedulable unused members
Antti Kantee [Sun, 21 Dec 2014 12:00:04 +0000 (12:00 +0000)]
remove struct schedulable unused members

10 years agouse common xen/baremetal build script
Antti Kantee [Fri, 19 Dec 2014 12:19:49 +0000 (12:19 +0000)]
use common xen/baremetal build script

10 years agofigure out target machine
Antti Kantee [Fri, 19 Dec 2014 11:41:10 +0000 (11:41 +0000)]
figure out target machine

also for future unification with baremetal

10 years agofix tyop
Antti Kantee [Fri, 19 Dec 2014 11:29:20 +0000 (11:29 +0000)]
fix tyop

10 years agopass extra buildxen parameters to buildrump.sh
Antti Kantee [Fri, 19 Dec 2014 11:28:07 +0000 (11:28 +0000)]
pass extra buildxen parameters to buildrump.sh

e.g. ./buildxen.sh -q -- -V BUILDRUMP_VARIABLE=12765

10 years agobeautify/unify buildrump.sh invocations
Antti Kantee [Fri, 19 Dec 2014 11:26:36 +0000 (11:26 +0000)]
beautify/unify buildrump.sh invocations

no functional change

10 years agoreorder slightly (for upcoming changes)
Antti Kantee [Fri, 19 Dec 2014 11:25:22 +0000 (11:25 +0000)]
reorder slightly (for upcoming changes)

10 years agocreate test.ffs in makefile instead of buildxen.sh
Antti Kantee [Fri, 19 Dec 2014 02:51:39 +0000 (02:51 +0000)]
create test.ffs in makefile instead of buildxen.sh

10 years agoNuke unnecessary buildrump.sh invocation.
Antti Kantee [Fri, 19 Dec 2014 02:24:07 +0000 (02:24 +0000)]
Nuke unnecessary buildrump.sh invocation.

Probably been unnecessary since we stopped needing multiple source trees.

10 years agoadd lame workaround for missing pci_user.h when using -s
Antti Kantee [Fri, 19 Dec 2014 00:25:27 +0000 (00:25 +0000)]
add lame workaround for missing pci_user.h when using -s

10 years agoaccept -q for quiet build (and -qq for even quieter)
Antti Kantee [Fri, 19 Dec 2014 00:22:05 +0000 (00:22 +0000)]
accept -q for quiet build (and -qq for even quieter)

10 years agofix makelwp signature
Antti Kantee [Fri, 19 Dec 2014 00:19:19 +0000 (00:19 +0000)]
fix makelwp signature

10 years agosupport -s alternative_source_tree
Antti Kantee [Fri, 19 Dec 2014 00:13:50 +0000 (00:13 +0000)]
support -s alternative_source_tree

10 years agouse makepci() to build pci device driver components
Antti Kantee [Fri, 19 Dec 2014 00:05:51 +0000 (00:05 +0000)]
use makepci() to build pci device driver components

10 years agopull in latest buildrump.sh for makepci
Antti Kantee [Fri, 19 Dec 2014 00:03:30 +0000 (00:03 +0000)]
pull in latest buildrump.sh for makepci

10 years agoRe-enable rumphyper_pci and PCI passthrough libs.
Martin Lucina [Thu, 18 Dec 2014 12:02:03 +0000 (13:02 +0100)]
Re-enable rumphyper_pci and PCI passthrough libs.

Fixed by adding relevant symbols to minios global namespace. Compile
tested only.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoMini-OS: Link entire arch-specific lib into minios.o
Martin Lucina [Thu, 18 Dec 2014 12:01:15 +0000 (13:01 +0100)]
Mini-OS: Link entire arch-specific lib into minios.o

The arch-specific lib contains code which external callers depend on;
ensure the whole archive is linked into minios.o.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoMini-OS: Add more symbols to global namespace
Martin Lucina [Thu, 18 Dec 2014 11:59:54 +0000 (12:59 +0100)]
Mini-OS: Add more symbols to global namespace

Adding minios_ioremap, minios_ioremap_nocache, minios_iounmap,
minios_alloc_contig_pages. Required by rumphyper_pci.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoupdate to latest src-netbsd
Antti Kantee [Wed, 17 Dec 2014 01:13:56 +0000 (01:13 +0000)]
update to latest src-netbsd

Shuffle _lwp a bit to accommodate to latest source, also add
some stubs we need now.

10 years agoMini-OS: netfront: Fix rx ring starvation in network_rx
Martin Lucina [Mon, 15 Dec 2014 21:02:27 +0000 (22:02 +0100)]
Mini-OS: netfront: Fix rx ring starvation in network_rx

In network_rx() we must push the same amount of requests back onto the
ring in the second loop that we consumed in the first loop. Otherwise
the ring will eventually starve itself of free request slots and no
packets will be delivered.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agobuildxen.sh: 'links' target is now in xen/Makefile
Martin Lucina [Mon, 15 Dec 2014 20:58:53 +0000 (21:58 +0100)]
buildxen.sh: 'links' target is now in xen/Makefile

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoMini-OS: Add monotonic_clock to minios_ namespace
Martin Lucina [Fri, 12 Dec 2014 17:28:42 +0000 (18:28 +0100)]
Mini-OS: Add monotonic_clock to minios_ namespace

This is needed by rumphyper_base, among other things. Unclear how it is
possible that the build was working until now, separating the Mini-OS
and rumprun build systems exposed this.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoExtricate rumprun build system from Mini-OS
Martin Lucina [Fri, 12 Dec 2014 17:18:50 +0000 (18:18 +0100)]
Extricate rumprun build system from Mini-OS

Moves the Mini-OS Makefile and associated bits to xen/, separating the
rumprun and Mini-OS build systems. This will hopefully prepare us better
for (possibly) merging with upstream Mini-OS.

Further changes arising from this:

- All minios and rumprun object files are now built under obj/

- MiniOS build installs the arch-specific ldscript under
  obj/xen/minios.lds

- Rather than separately specifying the arch-specific startfile in
  app-tools specs we link it into the final minios.o and use that as the
  startfile.

  The advantage of this approach is we no longer have to "hunt" for the
  startfile _OR_ the arch-specific lib in the top-level Makefile. It
  does mean the resulting application has a different memory layout due
  to link order but this should not matter.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoupdate buildrump.sh and use new subr.sh syntax
Antti Kantee [Tue, 9 Dec 2014 22:21:18 +0000 (22:21 +0000)]
update buildrump.sh and use new subr.sh syntax

10 years agouse stdlibs()
Antti Kantee [Mon, 8 Dec 2014 19:33:38 +0000 (19:33 +0000)]
use stdlibs()

10 years agoupdate buildrump.sh for subr::stdlibs()
Antti Kantee [Mon, 8 Dec 2014 19:32:31 +0000 (19:32 +0000)]
update buildrump.sh for subr::stdlibs()

10 years agoAdd __libc_static_tls_setup() as a nop
Antti Kantee [Mon, 8 Dec 2014 13:12:50 +0000 (13:12 +0000)]
Add __libc_static_tls_setup() as a nop

To be called by the next src-netbsd libc

10 years agofix minios include path
Antti Kantee [Sun, 7 Dec 2014 18:05:55 +0000 (18:05 +0000)]
fix minios include path

10 years agomove "include" to "xen/include"
Antti Kantee [Sun, 7 Dec 2014 17:57:55 +0000 (17:57 +0000)]
move "include" to "xen/include"

All of mini-os is more or less under xen/ now.

10 years agoapp-tools: Remove useless objcopy from stunt ld
Martin Lucina [Wed, 3 Dec 2014 16:25:01 +0000 (17:25 +0100)]
app-tools: Remove useless objcopy from stunt ld

Discussed with Ian previously; the objcopy step was left over from
previous attempts at namespacing mini-os and is no longer required as
this is performed when linking minios.o.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoRemove redundant building of httpd from buildxen.sh
Martin Lucina [Wed, 3 Dec 2014 16:16:12 +0000 (17:16 +0100)]
Remove redundant building of httpd from buildxen.sh

This is now done in main Makefile.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agopull in latest buildrump.sh
Antti Kantee [Mon, 1 Dec 2014 18:13:31 +0000 (18:13 +0000)]
pull in latest buildrump.sh

10 years agopull in latest src-netbsd
Antti Kantee [Sun, 30 Nov 2014 23:21:08 +0000 (23:21 +0000)]
pull in latest src-netbsd

10 years agopull in latest buildrump.sh
Antti Kantee [Sun, 30 Nov 2014 23:03:45 +0000 (23:03 +0000)]
pull in latest buildrump.sh

10 years agopull in latest buildrump.sh
Antti Kantee [Sun, 30 Nov 2014 22:57:09 +0000 (22:57 +0000)]
pull in latest buildrump.sh

10 years agoOverriding probe of RUMP_CURLWP is no longer necessary in -k builds
Antti Kantee [Sun, 30 Nov 2014 22:51:18 +0000 (22:51 +0000)]
Overriding probe of RUMP_CURLWP is no longer necessary in -k builds

10 years agopull in new buildrump.sh
Antti Kantee [Sun, 30 Nov 2014 22:51:06 +0000 (22:51 +0000)]
pull in new buildrump.sh

10 years agoput the "standard" demo routines in a subdirectory
Antti Kantee [Wed, 26 Nov 2014 16:57:11 +0000 (16:57 +0000)]
put the "standard" demo routines in a subdirectory

10 years agoAdd "ifconfig destroy" support
Antti Kantee [Sun, 16 Nov 2014 13:07:32 +0000 (13:07 +0000)]
Add "ifconfig destroy" support

compile-tested only

10 years agoadd missing warnx() %s parameter
Antti Kantee [Wed, 26 Nov 2014 15:24:49 +0000 (15:24 +0000)]
add missing warnx() %s parameter

10 years agorumprun: Use blkid rather than file to detect fstype
Martin Lucina [Sun, 23 Nov 2014 21:02:12 +0000 (22:02 +0100)]
rumprun: Use blkid rather than file to detect fstype

The output of file differs between systems (and Linux distribution
versions!). Use blkid for now to detect block device filesystem type,
will need to be revisited or marked as a dependency on e2fsprogs for
*BSD.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agorumprun: Use absolute path for disk image
Martin Lucina [Sun, 23 Nov 2014 21:00:24 +0000 (22:00 +0100)]
rumprun: Use absolute path for disk image

Avoids potential Xen stack confusion (documentation is unclear on
relative paths), plus shows full path in xenstore-ls.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agorumprun: Make diskspec backward compatible with Xen 4.1
Martin Lucina [Sun, 23 Nov 2014 20:58:19 +0000 (21:58 +0100)]
rumprun: Make diskspec backward compatible with Xen 4.1

Xen 4.1 is used in Debian stable; the diskspec used by xl is not clearly
documented and is just a passthrough to the xm disk stanza. We need mode
'w' rather than 'rw' which is also understood by (at least) Xen 4.4.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoUse readlink -f instead of realpath
Martin Lucina [Sun, 23 Nov 2014 12:47:48 +0000 (13:47 +0100)]
Use readlink -f instead of realpath

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoUse correct printf format for uint64_t
Martin Lucina [Fri, 21 Nov 2014 18:07:53 +0000 (19:07 +0100)]
Use correct printf format for uint64_t

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoSize RUMP_MEMLIMIT dynamically based on domU memory
Martin Lucina [Fri, 21 Nov 2014 18:00:07 +0000 (19:00 +0100)]
Size RUMP_MEMLIMIT dynamically based on domU memory

RUMP_MEMLIMIT was previously hardcoded to 8MB. We size it dynamically
based on domU memory allocation, with the rump kernel getting 50%.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoRemove talk of editing domain_config (no longer required)
Martin Lucina [Thu, 20 Nov 2014 11:09:33 +0000 (12:09 +0100)]
Remove talk of editing domain_config (no longer required)

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoAdd more simple demos in the tests/ directory
Martin Lucina [Thu, 20 Nov 2014 11:06:58 +0000 (12:06 +0100)]
Add more simple demos in the tests/ directory

Demos are built using app-tools and their own Makefile.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoMerge pull request #12 from mato/wip-rumpconfig
Martin Lucina [Thu, 20 Nov 2014 10:28:51 +0000 (11:28 +0100)]
Merge pull request #12 from mato/wip-rumpconfig

Major points from rumpkernel-users addressed, merging.

10 years agoCorrect argument parsing in rumprun
Martin Lucina [Thu, 20 Nov 2014 10:02:49 +0000 (11:02 +0100)]
Correct argument parsing in rumprun

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agorumprun: Change delimiter for BLKSPEC and NETSPEC to comma
Martin Lucina [Fri, 14 Nov 2014 16:54:56 +0000 (17:54 +0100)]
rumprun: Change delimiter for BLKSPEC and NETSPEC to comma

Will work much better for IPv6 and/or NFS.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoRename rumprun-xen to rumprun
Martin Lucina [Fri, 14 Nov 2014 16:37:06 +0000 (17:37 +0100)]
Rename rumprun-xen to rumprun

To reflect the intent to support different stacks in future (eg. kvm),
rumprun-xen is renamed to just rumprun, with a mandatory STACK as its
first argument.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoapp-tools/specs.configure.in: Add rumpnet_config components
Martin Lucina [Fri, 14 Nov 2014 13:11:38 +0000 (14:11 +0100)]
app-tools/specs.configure.in: Add rumpnet_config components

The rumpconfig module depends on rumpnet_config, without this change
rumpapp-xen-configure does not work ("C compiler cannot create
executables").

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoxr: Rename to rumprun-xen
Martin Lucina [Fri, 14 Nov 2014 12:40:09 +0000 (13:40 +0100)]
xr: Rename to rumprun-xen

Rename the "xr" driver script to "rumprun-xen" to better reflect it's
purpose and scope.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoxr: Add -N and -M options
Martin Lucina [Fri, 14 Nov 2014 12:36:11 +0000 (13:36 +0100)]
xr: Add -N and -M options

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoAdd support for static IPv4 configuration
Martin Lucina [Fri, 14 Nov 2014 12:28:50 +0000 (13:28 +0100)]
Add support for static IPv4 configuration

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoConfigure rumprun-xen application stacks from Xenstore
Martin Lucina [Thu, 13 Nov 2014 10:40:08 +0000 (11:40 +0100)]
Configure rumprun-xen application stacks from Xenstore

In order to run rumprun-xen applications that are actually useful, we
need to be able to configure block devices and network interfaces.
These changes implement a basic mechanism to do this using Xenstore.

Conceptually the changes consist of the following parts which work
together:

- The rumpconfig module provides _rumprun_config() and
  _rumprun_deconfig() functions. These are called before and after the
  application main() function, and also in the case of deconfig when
  _exit() is called.

- These functions rely on keys like the following being present in
  Xenstore at the time the domain is started:

  /local/domain/<domid>/rumprun/net/0/... (first network interface)
  /local/domain/<domid>/rumprun/net/1/... (second network interface)
  /local/domain/<domid>/rumprun/blk/0/... (first block device)
  /local/domain/<domid>/rumprun/blk/1/... (second block device)

- The "xr" driver script, currently located in app-tools/. The
  motivation for this script is twofold:

  Firstly, in order to write the configuration to Xenstore the domain
  must be created in a paused state so that we can retrieve its unique
  <domid>. Only then do we know where in Xenstore to write the
  configuration data.

  Secondly, it is my intention with this work to provide a
  "docker-alike" interface for running rumprun applications. The "xr"
  script is therefore the CLI for running such applications.

Note that in this initial version, only configuring IPv4 network
interfaces with DHCP is supported, and only using image files with ffs
or cd9660 filesystems for block devices is supported.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoAdd .gitignore for tests/configure autoconf cruft
Martin Lucina [Tue, 11 Nov 2014 15:49:40 +0000 (16:49 +0100)]
Add .gitignore for tests/configure autoconf cruft

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoMerge pull request #11 from mato/wip-exit
Martin Lucina [Tue, 11 Nov 2014 15:44:10 +0000 (16:44 +0100)]
Merge pull request #11 from mato/wip-exit

rumpuser_exit(), _exit(): Cleanly halt Mini-OS.

10 years agorumpuser_exit(), _exit(): Cleanly halt Mini-OS.
Martin Lucina [Tue, 11 Nov 2014 15:11:46 +0000 (16:11 +0100)]
rumpuser_exit(), _exit(): Cleanly halt Mini-OS.

rumpuser_exit() and _exit() were calling minios_do_exit() which is
intended to be called from an exception context and/or other "panic"
situation.  This was causing the stack trace code in minios_do_exit() to
walk off into never never land when the rumprun-xen application called
exit() or returned from main().

This commit adds a new minios_do_halt(reason) function, with the reason
code intended to mirror SHUTDOWN_* in xen/sched.h. Of those, currently
only poweroff and crash are implemented.

We then modify the rumpuser_exit() and _exit() functions to correctly
shut down the domain by calling minios_stop_kernel() followed by
minios_do_halt(MINIOS_HALT_POWEROFF).

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoMerge pull request #10 from mato/wip-xenos
Martin Lucina [Tue, 11 Nov 2014 14:47:08 +0000 (15:47 +0100)]
Merge pull request #10 from mato/wip-xenos

Clean up Mini-OS namespace

10 years agoReinstate old demos
Martin Lucina [Mon, 10 Nov 2014 17:12:34 +0000 (18:12 +0100)]
Reinstate old demos

Xen project osstest CI depends on them, and we do not want to remove
them before a replacement is ready.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoSynchronise x86_32.o with Mini-OS namespace cleanup.
Martin Lucina [Mon, 10 Nov 2014 10:05:31 +0000 (11:05 +0100)]
Synchronise x86_32.o with Mini-OS namespace cleanup.

These changes sync the x86_32 arch-specific entrypoints with the Mini-OS
namespace cleanups. Now builds and runs correctly on x86.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoMinor improvement to hello demo
Martin Lucina [Fri, 7 Nov 2014 17:17:00 +0000 (18:17 +0100)]
Minor improvement to hello demo

Sleep in the demo to prove at least scheduling is working after all the
renaming changes.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoLocalize all non-public Mini-OS symbols
Martin Lucina [Fri, 7 Nov 2014 17:14:50 +0000 (18:14 +0100)]
Localize all non-public Mini-OS symbols

Pass 3 of X in Mini-OS namespace cleanup.

We define a set of prefixes in the Makefile for the symbol namespaces we
wish to keep. Then, when linking minios.o we use objcopy to localize all
other symbols. Note the sole exception of the arch-specific startup file
(x86_64.o) as this is used as the linker %startfile.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoClean up Mini-OS public namespace
Martin Lucina [Fri, 7 Nov 2014 16:52:39 +0000 (17:52 +0100)]
Clean up Mini-OS public namespace

Pass 2 of X in cleaning up Mini-OS namespace:

- All Mini-OS functions called by rumprun-xen are renamed to minios_* or
  _minios_* for strictly internal functions, except those in the
  blkfront_*, netfront_*, pcifront_* and xenbus_* driver namespaces.
- In the case of drivers, eg. init|shutdown_blkfront are renamed to
  blkfront_*.
- All global variables are either manually made local, or placed under
  the _minios_* namespace, with the exception of HYPERVISOR_shared_info,
  and those variables under driver namespaces kept above.
- All callers are updated to use the new names. Where it makes sense,
  macros such as alloc_page are also renamed into the minios_ namespace.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoBuild Mini-OS and rump kernel middleware as discrete objects
Martin Lucina [Thu, 6 Nov 2014 16:11:24 +0000 (17:11 +0100)]
Build Mini-OS and rump kernel middleware as discrete objects

In order to be able to make Mini-OS symbols local using objcopy we need to
build Mini-OS as a discrete relocatable object. While we're here, put the
various rump kernel middleware (libc stubs, rumphyper implementation)
into its own object file also.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoClean up x86_64.o entry point namespace
Martin Lucina [Thu, 6 Nov 2014 16:06:46 +0000 (17:06 +0100)]
Clean up x86_64.o entry point namespace

This is pass 1 of X of cleaning up mini-os symbol namespace:

- Namespace all globals in x86_64.o (except _start) as _minios_XXX.
- Fix dependent calling code to use the new namespace
  (hypercall-x86_64.h, sched.h, xen/arch/x86/*.c).

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoUpdate .gitignore
Martin Lucina [Thu, 6 Nov 2014 10:35:54 +0000 (11:35 +0100)]
Update .gitignore

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoRemove old demo from build, add simple hello-world test
Martin Lucina [Thu, 6 Nov 2014 09:58:25 +0000 (10:58 +0100)]
Remove old demo from build, add simple hello-world test

In preparation for cleaning up minios/xenos to resolve (among other
things) symbol namespacing issues, remove the old non-app-tools-based
demo from the build.

As a temporary replacement add in a simple (not configure-based) "Hello,
world!" in tests/hello.

Signed-off-by: Martin Lucina <martin@lucina.net>
10 years agoChange wording to accept people with a single contribution as authors.
Antti Kantee [Fri, 7 Nov 2014 15:58:33 +0000 (15:58 +0000)]
Change wording to accept people with a single contribution as authors.

[ci skip]

10 years agoadd AUTHORS
Antti Kantee [Fri, 7 Nov 2014 11:14:18 +0000 (11:14 +0000)]
add AUTHORS

seed with myself, others can add themselves if they wish to
[ci skip]

10 years agoCOPYING -> LICENSE
Antti Kantee [Fri, 7 Nov 2014 11:08:53 +0000 (11:08 +0000)]
COPYING -> LICENSE

consistency with everything else on repo.rumpkernel.org

10 years agoupdate src-netbsd
Antti Kantee [Mon, 3 Nov 2014 22:50:21 +0000 (22:50 +0000)]
update src-netbsd

NetBSD SA 2014-015

10 years agoMerge pull request #9 from mato/wip-gcc49-lto
Antti Kantee [Thu, 30 Oct 2014 16:36:20 +0000 (16:36 +0000)]
Merge pull request #9 from mato/wip-gcc49-lto

Fix non-working stunt ld with GCC 4.9 on Debian

10 years agostunt ld: Drop (LTO) -plugin and -plugin-opt from ld command
Martin Lucina [Thu, 30 Oct 2014 15:28:18 +0000 (16:28 +0100)]
stunt ld: Drop (LTO) -plugin and -plugin-opt from ld command

With (at least) GCC 4.9 on Debian jessie the GCC spec files have changed
to always use -plugin / -plugin-opt and load the LTO plugin, even if
-flto is not specified to GCC.

This breaks stunt ld which does not understand these options. Dropping
them from the linker command appears to do no harm.

10 years agoMerge pull request #8 from mato/wip-pullup
Antti Kantee [Thu, 30 Oct 2014 14:23:53 +0000 (14:23 +0000)]
Merge pull request #8 from mato/wip-pullup

Pull in latest buildrump.sh

10 years agoPull in latest buildrump.sh
Martin Lucina [Thu, 30 Oct 2014 14:11:02 +0000 (15:11 +0100)]
Pull in latest buildrump.sh

10 years agopull in latest src-netbsd, updates to NetBSD 7.99.1 kernel
Antti Kantee [Tue, 26 Aug 2014 12:39:44 +0000 (12:39 +0000)]
pull in latest src-netbsd, updates to NetBSD 7.99.1 kernel

10 years agopull in latest buildrump.sh
Antti Kantee [Tue, 26 Aug 2014 12:39:10 +0000 (12:39 +0000)]
pull in latest buildrump.sh

10 years agoupdate travis urls
Antti Kantee [Wed, 30 Jul 2014 12:12:54 +0000 (12:12 +0000)]
update travis urls

10 years agoupdate wiki url (repo rename rumpuser-xen -> rumprun-xen)
Antti Kantee [Wed, 30 Jul 2014 12:11:39 +0000 (12:11 +0000)]
update wiki url (repo rename rumpuser-xen -> rumprun-xen)

10 years agodisplay message after successful build
Antti Kantee [Mon, 28 Jul 2014 11:36:56 +0000 (11:36 +0000)]
display message after successful build

10 years ago-D__RUMPAPP__ in addition to -D__RUMPUSER_XEN__
Antti Kantee [Thu, 24 Jul 2014 13:18:27 +0000 (13:18 +0000)]
-D__RUMPAPP__ in addition to -D__RUMPUSER_XEN__

All new code should use the former, the latter will be removed at
some point.

10 years agoUsually $PATH works better if components are separated with :
Antti Kantee [Thu, 24 Jul 2014 13:15:02 +0000 (13:15 +0000)]
Usually $PATH works better if components are separated with :

10 years agorun a simple app-tools test
Antti Kantee [Thu, 24 Jul 2014 13:06:22 +0000 (13:06 +0000)]
run a simple app-tools test

10 years agoAdd a simple app-tools test which exercises configure and make.
Antti Kantee [Thu, 24 Jul 2014 13:05:04 +0000 (13:05 +0000)]
Add a simple app-tools test which exercises configure and make.

(also add the megabyte of autoconf glue that comes with the
few hundred byte test)

10 years agoPull in latest rumpsrc for symbol aliasing improvements.
Antti Kantee [Thu, 24 Jul 2014 12:17:06 +0000 (12:17 +0000)]
Pull in latest rumpsrc for symbol aliasing improvements.

E.g. select is now available also as select, instead of as __select50
which is renamed using sys/select.h.  this fixes e.g. configure scripts
which do not include headers.

10 years agoSpeed up app-configure by a factor of many.
Antti Kantee [Thu, 24 Jul 2014 08:55:39 +0000 (08:55 +0000)]
Speed up app-configure by a factor of many.

This is done by not linking in the full rump kernel at the configure
stage.  A cross-configure configure script will only do compile tests and
it does not really care about what is present in the kernel.  Since all
of the "libc" bits are in librump (apart from ones we handle directly on
top of minios), just linking in librump at the configure stage is enough.