]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/mini-os.git/log
people/liuw/libxenctrl-split/mini-os.git
17 years agostubdom: add asynchronous disk flush support
Keir Fraser [Sat, 5 Apr 2008 21:20:25 +0000 (22:20 +0100)]
stubdom: add asynchronous disk flush support

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: Fix xfree() bug.
Keir Fraser [Wed, 2 Apr 2008 14:32:13 +0000 (15:32 +0100)]
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>
17 years agomini-os: Fix build error.
Keir Fraser [Wed, 26 Mar 2008 14:04:21 +0000 (14:04 +0000)]
mini-os: Fix build error.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
17 years agominios: blkfront_aio_poll may reenter
Keir Fraser [Wed, 26 Mar 2008 13:15:00 +0000 (13:15 +0000)]
minios: blkfront_aio_poll may reenter
if the callback calls blkfront_sync for instance.
In such a case, we would see responses and hence release grants
several times. We need to be more synchronous and stop when we detect
that we have re-entered.
This fixes HVM restore with stubdomains.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: more assertions
Keir Fraser [Wed, 26 Mar 2008 13:13:50 +0000 (13:13 +0000)]
minios: more assertions
- assert that we never allocate or free the same grant twice
- assert that network packets do not exceed a page
- assert that incoming network event IDs make sense

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agomini-os: free dropped lwip packets
Keir Fraser [Tue, 25 Mar 2008 17:56:09 +0000 (17:56 +0000)]
mini-os: free dropped lwip packets
When lwIP can not accept a packet, it is up to us to free it.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agostubdom: fix x86_64 irq stack size
Keir Fraser [Tue, 25 Mar 2008 17:55:39 +0000 (17:55 +0000)]
stubdom: fix x86_64 irq stack size
by making it use STACK_SIZE like other places.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: get VBD CD/removable/RO info
Keir Fraser [Thu, 20 Mar 2008 17:48:02 +0000 (17:48 +0000)]
minios: get VBD CD/removable/RO info

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agostubdom: add C example target
Keir Fraser [Wed, 19 Mar 2008 16:21:39 +0000 (16:21 +0000)]
stubdom: add C example target

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agostubdom: fix compilation
Keir Fraser [Wed, 19 Mar 2008 16:21:01 +0000 (16:21 +0000)]
stubdom: fix compilation

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: update README
Keir Fraser [Wed, 19 Mar 2008 16:20:44 +0000 (16:20 +0000)]
minios: update README

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: Automatically set IP from XenStore information
Keir Fraser [Wed, 19 Mar 2008 16:20:14 +0000 (16:20 +0000)]
minios: Automatically set IP from XenStore information

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: avoid putting trailing \0 in xenstore
Keir Fraser [Tue, 18 Mar 2008 11:40:30 +0000 (11:40 +0000)]
minios: avoid putting trailing \0 in xenstore

xenstore expects to get the exact amount of data, without
the trailing \0.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: Fix lost events
Keir Fraser [Tue, 18 Mar 2008 11:29:18 +0000 (11:29 +0000)]
minios: Fix lost events

evtchn_bind_interdomain used to clear any already pending event before
binding a handler, because else the handler may be called before it is
ready. That however leads to missed events, which I had to workaround
for the HVM case.

This changes the semantics of bind_evtchn, and thus of all the
event channel binding functions (bind_virq, evtchn_alloc_unbound,
evtchn_bind_interdomain) into not unmasking the event itself, hence
letting the caller initialize properly before unmasking the port (e.g.
record the port number in an appropriate place).

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agostubdom: add support for reading the command line from the config
Keir Fraser [Tue, 18 Mar 2008 11:27:05 +0000 (11:27 +0000)]
stubdom: add support for reading the command line from the config
file, and merge the dmargs with it in the case of qemu.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agostubdom: Add support for select() call with NULL arguments.
Keir Fraser [Tue, 18 Mar 2008 11:26:43 +0000 (11:26 +0000)]
stubdom: Add support for select() call with NULL arguments.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agoStubdom: add support for file creation.
Keir Fraser [Tue, 18 Mar 2008 11:26:21 +0000 (11:26 +0000)]
Stubdom: add support for file creation.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agomini-os: fbfront shouldn't send unsolicited updates
Keir Fraser [Mon, 3 Mar 2008 11:04:53 +0000 (11:04 +0000)]
mini-os: fbfront shouldn't send unsolicited updates

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agostubdom: Fix compilation after abs_z to rel_z change
Keir Fraser [Thu, 28 Feb 2008 14:09:47 +0000 (14:09 +0000)]
stubdom: Fix compilation after abs_z to rel_z change
From: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
17 years agostubdom: use PVFB so as to e.g. permit SDL display
Keir Fraser [Thu, 28 Feb 2008 10:21:21 +0000 (10:21 +0000)]
stubdom: use PVFB so as to e.g. permit SDL display

