ia64/xen-unstable

view extras/mini-os/include/sys/time.h @ 17042:a905c582a406

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>
author Keir Fraser <keir.fraser@citrix.com>
date Tue Feb 12 14:35:39 2008 +0000 (2008-02-12)
parents aca8d453da59
children
line source
1 /* -*- Mode:C; c-basic-offset:4; tab-width:4 -*-
2 ****************************************************************************
3 * (C) 2003 - Rolf Neugebauer - Intel Research Cambridge
4 * (C) 2005 - Grzegorz Milos - Intel Research Cambridge
5 ****************************************************************************
6 *
7 * File: time.h
8 * Author: Rolf Neugebauer (neugebar@dcs.gla.ac.uk)
9 * Changes: Grzegorz Milos (gm281@cam.ac.uk)
10 * Robert Kaiser (kaiser@informatik.fh-wiesbaden.de)
11 *
12 * Date: Jul 2003, changes: Jun 2005, Sep 2006
13 *
14 * Environment: Xen Minimal OS
15 * Description: Time and timer functions
16 *
17 ****************************************************************************
18 */
20 #ifndef _MINIOS_SYS_TIME_H_
21 #define _MINIOS_SYS_TIME_H_
23 #ifdef HAVE_LIBC
24 #include_next <sys/time.h>
25 #else
26 struct timespec {
27 time_t tv_sec;
28 long tv_nsec;
29 };
31 struct timezone {
32 };
34 struct timeval {
35 time_t tv_sec; /* seconds */
36 suseconds_t tv_usec; /* microseconds */
37 };
39 int gettimeofday(struct timeval *tv, void *tz);
40 #endif
42 #endif /* _MINIOS_SYS_TIME_H_ */