Commit Graph
51 Commits
Author SHA1 Message Date
Keir Fraser 9a744273ce mini-os: adding some missing posix function declarations
Adding some missing posix function declarations, to get rid of some
qemu-remote compile time warnings.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2008-09-17 13:10:36 +01:00
Keir Fraser e388539d78 stubdom: fix munmap's update_va_mapping flag passing, thus fixing
INVLPG passing

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-28 13:09:02 +01:00
Keir Fraser 7e0fe5d8f4 stubdom: add v?errx? and v?warnx? functions
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 14:57:51 +01:00
Keir Fraser 1583e7e448 mini-os: Fix build failure with void* arithmetic.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-27 13:31:01 +01:00
Keir Fraser fe2998c24a stubdom: make munmap work in batches to fix stack overflow
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 09:47:24 +01:00
Keir Fraser 6c5aecbf01 stubdom: add syslog functions
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 09:45:42 +01:00
Keir Fraser a9c83dc720 prefix mini-os lists with minios_, drop QEMU_ prefix from QEMU_LIST_*
That permits to reduce the amount of difference with upstream.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-08 10:48:48 +01:00
Keir Fraser 168d8692c8 stubdom: turn off_t 64bit on x86
We can decide to make off_t 64bit instead of implementing the LFS
tricks.  Name corresponding functions foo64 to permit simple caml
programs linking.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-08 10:45:30 +01:00
Keir Fraser e5ba23a1d9 FSIF: extend protocol to multi-grant requests and multi-page ring
To improve throughput and inline the stat response.

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-01 09:37:10 +01:00
Keir Fraser b45184b0fc minios: Fix build on some gcc versions.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-07-24 17:33:40 +01:00
Keir Fraser 7d0b678231 minios: grant table map (gntdev) for minios
I've implemented a grant map for mini-os to support the xc_gnttab_*()
functions, the equivalent of gntdev in linux. This is useful for my
work in putting xenstored in a stub domain.

Signed-off-by: Diego Ongaro <diego.ongaro@citrix.com>
2008-07-24 14:14:27 +01:00
Keir Fraser 9415ef36a1 stubdom: add functions for caml runtime
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-07-17 13:21:37 +01:00
Keir Fraser 5c53e82c3f stubdom: add stub functions to reduce qemu patches
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-07-09 15:58:20 +01:00
Keir Fraser d6521a015d stubdom: fix copy/paste typo in select()
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-07-08 16:12:23 +01:00
Keir Fraser ce5c899f22 stubdom: use host's gcc
This makes stubdom use the host's gcc instead of downloading/compiling
binutils+gcc.  That requires a bunch of changes and even uncovered a
few bugs, but saves a lot of time.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-07-04 17:47:11 +01:00
Keir Fraser b4e6f01f78 stubdom: fix libc-verbose non-lwip compilation
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-06-30 09:51:34 +01:00
Keir Fraser 2aba927207 stubdom: permit compilation without lwip
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-06-09 09:46:32 +01:00
Keir Fraser e49b738ccf stubdom: Add console reading support
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-06-03 09:32:50 +01:00
Keir Fraser b9920f5849 minios: Fix width of shifted 1
Shifting 1 more that 32 bits requires 1 to be long-typed.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-05-24 09:24:25 +01:00
Keir Fraser 8543c562dd stubdom: complete libxc support
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-05-23 09:35:23 +01:00
Keir Fraser 8e3629845c minios: free netfront resources on error/shutdown
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-05-12 10:36:27 +01:00
Keir Fraser de239d043f pvfb/ioemu: transmit refresh interval advice from backend to frontend
which permits the frontend to avoid useless polls.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-05-12 10:10:03 +01:00
Keir Fraser 28baa78877 stubdom: sparse application's BSS by linking it separately first, put
markers at its beginning and end, and then link with mini-os.
That permits to stick a bit more to upstream qemu.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-16 10:05:57 +01:00
Keir Fraser 30860b6fe5 minios: Fix xfree() bug.
It has to check first if the memory to free is so big as to be freed
directly by free_pages. mini-os domains crash without this patch if
vfb is misconfigured.

Signed-off-by: INAKOSHI Hiroya <inakoshi.hiroya@jp.fujitsu.com>
2008-04-02 15:32:13 +01:00
Keir Fraser ac23908a0d stubdom: fix compilation
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-19 16:21:01 +00:00
Keir Fraser b1c30105ce stubdom: Add support for select() call with NULL arguments.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-18 11:26:43 +00:00
Keir Fraser 1add612bf5 Stubdom: add support for file creation.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-18 11:26:21 +00:00
Keir Fraser 480b3a06d1 stubdom: fix x86_32 compilation by __moddi3 from FreeBSD
(like has been done previously for umoddi3 etc.)

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-02-26 15:11:07 +00:00
Keir Fraser 26a1b308f3 minios: add PVFB support
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-02-26 14:47:23 +00:00
Keir Fraser fdbcfd71bb Mini-OS: Fix alignment in maybe_split()
Needed on ia64, speeds up on x86.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-02-14 09:22:33 +00:00
Keir Fraser 0243b256d6 Add stubdomain support. See stubdom/README for usage details.
- Move PAGE_SIZE and STACK_SIZE into __PAGE_SIZE and __STACK_SIZE in
  arch_limits.h so as to permit getting them from there without
  pulling all the internal Mini-OS defines.
- Setup a xen-elf cross-compilation environment in stubdom/cross-root
- Add a POSIX layer on top of Mini-OS by linking against the newlib C
  library and lwIP, and implementing the Unixish part in mini-os/lib/sys.c
- Cross-compile zlib and libpci too.
- Add an xs.h-compatible layer on top of Mini-OS' xenbus.
- Cross-compile libxc with an additional xc_minios.c and a few things
  disabled.
