Commit Graph
24 Commits
Author SHA1 Message Date
Keir Fraser 6127bd73bd minios: implement xc_map_foreign_bulk
In order to do so it modifies map_frames_ex and do_map_frames to take
an int *err as parameter and return any error that way.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2010-01-18 14:48:18 +00:00
dietmar.hahn@fujitsu-siemens.com 6e3fe157f0 [IA64] Remove the useless big endian stuff.
This patch removes all the useless big endian stuff from the mini-os.
Before there was an effort to support big endian for PV-guest.
But the big endian support was never gotten into the common parts of
the mini-os so it makes no sense to have this only in the ia64
specific sources. And as there is no open source big endian os and
porting our BS2000 os to ia64 was stopped, nobody wants that stuff
in the common minos.
So this looks ugly then and remove the big endian stuff.

Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
2008-11-18 10:55:51 +01:00
dietmar.hahn@fujitsu-siemens.com 377d0a03ff [IA64] minios: Clean up the hypervisor interface
move all hypervisor calls to xencomm

Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
2008-11-17 09:19:45 +01:00
Keir Fraser 16519cc5e8 mini-os: add stack walking debug
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-07-18 14:09:14 +01:00
Keir Fraser 8f96998338 stubdom: fixes to compile with qemu-xen
This adds fixes to the stub domain build into compiling Ian Jackson's
qemu-xen.  The most notable change is that mini-os headers now
#include each other through a mini-os/ prefix, so that we can turn all
-I into -isystem and still be sure that we include Mini-OS headers
(and not qemu's console.h or blktaplib's list.h for instance...).

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-07-10 14:15:46 +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
Isaku Yamahata d20f38afda merge with xen-unstable.hg 2008-06-19 12:46:26 +09:00
Isaku Yamahata ac538d5060 minios/ia64: fix EFI_RUNTIME_SERVICES_SIGNATURE value
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-06-10 14:58:27 +09: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 796b445b00 minios: call do_hypervisor_callback directly from force_evtchn_callback
instead of unnecessarily going through the hypervisor.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-16 10:06:19 +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
Keir Fraser c69b2fa1c4 minios: permit blkfront to write from mapped memory
by adding a virtual_to_mfn macro

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-01-22 14:20:37 +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 04383f9c0f minios: support COW for a zero page
Permits to support sparse data.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-01-18 16:20:13 +00:00
Keir Fraser 4eb8e8dc04 minios: extend map_frames into being able to map a series of
contiguous frames, or the same frame several times, aligned, from
another domain, with specific protection, and with potential
failures.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-01-18 15:22:42 +00:00
Keir Fraser 22e39d084e minios: make stack size configurable
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2008-01-17 14:41:44 +00:00
Keir Fraser cb4baf13a2 minios: Add noreturn attribute to do_exit
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-01-17 14:39:45 +00:00
Keir Fraser c56fe82b7d minios: Optimize IA64's get_current()
Let gcc access r13 itself, leading to better code

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
2008-01-17 14:39:21 +00:00
Alex Williamson a423930e0d [IA64][MINIOS] PKR support
- adds optimization feature for region 7 identity mapping
- adds protection keys to region 5 and region 7 addresses,
  may be used for testing the hypervisor protection key support

Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
2007-07-30 18:14:29 -06:00
Alex Williamson e57246bd3a [MINIOS][IA64] mini-os without linux-optimization in hypervisor
Make mini-os runnable again without the special linux optimization for the
identity mapping in the hypervisor.

Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
2007-06-26 16:24:41 -06:00
awilliam@xenbuild2.aw 048f2c148c [IA64][MINIOS] Fixed some big-endian bugs and add HYPERVISOR_suspend
Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
2007-03-20 09:51:45 -06:00
awilliam@xenbuild2.aw 5340bb29c5 [IA64][MINIOS] cleanup ia64_boot_paramP and add ARCH_LDFLAGS
Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
2007-03-12 09:43:48 -06:00
awilliam@xenbuild2.aw 8a9e0cc712 [IA64][MINIOS] Port of mini-os to ia64
ia64 specific parts of mini-os.

Minimal config:

# Kernel image file.
kernel = "mini-os.gz"
# Initial memory allocation (in megabytes) for the new domain.
memory = 64
# A name for your domain.
name = "Mini-OS"

Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
2007-02-15 13:13:36 -07:00