This adds support in ioemu for PVFB frontend as stubdomain display.
This permits for instance to use SDL in dom0 to perform the eventual
display.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: have xenbus_printf return the error returned by xenbus_write
Keir Fraser [Wed, 27 Feb 2008 13:11:33 +0000 (13:11 +0000)]
minios: have xenbus_printf return the error returned by xenbus_write
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agostubdom: fix x86_32 compilation by __moddi3 from FreeBSD
Keir Fraser [Tue, 26 Feb 2008 15:11:07 +0000 (15:11 +0000)]
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>
17 years agominios: add PVFB support
Keir Fraser [Tue, 26 Feb 2008 14:47:23 +0000 (14:47 +0000)]
minios: add PVFB support
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: drop unused xenblk_rxidx function
Keir Fraser [Thu, 14 Feb 2008 09:24:35 +0000 (09:24 +0000)]
minios: drop unused xenblk_rxidx function
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agostubdom: optimize block io completion polling by not polling all the
Keir Fraser [Thu, 14 Feb 2008 09:23:14 +0000 (09:23 +0000)]
stubdom: optimize block io completion polling by not polling all the
time; only when some requests have completed.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agoMini-OS: Fix alignment in maybe_split()
Keir Fraser [Thu, 14 Feb 2008 09:22:33 +0000 (09:22 +0000)]
Mini-OS: Fix alignment in maybe_split()
Needed on ia64, speeds up on x86.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agoAdd stubdomain support. See stubdom/README for usage details.
Keir Fraser [Tue, 12 Feb 2008 14:35:39 +0000 (14:35 +0000)]
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>
17 years agominios: Fix blkfront grant map leak
Keir Fraser [Thu, 7 Feb 2008 09:16:20 +0000 (09:16 +0000)]
minios: Fix blkfront grant map leak

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: Support net/block backend in domU
Keir Fraser [Thu, 7 Feb 2008 09:15:59 +0000 (09:15 +0000)]
minios: Support net/block backend in domU

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: Fix bug when blkfront reading into zero-mapped buffer
Keir Fraser [Tue, 29 Jan 2008 15:18:27 +0000 (15:18 +0000)]
minios: Fix bug when blkfront reading into zero-mapped buffer
by just poking the page.
No need to use virtual_to_mfn() for the ring since that is a real page.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: Fix ia64 build.
Keir Fraser [Mon, 28 Jan 2008 12:58:57 +0000 (12:58 +0000)]
minios: Fix ia64 build.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
17 years agominios: permit blkfront to write from mapped memory
Keir Fraser [Wed, 23 Jan 2008 18:05:27 +0000 (18:05 +0000)]
minios: permit blkfront to write from mapped memory
Missing call to virtual_to_mfn

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: make allocation of page tables for ondemand mapping lazy
Keir Fraser [Wed, 23 Jan 2008 11:20:01 +0000 (11:20 +0000)]
minios: make allocation of page tables for ondemand mapping lazy

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: permit blkfront to write from mapped memory
Keir Fraser [Tue, 22 Jan 2008 14:20:37 +0000 (14:20 +0000)]
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>
17 years agominios: POSIX fixes
Keir Fraser [Tue, 22 Jan 2008 14:20:22 +0000 (14:20 +0000)]
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>
17 years agominios: fix case when _text is not 0
Keir Fraser [Tue, 22 Jan 2008 11:35:26 +0000 (11:35 +0000)]
minios: fix case when _text is not 0

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: Fix x86_32 compilation
Keir Fraser [Tue, 22 Jan 2008 11:19:40 +0000 (11:19 +0000)]
minios: Fix x86_32 compilation

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: add blkfront testing
Keir Fraser [Tue, 22 Jan 2008 09:46:33 +0000 (09:46 +0000)]
minios: add blkfront testing

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios, blkfront: set default block path.
Keir Fraser [Tue, 22 Jan 2008 09:46:15 +0000 (09:46 +0000)]
minios, blkfront: set default block path.
remove unnecessary path head stripping.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: Add align support to _xmalloc().
Keir Fraser [Tue, 22 Jan 2008 09:45:54 +0000 (09:45 +0000)]
minios: Add align support to _xmalloc().

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: add lwIP 1.3.0 support
Keir Fraser [Mon, 21 Jan 2008 11:20:52 +0000 (11:20 +0000)]
minios: add lwIP 1.3.0 support

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: make time interface POSIX
Keir Fraser [Mon, 21 Jan 2008 11:20:27 +0000 (11:20 +0000)]
minios: make time interface POSIX
timespec uses tv_sec and tv_nsec too. gettimeofday takes a tz
argument.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: do not exit if FS backend not found.
Keir Fraser [Fri, 18 Jan 2008 16:20:47 +0000 (16:20 +0000)]
minios: do not exit if FS backend not found.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: support COW for a zero page
Keir Fraser [Fri, 18 Jan 2008 16:20:13 +0000 (16:20 +0000)]
minios: support COW for a zero page
Permits to support sparse data.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: extend map_frames into being able to map a series of
Keir Fraser [Fri, 18 Jan 2008 15:22:42 +0000 (15:22 +0000)]
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>
17 years agominios: set text and rodata read-only, free unused pages 0 and 1
Keir Fraser [Fri, 18 Jan 2008 15:22:17 +0000 (15:22 +0000)]
minios: set text and rodata read-only, free unused pages 0 and 1
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agoAdd FS backend/frontend drivers (frontend in minios only).
Keir Fraser [Fri, 18 Jan 2008 13:33:37 +0000 (13:33 +0000)]
Add FS backend/frontend drivers (frontend in minios only).

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
17 years agominios: add blkfront
Keir Fraser [Thu, 17 Jan 2008 16:41:46 +0000 (16:41 +0000)]
minios: add blkfront

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: support several netfronts
Keir Fraser [Thu, 17 Jan 2008 15:50:48 +0000 (15:50 +0000)]
minios: support several netfronts

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: add xenbus token support and separate watch event queues
Keir Fraser [Thu, 17 Jan 2008 15:20:02 +0000 (15:20 +0000)]
minios: add xenbus token support and separate watch event queues

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: add realloc
Keir Fraser [Thu, 17 Jan 2008 15:06:30 +0000 (15:06 +0000)]
minios: add realloc

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Tim Deegan <tim.deegan@eu.citrix.com>
17 years agominios: make stack size configurable
Keir Fraser [Thu, 17 Jan 2008 14:41:44 +0000 (14:41 +0000)]
minios: make stack size configurable

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
17 years agominios: add wait_event_deadline
Keir Fraser [Thu, 17 Jan 2008 14:41:12 +0000 (14:41 +0000)]
minios: add wait_event_deadline

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Tim Deegan <tim.deegan@eu.citrix.com>
17 years agominios: add trydown
Keir Fraser [Thu, 17 Jan 2008 14:40:55 +0000 (14:40 +0000)]
minios: add trydown

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: use ASSERT for BUG_ON
Keir Fraser [Thu, 17 Jan 2008 14:40:23 +0000 (14:40 +0000)]
minios: use ASSERT for BUG_ON

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: Add exit_thread prototype. Make sure exit_thread doesn't
Keir Fraser [Thu, 17 Jan 2008 14:40:06 +0000 (14:40 +0000)]
minios: Add exit_thread prototype. Make sure exit_thread doesn't
return by accident.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: Add noreturn attribute to do_exit
Keir Fraser [Thu, 17 Jan 2008 14:39:45 +0000 (14:39 +0000)]
minios: Add noreturn attribute to do_exit

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
17 years agominios: Optimize IA64's get_current()
Keir Fraser [Thu, 17 Jan 2008 14:39:21 +0000 (14:39 +0000)]
minios: Optimize IA64's get_current()

