ia64/xen-unstable

view extras/mini-os/arch/x86/Makefile @ 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 bf85b467ee89
children 7e00ebe2b7fd
line source
1 #
2 # x86 architecture specific makefiles.
3 # It's is used for x86_32, x86_32y and x86_64
4 #
6 XEN_ROOT = ../../../..
7 include $(XEN_ROOT)/Config.mk
8 include ../../Config.mk
10 # include arch.mk has to be before mini-os.mk!
12 include arch.mk
13 include ../../minios.mk
15 # Sources here are all *.c *.S without $(XEN_TARGET_ARCH).S
16 # This is handled in $(HEAD_ARCH_OBJ)
17 ARCH_SRCS := $(wildcard *.c)
19 # The objects built from the sources.
20 ARCH_OBJS := $(patsubst %.c,%.o,$(ARCH_SRCS))
22 all: $(ARCH_LIB)
24 # $(HEAD_ARCH_OBJ) is only build here, needed on linking
25 # in ../../Makefile.
26 $(ARCH_LIB): $(ARCH_OBJS) $(HEAD_ARCH_OBJ)
27 $(AR) rv $(ARCH_LIB) $(ARCH_OBJS)
29 clean:
30 rm -f $(ARCH_LIB) $(ARCH_OBJS) $(HEAD_ARCH_OBJ)