- Cross-compile ioemu with an additional block-vbd, but without sound,
  tpm and other details.  A few hacks are needed:
  - Align ide and scsi buffers at least on sector size to permit
  direct transmission to the block backend. While we are at it, just
  page-align it to possibly save a segment. Also, limit the scsi
  buffer size because of limitations of the block paravirtualization
  protocol.
  - Allocate big tables dynamically rather that letting them go to
  bss: when Mini-OS gets installed in memory, bss is not lazily
  allocated, and doing so during Mini-OS is unnecessarily trick while
  we can simply use malloc.
- Had to change the Mini-OS compilation somehow, so as to export
  Mini-OS compilation flags to the Makefiles of libxc and ioemu.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-02-12 14:35:39 +00:00
Keir Fraser e8c1abd6e7 minios: POSIX fixes
Fixes some functions which are POSIX.  Also make them ifndef HAVE_LIBC.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-01-22 14:20:22 +00:00
Keir Fraser d6398adb03 minios: Add align support to _xmalloc().
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-01-22 09:45:54 +00:00
Keir Fraser f3b3ce4ae7 minios: add realloc
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Tim Deegan <tim.deegan@eu.citrix.com>
2008-01-17 15:06:30 +00:00
Keir Fraser 8f8a3b5659 In C99 (7.19.6.2.10), the behavior of scanf("stuff... %n", ..., &n) is
said to be undefined if the value to be put is n can't fit.  I guess
we can safely consider that the same applies to printf.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
2007-12-28 15:23:28 +00:00
Keir Fraser c0a00d42f4 [Mini-OS] Fix strrchr() when string doesn't contain the character.
Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
2007-11-28 12:41:41 +00:00
Keir Fraser 36cb94956a [Mini-OS] Add strrchr()
Add strrchr(), useful e.g. for grabbing the last part of a xenbus
path.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
2007-11-23 16:42:44 +00:00
Keir Fraser 63c4c4eabe [Mini-OS] Move _ctype into a module
Move the _ctype array into its own module, instead of having it
defined in a header.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
2007-11-23 16:41:54 +00:00
kfraser@localhost.localdomain 4e8586dfa3 [MINIOS] More cleanups for the ia64 port.
Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
2007-01-19 15:09:39 +00:00
kfraser@localhost.localdomain 79700a5ce7 [MINIOS]Events handling cleaned up. The interface extended to provide
void* pointer to handlers.
Signed-off-by: Steven Smith <sos22@cam.ac.uk>
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2006-07-05 11:27:58 +01:00
kaf24@firebug.cl.cam.ac.uk 165bf6f0bd [MINIOS] Allows the use of a C library without modifying Mini-OS source files.
From: John Ramsdell
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-26 13:23:18 +01:00
kaf24@firebug.cl.cam.ac.uk a54b2baac2 Implement console for Mini-os and also fix 2 bugs:
a) in initialising new page table frames
b) in initialising idle thread.

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2006-03-15 20:25:50 +01:00
kaf24@firebug.cl.cam.ac.uk cdb8b09f6b Xenbus implementation ported from Linux to Mini-os, simple thread support introduced
to simplify the porting. 64 bit version of Mini-os now compiles, but does not work
because of the pagetables and some bits of scheduler not being written.

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2005-09-09 09:24:25 +00:00
kaf24@firebug.cl.cam.ac.uk 393415f09c The patch removes broken, and very complicated malloc in
favour of much simpler (and working) Xen's allocator
(xmalloc by Rusty).

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2005-08-26 10:35:36 +00:00
kaf24@scramble.cl.cam.ac.uk 054206d161 bitkeeper revision 1.1185 (420cf3c8-bMMcsnH1kMVRwy5AQ-ecg)
Various mini-os and Xen fixes. The M2P table is now definitely
accessible (read-only) from guest context.
Signed-off-by: keir.fraser@cl.cam.ac.uk
2005-02-11 18:04:56 +00:00
kaf24@scramble.cl.cam.ac.uk ec0f4bdc22 bitkeeper revision 1.1177.1.1 (420c983eSjbjDYGF-fYWrXw_L7qkLA)
Mini-OS cleanups. Bug fixes in x86_64 assembly code.
Signed-off-by: keir.fraser@cl.cam.ac.uk
2005-02-11 11:34:22 +00:00
kaf24@scramble.cl.cam.ac.uk 6bf9a1e14c bitkeeper revision 1.1004 (40d9962b6c-Z9R9FquPba7TS8wG_1w)
Cleanups.
2004-06-23 14:39:39 +00:00
kaf24@scramble.cl.cam.ac.uk a2a4fd60d0 bitkeeper revision 1.695 (4017ff70oJV8517inpGbN1CixN6csw)
Many files:
  Clean up compile warnings. Added stricter gcc options for Xen build.
2004-01-28 18:29:04 +00:00
kaf24@scramble.cl.cam.ac.uk b88b24c645 bitkeeper revision 1.694 (40133166fMqipwBHlUP1QVHEO6EEOg)
Many files:
  From Kip Macy, we now are stricter when compiling the mini os.
2004-01-25 03:00:54 +00:00
kaf24@scramble.cl.cam.ac.uk d47201cc4f bitkeeper revision 1.520 (3f8d13d8qVVqxcYD--4cXYs5egqNyg)
Many files:
  Fix the minos license so that it is usable for XP and BSD ports.
minios.lds:
  Rename: extras/mini-os/vmlinux.lds -> extras/mini-os/minios.lds
.del-list.h~d612a8726e8d42e:
  Delete: extras/mini-os/h/list.h
.del-COPYING~1f9753354580bd13:
  Delete: extras/mini-os/COPYING
2003-10-15 09:31:04 +00:00