Let gcc access r13 itself, leading to better code

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years agoIn C99 (7.19.6.2.10), the behavior of scanf("stuff... %n", ..., &n) is
Keir Fraser [Fri, 28 Dec 2007 15:23:28 +0000 (15:23 +0000)]
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>
17 years agomini-os: No -fpic when building for x86.
Keir Fraser [Tue, 4 Dec 2007 10:11:54 +0000 (10:11 +0000)]
mini-os: No -fpic when building for x86.
Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Catch NULL dereferences
Keir Fraser [Wed, 28 Nov 2007 12:42:17 +0000 (12:42 +0000)]
[Mini-OS] Catch NULL dereferences

Unmap page 0 (only used early at boot) so as to catch NULL dereferences.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Fix strrchr() when string doesn't contain the character.
Keir Fraser [Wed, 28 Nov 2007 12:41:41 +0000 (12:41 +0000)]
[Mini-OS] Fix strrchr() when string doesn't contain the character.
Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Make gnttab allocation/free safe
Keir Fraser [Wed, 28 Nov 2007 12:40:57 +0000 (12:40 +0000)]
[Mini-OS] Make gnttab allocation/free safe

Add a semaphore to protect gnttab_list from exhaustion, and disable
callbacks during allocation/free.  Fix the network frontend accordingly.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years agominios: Revert 16206:7b5b65fbaf61 (xenbus wait fixup)
Keir Fraser [Tue, 27 Nov 2007 12:49:16 +0000 (12:49 +0000)]
minios: Revert 16206:7b5b65fbaf61 (xenbus wait fixup)
Already fixed by 14432:f40079acf646.

