Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Really mini operating system (extracted from xen-unstable, and much stuff removed)

branch: master

minios: Remove unused variables warnings

s/DEBUG/printk/ in test_xenbus and all associated do_*_test+xenbus_dbg_message
and always print the IRQ and MFN used by the xenbus on init.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Tested-by: John McDermott <john.mcdermott@nrl.navy.mil>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
latest commit cfb21ad4b3
Ian Campbell authored February 20, 2012
Octocat-spinner-32 arch mini-os: work around ld bug causing stupid CTOR count August 19, 2011
Octocat-spinner-32 console mini-os: make frontends and xenbus optional February 09, 2012
Octocat-spinner-32 include mini-os: make frontends and xenbus optional February 09, 2012
Octocat-spinner-32 lib mini-os: make frontends and xenbus optional February 09, 2012
Octocat-spinner-32 xenbus minios: Remove unused variables warnings February 20, 2012
Octocat-spinner-32 COPYING minios: Introduce BSD license COPYING file June 04, 2009
Octocat-spinner-32 Config.mk build: Make XEN_ROOT an absolute path. March 17, 2011
Octocat-spinner-32 Makefile stubdom: enable xenstored build February 09, 2012
Octocat-spinner-32 README minios: update README March 19, 2008
Octocat-spinner-32 app.lds stubdom: sparse application's BSS by linking it separately first, put April 16, 2008
Octocat-spinner-32 blkfront.c mini-os: stop compiler complaint about unused variables February 09, 2012
Octocat-spinner-32 daytime.c minios: Automatically set IP from XenStore information March 19, 2008
Octocat-spinner-32 domain_config MiniOS: no-stack-protector added to the cflags if needed, October 09, 2007
Octocat-spinner-32 events.c stubdom/minios: re-structure headers October 01, 2009
Octocat-spinner-32 fbfront.c mini-os: stop compiler complaint about unused variables February 09, 2012
Octocat-spinner-32 gntmap.c stubdom/minios: re-structure headers October 01, 2009
Octocat-spinner-32 gnttab.c stubdom/minios: re-structure headers October 01, 2009
Octocat-spinner-32 hypervisor.c stubdom/minios: re-structure headers October 01, 2009
Octocat-spinner-32 kernel.c mini-os: make frontends and xenbus optional February 09, 2012
Octocat-spinner-32 lock.c stubdom: use host's gcc July 04, 2008
Octocat-spinner-32 lwip-arch.c minios: switch to C99 integer types July 15, 2009
Octocat-spinner-32 lwip-net.c minios: switch to C99 integer types July 15, 2009
Octocat-spinner-32 main.c mini-os: make frontends and xenbus optional February 09, 2012
Octocat-spinner-32 minios.mk mini-os: create app-specific configuration February 09, 2012
Octocat-spinner-32 mm.c stubdom/minios: re-structure headers October 01, 2009
Octocat-spinner-32 netfront.c mini-os: stop compiler complaint about unused variables February 09, 2012
Octocat-spinner-32 pcifront.c mini-os: stop compiler complaint about unused variables February 09, 2012
Octocat-spinner-32 sched.c mini-os: use BSD sys/queue.h instead of Linux list.h January 31, 2012
Octocat-spinner-32 test.c mini-os: Move test functions into test.c February 09, 2012
README
 Minimal OS
 ----------

This shows some of the stuff that any guest OS will have to set up.

This includes:

 * installing a virtual exception table
 * handling virtual exceptions
 * handling asynchronous events
 * enabling/disabling async events
 * parsing start_info struct at start-of-day
 * registering virtual interrupt handlers (for timer interrupts)
 * a simple page and memory allocator
 * minimal libc support
 * minimal Copy-on-Write support
 * network, block, framebuffer support
 * transparent access to FileSystem exports (see tools/fs-back)

- to build it just type make.

- to build it with TCP/IP support, download LWIP 1.3 source code and type

  make LWIPDIR=/path/to/lwip/source

- to build it with much better libc support, see the stubdom/ directory

- to start it do the following in domain0 (assuming xend is running)
  # xm create domain_config

This starts the kernel and prints out a bunch of stuff and then once every
second the system time.

If you have setup a disk in the config file (e.g.
disk = [ 'file:/tmp/foo,hda,r' ] ), it will loop reading it.  If that disk is
writable (e.g. disk = [ 'file:/tmp/foo,hda,w' ] ), it will write data patterns
and re-read them.

If you have setup a network in the config file (e.g. vif = [''] ), it will
print incoming packets.

If you have setup a VFB in the config file (e.g. vfb = ['type=sdl'] ), it will
show a mouse with which you can draw color squares.

If you have compiled it with TCP/IP support, it will run a daytime server on
TCP port 13.
Something went wrong with that request. Please try again.