Commit Graph
26 Commits
Author SHA1 Message Date
Keir Fraser 643898034e stubdom/minios: re-structure headers
As part of making stubdom usable on NetBSD, it is necessary to
restructure the minios headers to avoid conflicts with NetBSD's
crossbuild toolchain.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2009-10-01 12:28:54 +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 c68ffdc4fa minios: add proper shutdown facilities
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-06-09 13:26:30 +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 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 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
kfraser@localhost.localdomain 5fca0f03a3 Create P2M map during Mini-OS boot (fixes 'xm dump-core').
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2007-03-01 12:23:44 +00:00
kfraser@localhost.localdomain 531616bf98 [MINIOS] Refactored mm.c and sched.c. x86 arch specific code got moved to
arch/x86/mm.c and arch/x86/sched.c. Header files were also refactored:
arch specific code got moved to include/x86/arch_mm.h and
include/x86/sched_mm.h.

Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2006-11-22 10:11:36 +00:00
kfraser@localhost.localdomain 7d58e87410 [MINIOS] Move initialisation of events (masking event channels)
earlier during the boot process. Otherwise 64bit guests would
sometimes crash.

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2006-11-17 09:16:27 +00:00
sos22@douglas.cl.cam.ac.uk 8903f962c4 [MINI-OS] Fix a bug which prevented map_frames being used more than once.
Found by John D. Ramsdell <ramsdell@mitre.org>

Signed-off-by: Steven Smith <sos22@cam.ac.uk>
2006-07-25 10:59:02 +01:00
kfraser@localhost.localdomain 5edcddf706 [MINIOS]Mapping page frames on demand added to the memory management.
Signed-off-by: Steven Smith <sos22@cam.ac.uk>
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2006-07-05 14:29:13 +01:00
kaf24@firebug.cl.cam.ac.uk 7469df6c08 [MINIOS] Various address-space fixes.
1. Make Mini-OS start from 0x0.
2. Fixes the pagetable builder to handle half full, but already mapped
pt frames.=20
3. Add a bounds check to ensure than Mini-OS does not try to use Xen
virtual space.

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
Signed-off-by: Aravindh Puthiyaparambil
<aravindh.puthiyaparambil@unisys.com>
2006-05-31 07:43:06 +01:00
kaf24@firebug.cl.cam.ac.uk 0306a3dcf8 [MINIOS] PAE support.
Signed-off-by: Aravindh Puthiyaparambil <aravindh.puthiyaparambil@unisys.com>
2006-05-19 16:52:52 +01:00
kaf24@firebug.cl.cam.ac.uk 395112e684 Allow linking of mini-os with application-specific object code.
From: Jacob Gorm Hansen
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-15 16:32:09 +01:00
kaf24@firebug.cl.cam.ac.uk 70f46c3045 The patch removes old Xenbus files, fixes 0 length mmu_updates table bug
(bugfix by Melvin Anderson) and adds missing console.h header file 
(again spotted by Melvin).

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2006-03-24 10:52:10 +01:00
kaf24@firebug.cl.cam.ac.uk c7b965a01c Fix mini-os xenbus.
From: Grzegorz Milos <gm281@cam.ac.uk>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-24 10:47:48 +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 44fb8b7296 64 bit pagetable builder added to mm.c
Signed-off-by: Aravindh Puthiyaparambil 
<aravindh.puthiyaparambil@unisys.com>
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2006-03-09 15:57:32 +01:00
kaf24@firebug.cl.cam.ac.uk 79434e94bd Get rid of anonymous unions in public header files.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-09-14 13:13:10 +00: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@firebug.cl.cam.ac.uk b7b544e749 Memory management fixes. Page tables are created, buddy allocator now
has ability to free memory (as well as allocate it).

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2005-08-25 16:25:26 +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 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
kaf24@scramble.cl.cam.ac.uk f5e39ec466 bitkeeper revision 1.490 (3f831e5fpXnszWjg8lV_9law4lUnbg)
COPYING:
  new file
mm.c, hypervisor.c:
  Clearly GPL the mini-os.
2003-10-07 20:13:19 +00:00
iap10@labyrinth.cl.cam.ac.uk e4130630e1 bitkeeper revision 1.483 (3f81a3e2iM-0WXaGxUS3ywM3_KZqLw)
move mini-os to extras directory
2003-10-06 17:18:26 +00:00