17 years ago[Mini-OS] Fix domain blocking race
Keir Fraser [Sat, 24 Nov 2007 13:31:39 +0000 (13:31 +0000)]
[Mini-OS] Fix domain blocking race

A callback which wakes a thread may happen between the moment
schedule() gives hand to the idle thread and the latter blocks the
domain.  Idle hence needs to atomically check that no thread is
running and block, else awoken threads may have to wait up to 10
seconds.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Permit x86_64 trap handlers to return
Keir Fraser [Sat, 24 Nov 2007 13:31:01 +0000 (13:31 +0000)]
[Mini-OS] Permit x86_64 trap handlers to return

Trap handlers sometimes fix the problem, so they need to be able to
return.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Make sure schedule() is called safely
Keir Fraser [Sat, 24 Nov 2007 13:29:20 +0000 (13:29 +0000)]
[Mini-OS] Make sure schedule() is called safely

If a thread tries to sleep from a callback or with callbacks disabled,
Mini-OS will completely lock, so make sure this never happens.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Fix netfront xmit overflow
Keir Fraser [Sat, 24 Nov 2007 13:28:54 +0000 (13:28 +0000)]
[Mini-OS] Fix netfront xmit overflow

Fix xmit overflow by making netfront_xmit sleep until
network_tx_buf_gc() frees an xmit request.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Fix net backend path leak
Keir Fraser [Sat, 24 Nov 2007 13:28:27 +0000 (13:28 +0000)]
[Mini-OS] Fix net backend path leak

Free backend path after use.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Make wake_up callback-safe
Keir Fraser [Sat, 24 Nov 2007 13:27:59 +0000 (13:27 +0000)]
[Mini-OS] Make wake_up callback-safe

As it may compete with event handlers waking wait queues, wake_up
needs to be callback-safe.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Fix init_waitqueue_entry
Keir Fraser [Sat, 24 Nov 2007 13:27:32 +0000 (13:27 +0000)]
[Mini-OS] Fix init_waitqueue_entry

Fix initialization of thread_list in init_waitqueue_entry().

Signed-off-by: Samuel Thibault <samuel.thibault@xensource.com>
17 years ago[Mini-OS] Add init_SEMAPHORE
Keir Fraser [Sat, 24 Nov 2007 13:27:08 +0000 (13:27 +0000)]
[Mini-OS] Add init_SEMAPHORE

Add init_SEMAPHORE() to dynamically initialize semaphores.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Make semaphores callback-safe
Keir Fraser [Sat, 24 Nov 2007 13:26:39 +0000 (13:26 +0000)]
[Mini-OS] Make semaphores callback-safe

One may want to use semaphores in event handlers to wake threads
waiting for a resource, so semaphores then need to be callback-safe.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Add strrchr()
Keir Fraser [Fri, 23 Nov 2007 16:42:44 +0000 (16:42 +0000)]
[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>
17 years ago[Mini-OS] Add ENOTSUP
Keir Fraser [Fri, 23 Nov 2007 16:42:23 +0000 (16:42 +0000)]
[Mini-OS] Add ENOTSUP

Add missing ENOTSUP by defining it to EOPNOTSUPP like in Linux.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Move _ctype into a module
Keir Fraser [Fri, 23 Nov 2007 16:41:54 +0000 (16:41 +0000)]
[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>
17 years ago[Mini-OS] Make bind_virq return the port
Keir Fraser [Fri, 23 Nov 2007 16:25:59 +0000 (16:25 +0000)]
[Mini-OS] Make bind_virq return the port

Make bind_virq() return the port bound to the irq, which is useful
e.g. for masking/unmasking it.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Fix x86 arch_switch_thread
Keir Fraser [Fri, 23 Nov 2007 16:23:28 +0000 (16:23 +0000)]
[Mini-OS] Fix x86 arch_switch_thread

Fix x86 arch_switch_thread by making it pure assembly.
There were missing general register clobbers for x86_64, and BP should
theorically be clobbered too, but gcc does not believe that, so the
only simple safe solution is to use pure assembly.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Optimize get_current()
Keir Fraser [Fri, 23 Nov 2007 16:23:03 +0000 (16:23 +0000)]
[Mini-OS] Optimize get_current()

Let gcc perform the computation with SP itself, leading to yet better
code.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Fix stack closures
Keir Fraser [Fri, 23 Nov 2007 16:22:36 +0000 (16:22 +0000)]
[Mini-OS] Fix stack closures

So as to make backtracing tools happy, correctly close x86 stacks for
new threads as well as on callback in the x86_32 case since there is
no unwind marker.

Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years ago[Mini-OS] Fix x86 initial stack alignment
Keir Fraser [Fri, 23 Nov 2007 16:22:13 +0000 (16:22 +0000)]
[Mini-OS] Fix x86 initial stack alignment

This fixes the initial stack alignment for x86, which is required for
current to return a fine NULL instead of a random value or possibly
crash during initialization.

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
17 years agominios: xenbus wait fixup
Keir Fraser [Wed, 24 Oct 2007 13:36:18 +0000 (14:36 +0100)]
minios: xenbus wait fixup
From: Samuel Thibault <samuel.thibault@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agominios: Make NSEC_TO_USEC/NSEC_TO_SEC macros expression safe.
Keir Fraser [Wed, 24 Oct 2007 13:35:19 +0000 (14:35 +0100)]
minios: Make NSEC_TO_USEC/NSEC_TO_SEC macros expression safe.
From: Samuel Thibault <samuel.thibault@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agominios: Fix get_current() inline asm.
Keir Fraser [Tue, 16 Oct 2007 08:30:20 +0000 (09:30 +0100)]
minios: Fix get_current() inline asm.
From: Samuel Thibault <samuel.thibault@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agoMiniOS: no-stack-protector added to the cflags if needed,
Keir Fraser [Tue, 9 Oct 2007 15:06:50 +0000 (16:06 +0100)]
MiniOS: no-stack-protector added to the cflags if needed,
and the default domain config file fixed.

From: Grzegorz Milos <gm281@cam.ac.uk>
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agominios: Remove unnecessary padding and unused sections from x86/64
Keir Fraser [Tue, 25 Sep 2007 09:12:49 +0000 (10:12 +0100)]
minios: Remove unnecessary padding and unused sections from x86/64
linker script.
Signed-off-by: Keir Fraser <keir@xensource.com>
17 years agomerge with xen-unstable.hg
Alex Williamson [Sun, 12 Aug 2007 20:50:02 +0000 (14:50 -0600)]
merge with xen-unstable.hg

17 years ago[MINIOS] fix x86_64 p2m map and CFLAGS
Tim Deegan [Thu, 2 Aug 2007 08:02:08 +0000 (09:02 +0100)]
[MINIOS] fix x86_64 p2m map and CFLAGS
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
17 years ago[IA64][MINIOS] PKR support
Alex Williamson [Tue, 31 Jul 2007 00:14:29 +0000 (18:14 -0600)]
[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>
17 years ago[MINIOS][IA64] mini-os without linux-optimization in hypervisor
Alex Williamson [Tue, 26 Jun 2007 22:24:41 +0000 (16:24 -0600)]
[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>
18 years agominios: Fix xenbus request-id release.
Keir Fraser [Fri, 6 Apr 2007 09:15:31 +0000 (10:15 +0100)]
minios: Fix xenbus request-id release.
From: Jacob Gorm Hansen <jacobg@diku.dk>
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years agomerge with xen-unstable.hg
awilliam@xenbuild2.aw [Tue, 20 Mar 2007 21:19:38 +0000 (15:19 -0600)]
merge with xen-unstable.hg

18 years ago[IA64][MINIOS] Make Endian-ness build changeable on the command line
awilliam@xenbuild2.aw [Tue, 20 Mar 2007 16:07:11 +0000 (10:07 -0600)]
[IA64][MINIOS] Make Endian-ness build changeable on the command line

Now you can do 'BIGENDIAN=y make'

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
18 years ago[IA64][MINIOS] Fixed some big-endian bugs and add HYPERVISOR_suspend
awilliam@xenbuild2.aw [Tue, 20 Mar 2007 15:51:45 +0000 (09:51 -0600)]
[IA64][MINIOS] Fixed some big-endian bugs and add HYPERVISOR_suspend

Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
18 years agominios: Various small fixes.
kaf24@firebug.cl.cam.ac.uk [Mon, 19 Mar 2007 09:34:42 +0000 (09:34 +0000)]
minios: Various small fixes.

- Fixed type of variables in hypervisor.c.
- Fixed not removing a waiter from watch_queue.
- Make wait_for_watch() global accessible.

Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
18 years agominios: Fix an extern declaration and add an extra 'const' to
kfraser@localhost.localdomain [Thu, 15 Mar 2007 15:27:08 +0000 (15:27 +0000)]
minios: Fix an extern declaration and add an extra 'const' to
definition of a constant set of constant error strings.
Issues identified by Armand Puccetti.
Signed-off-by: Keir Fraser <keir@xensource.com>
18 years ago[IA64][MINIOS] cleanup ia64_boot_paramP and add ARCH_LDFLAGS
awilliam@xenbuild2.aw [Mon, 12 Mar 2007 15:43:48 +0000 (09:43 -0600)]
[IA64][MINIOS] cleanup ia64_boot_paramP and add ARCH_LDFLAGS

Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
18 years agomerge with xen-unstable.hg
awilliam@xenbuild2.aw [Wed, 7 Mar 2007 19:38:28 +0000 (12:38 -0700)]
merge with xen-unstable.hg

18 years agoCreate P2M map during Mini-OS boot (fixes 'xm dump-core').
kfraser@localhost.localdomain [Thu, 1 Mar 2007 12:23:44 +0000 (12:23 +0000)]
Create P2M map during Mini-OS boot (fixes 'xm dump-core').
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
18 years agoFix PAE Mini-OS build.
kfraser@localhost.localdomain [Thu, 1 Mar 2007 12:23:04 +0000 (12:23 +0000)]
Fix PAE Mini-OS build.
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>