From: Samuel Thibault <samuel.thibault@eu.citrix.com>
To: xen-devel@lists.xensource.com
Subject: [PATCH] stubdom: fixes to compile with qemu-xen
Date: Thu, 10 Jul 2008 12:28:49 +0100 [thread overview]
Message-ID: <20080710112849.GN4536@implementation.uk.xensource.com> (raw)
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>
diff -r aab9fbd6ffa0 extras/mini-os/Config.mk
--- a/extras/mini-os/Config.mk Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/Config.mk Thu Jul 10 12:16:12 2008 +0100
@@ -38,20 +38,20 @@
# This must be before include minios.mk!
include $(MINI-OS_ROOT)/$(TARGET_ARCH_DIR)/arch.mk
-extra_incl := $(foreach dir,$(EXTRA_INC),-I$(realpath $(MINI-OS_ROOT)/include/$(dir)))
+extra_incl := $(foreach dir,$(EXTRA_INC),-isystem $(realpath $(MINI-OS_ROOT)/include/$(dir)))
-DEF_CPPFLAGS += -I$(realpath $(MINI-OS_ROOT)/include)
+DEF_CPPFLAGS += -isystem $(realpath $(MINI-OS_ROOT)/include)
DEF_CPPFLAGS += -D__MINIOS__
ifeq ($(libc),y)
DEF_CPPFLAGS += -DHAVE_LIBC
-DEF_CPPFLAGS += -I$(realpath $(MINI-OS_ROOT)/include/posix)
-DEF_CPPFLAGS += -I$(realpath $(XEN_ROOT)/tools/xenstore)
+DEF_CPPFLAGS += -isystem $(realpath $(MINI-OS_ROOT)/include/posix)
+DEF_CPPFLAGS += -isystem $(realpath $(XEN_ROOT)/tools/xenstore)
endif
ifneq ($(LWIPDIR),)
lwip=y
DEF_CPPFLAGS += -DHAVE_LWIP
-DEF_CPPFLAGS += -I$(LWIPDIR)/src/include
-DEF_CPPFLAGS += -I$(LWIPDIR)/src/include/ipv4
+DEF_CPPFLAGS += -isystem $(LWIPDIR)/src/include
+DEF_CPPFLAGS += -isystem $(LWIPDIR)/src/include/ipv4
endif
diff -r aab9fbd6ffa0 extras/mini-os/Makefile
--- a/extras/mini-os/Makefile Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/Makefile Thu Jul 10 12:16:12 2008 +0100
@@ -55,6 +55,8 @@
.PHONY: links
links: $(ARCH_LINKS)
[ -e include/xen ] || ln -sf ../../../xen/include/public include/xen
+ [ -e include/mini-os ] || ln -sf . include/mini-os
+ [ -e include/$(TARGET_ARCH_FAM)/mini-os ] || ln -sf . include/$(TARGET_ARCH_FAM)/mini-os
.PHONY: arch_lib
arch_lib:
@@ -89,7 +91,7 @@
endif
$(OBJ_DIR)/$(TARGET)_app.o: $(APP_OBJS) app.lds
- $(LD) -r -d $(LDFLAGS) $^ $(APP_LDLIBS) --undefined main -o $@
+ $(LD) -r -d $(LDFLAGS) -\( $^ -\) $(APP_LDLIBS) --undefined main -o $@
$(OBJ_DIR)/$(TARGET): links $(OBJS) $(OBJ_DIR)/$(TARGET)_app.o arch_lib
$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJ_DIR)/$(TARGET)_app.o $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o
diff -r aab9fbd6ffa0 extras/mini-os/include/arch/cc.h
--- a/extras/mini-os/include/arch/cc.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/arch/cc.h Thu Jul 10 12:16:12 2008 +0100
@@ -10,8 +10,8 @@
#define __LWIP_ARCH_CC_H__
/* Typedefs for the types used by lwip - */
-#include <os.h>
-#include <types.h>
+#include <mini-os/os.h>
+#include <mini-os/types.h>
#include <time.h>
typedef u8 u8_t;
typedef s8 s8_t;
@@ -46,7 +46,7 @@
/* If the compiler does not provide memset() this file must include a */
/* definition of it, or include a file which defines it. */
-#include <lib.h>
+#include <mini-os/lib.h>
/* This file must either include a system-local <errno.h> which defines */
/* the standard *nix error codes, or it should #define LWIP_PROVIDE_ERRNO */
diff -r aab9fbd6ffa0 extras/mini-os/include/arch/sys_arch.h
--- a/extras/mini-os/include/arch/sys_arch.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/arch/sys_arch.h Thu Jul 10 12:16:12 2008 +0100
@@ -9,9 +9,9 @@
#ifndef __LWIP_ARCH_SYS_ARCH_H__
#define __LWIP_ARCH_SYS_ARCH_H__
-#include <os.h>
-#include <xmalloc.h>
-#include <semaphore.h>
+#include <mini-os/os.h>
+#include <mini-os/xmalloc.h>
+#include <mini-os/semaphore.h>
typedef struct semaphore *sys_sem_t;
#define SYS_SEM_NULL ((sys_sem_t) NULL)
diff -r aab9fbd6ffa0 extras/mini-os/include/blkfront.h
--- a/extras/mini-os/include/blkfront.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/blkfront.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,6 +1,6 @@
-#include <wait.h>
+#include <mini-os/wait.h>
#include <xen/io/blkif.h>
-#include <types.h>
+#include <mini-os/types.h>
struct blkfront_dev;
struct blkfront_aiocb
{
diff -r aab9fbd6ffa0 extras/mini-os/include/byteswap.h
--- a/extras/mini-os/include/byteswap.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/byteswap.h Thu Jul 10 12:16:12 2008 +0100
@@ -3,7 +3,7 @@
/* Unfortunately not provided by newlib. */
-#include <types.h>
+#include <mini-os/types.h>
static inline uint16_t bswap_16(uint16_t x)
{
return
diff -r aab9fbd6ffa0 extras/mini-os/include/console.h
--- a/extras/mini-os/include/console.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/console.h Thu Jul 10 12:16:12 2008 +0100
@@ -36,8 +36,8 @@
#ifndef _LIB_CONSOLE_H_
#define _LIB_CONSOLE_H_
-#include<os.h>
-#include<traps.h>
+#include<mini-os/os.h>
+#include<mini-os/traps.h>
#include<stdarg.h>
void print(int direct, const char *fmt, va_list args);
diff -r aab9fbd6ffa0 extras/mini-os/include/err.h
--- a/extras/mini-os/include/err.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/err.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,7 +1,7 @@
#ifndef _ERR_H
#define _ERR_H
-#include <errno.h>
+#include <mini-os/errno.h>
/*
* Kernel pointers have redundant information, so we can use a
diff -r aab9fbd6ffa0 extras/mini-os/include/errno.h
--- a/extras/mini-os/include/errno.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/errno.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,7 +1,7 @@
#ifndef _ERRNO_H
#define _ERRNO_H
-#include <errno-base.h>
+#include <mini-os/errno-base.h>
typedef int error_t;
@@ -113,7 +113,7 @@
#define EFTYPE 132 /* Inappropriate file type or format */
#ifdef HAVE_LIBC
-#include <sched.h>
+#include <mini-os/sched.h>
extern int errno;
#define ERRNO
#define errno (get_current()->reent._errno)
diff -r aab9fbd6ffa0 extras/mini-os/include/events.h
--- a/extras/mini-os/include/events.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/events.h Thu Jul 10 12:16:12 2008 +0100
@@ -19,7 +19,7 @@
#ifndef _EVENTS_H_
#define _EVENTS_H_
-#include<traps.h>
+#include<mini-os/traps.h>
#include<xen/event_channel.h>
typedef void (*evtchn_handler_t)(evtchn_port_t, struct pt_regs *, void *);
diff -r aab9fbd6ffa0 extras/mini-os/include/fbfront.h
--- a/extras/mini-os/include/fbfront.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/fbfront.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,6 +1,6 @@
#include <xen/io/kbdif.h>
#include <xen/io/fbif.h>
-#include <wait.h>
+#include <mini-os/wait.h>
/* from <linux/input.h> */
#ifndef BTN_LEFT
diff -r aab9fbd6ffa0 extras/mini-os/include/fs.h
--- a/extras/mini-os/include/fs.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/fs.h Thu Jul 10 12:16:12 2008 +0100
@@ -2,8 +2,8 @@
#define __FS_H__
#include <xen/io/fsif.h>
-#include <semaphore.h>
-#include <types.h>
+#include <mini-os/semaphore.h>
+#include <mini-os/types.h>
struct fs_import
{
diff -r aab9fbd6ffa0 extras/mini-os/include/hypervisor.h
--- a/extras/mini-os/include/hypervisor.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/hypervisor.h Thu Jul 10 12:16:12 2008 +0100
@@ -13,7 +13,7 @@
#ifndef _HYPERVISOR_H_
#define _HYPERVISOR_H_
-#include <types.h>
+#include <mini-os/types.h>
#include <xen/xen.h>
#if defined(__i386__)
#include <hypercall-x86_32.h>
@@ -24,7 +24,7 @@
#else
#error "Unsupported architecture"
#endif
-#include <traps.h>
+#include <mini-os/traps.h>
/*
* a placeholder for the start of day information passed up from the hypervisor
diff -r aab9fbd6ffa0 extras/mini-os/include/ia64/atomic.h
--- a/extras/mini-os/include/ia64/atomic.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/ia64/atomic.h Thu Jul 10 12:16:12 2008 +0100
@@ -38,7 +38,7 @@
#if !defined(__ASSEMBLY__)
-#include <types.h>
+#include <mini-os/types.h>
/*
diff -r aab9fbd6ffa0 extras/mini-os/include/ia64/efi.h
--- a/extras/mini-os/include/ia64/efi.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/ia64/efi.h Thu Jul 10 12:16:12 2008 +0100
@@ -32,7 +32,7 @@
#ifndef _EFI_H_
#define _EFI_H_
-#include "types.h"
+#include <mini-os/types.h>
#define EFIWARN(a) (a)
diff -r aab9fbd6ffa0 extras/mini-os/include/ia64/endian.h
--- a/extras/mini-os/include/ia64/endian.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/ia64/endian.h Thu Jul 10 12:16:12 2008 +0100
@@ -26,7 +26,7 @@
#if !defined(_ENDIAN_H_)
#define _ENDIAN_H_
-#include "types.h"
+#include <mini-os/types.h>
#if !defined(__ASSEMBLY__)
diff -r aab9fbd6ffa0 extras/mini-os/include/ia64/hypercall-ia64.h
--- a/extras/mini-os/include/ia64/hypercall-ia64.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/ia64/hypercall-ia64.h Thu Jul 10 12:16:12 2008 +0100
@@ -34,8 +34,8 @@
#ifndef __HYPERCALL_H__
#define __HYPERCALL_H__
-#include "lib.h" /* memcpy() */
-#include "errno.h" /* ENOSYS() */
+#include <mini-os/lib.h> /* memcpy() */
+#include <mini-os/errno.h> /* ENOSYS() */
#include <xen/event_channel.h>
#include <xen/sched.h>
#include <xen/version.h>
diff -r aab9fbd6ffa0 extras/mini-os/include/ia64/os.h
--- a/extras/mini-os/include/ia64/os.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/ia64/os.h Thu Jul 10 12:16:12 2008 +0100
@@ -27,15 +27,15 @@
#if !defined(__ASSEMBLY__)
-#include "types.h"
+#include <mini-os/types.h>
#include "endian.h"
#include "ia64_cpu.h"
#include "atomic.h"
#include "efi.h"
#include "sal.h"
#include "pal.h"
-#include "hypervisor.h"
-#include <kernel.h>
+#include <mini-os/hypervisor.h>
+#include <mini-os/kernel.h>
typedef uint64_t paddr_t; /* Physical address. */
diff -r aab9fbd6ffa0 extras/mini-os/include/lib.h
--- a/extras/mini-os/include/lib.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/lib.h Thu Jul 10 12:16:12 2008 +0100
@@ -99,13 +99,13 @@
char * strcat(char * dest, const char * src);
char *strdup(const char *s);
#endif
-#include <console.h>
+#include <mini-os/console.h>
#define RAND_MIX 2654435769U
int rand(void);
-#include <xenbus.h>
+#include <mini-os/xenbus.h>
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
diff -r aab9fbd6ffa0 extras/mini-os/include/linux/types.h
--- a/extras/mini-os/include/linux/types.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/linux/types.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,5 +1,5 @@
#ifndef _LINUX_TYPES_H_
#define _LINUX_TYPES_H_
-#include <types.h>
+#include <mini-os/types.h>
typedef u64 __u64;
#endif /* _LINUX_TYPES_H_ */
diff -r aab9fbd6ffa0 extras/mini-os/include/mm.h
--- a/extras/mini-os/include/mm.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/mm.h Thu Jul 10 12:16:12 2008 +0100
@@ -35,10 +35,10 @@
#error "Unsupported architecture"
#endif
-#include <lib.h>
+#include <mini-os/lib.h>
-#include <arch_limits.h>
-#include <arch_mm.h>
+#include <mini-os/arch_limits.h>
+#include <mini-os/arch_mm.h>
#define STACK_SIZE_PAGE_ORDER __STACK_SIZE_PAGE_ORDER
#define STACK_SIZE __STACK_SIZE
diff -r aab9fbd6ffa0 extras/mini-os/include/netfront.h
--- a/extras/mini-os/include/netfront.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/netfront.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,4 +1,4 @@
-#include <wait.h>
+#include <mini-os/wait.h>
#ifdef HAVE_LWIP
#include <lwip/netif.h>
#endif
diff -r aab9fbd6ffa0 extras/mini-os/include/pcifront.h
--- a/extras/mini-os/include/pcifront.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/pcifront.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,4 +1,4 @@
-#include <types.h>
+#include <mini-os/types.h>
#include <xen/io/pciif.h>
struct pcifront_dev;
struct pcifront_dev *init_pcifront(char *nodename);
diff -r aab9fbd6ffa0 extras/mini-os/include/posix/limits.h
--- a/extras/mini-os/include/posix/limits.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/posix/limits.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,7 +1,7 @@
#ifndef _POSIX_LIMITS_H
#define _POSIX_LIMITS_H
-#include <arch_limits.h>
+#include <mini-os/arch_limits.h>
#define CHAR_BIT 8
diff -r aab9fbd6ffa0 extras/mini-os/include/posix/sys/select.h
--- a/extras/mini-os/include/posix/sys/select.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/posix/sys/select.h Thu Jul 10 12:16:12 2008 +0100
@@ -2,6 +2,7 @@
#define _POSIX_SELECT_H
#include <sys/time.h>
+#include <lwip/sockets.h>
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
#endif /* _POSIX_SELECT_H */
diff -r aab9fbd6ffa0 extras/mini-os/include/posix/unistd.h
--- a/extras/mini-os/include/posix/unistd.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/posix/unistd.h Thu Jul 10 12:16:12 2008 +0100
@@ -2,8 +2,7 @@
#define _POSIX_UNISTD_H
#include_next <unistd.h>
-#include <sys/select.h>
-#include <arch_limits.h>
+#include <mini-os/arch_limits.h>
#define getpagesize() __PAGE_SIZE
diff -r aab9fbd6ffa0 extras/mini-os/include/sched.h
--- a/extras/mini-os/include/sched.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/sched.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,9 +1,12 @@
#ifndef __SCHED_H__
#define __SCHED_H__
-#include <list.h>
-#include <time.h>
-#include <arch_sched.h>
+#include <mini-os/list.h>
+#include <mini-os/time.h>
+#include <mini-os/arch_sched.h>
+#ifdef HAVE_LIBC
+#include <sys/reent.h>
+#endif
struct thread
{
diff -r aab9fbd6ffa0 extras/mini-os/include/semaphore.h
--- a/extras/mini-os/include/semaphore.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/semaphore.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,8 +1,8 @@
#ifndef _SEMAPHORE_H_
#define _SEMAPHORE_H_
-#include <wait.h>
-#include <spinlock.h>
+#include <mini-os/wait.h>
+#include <mini-os/spinlock.h>
/*
* Implementation of semaphore in Mini-os is simple, because
diff -r aab9fbd6ffa0 extras/mini-os/include/spinlock.h
--- a/extras/mini-os/include/spinlock.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/spinlock.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,7 +1,7 @@
#ifndef __ASM_SPINLOCK_H
#define __ASM_SPINLOCK_H
-#include <lib.h>
+#include <mini-os/lib.h>
/*
* Your basic SMP spinlocks, allowing only a single CPU anywhere
@@ -12,7 +12,7 @@
} spinlock_t;
-#include "arch_spinlock.h"
+#include <mini-os/arch_spinlock.h>
#define SPINLOCK_MAGIC 0xdead4ead
diff -r aab9fbd6ffa0 extras/mini-os/include/sys/lock.h
--- a/extras/mini-os/include/sys/lock.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/sys/lock.h Thu Jul 10 12:16:12 2008 +0100
@@ -5,7 +5,7 @@
/* Due to inclusion loop, we can not include sched.h, so have to hide things */
-#include <waittypes.h>
+#include <mini-os/waittypes.h>
typedef struct {
diff -r aab9fbd6ffa0 extras/mini-os/include/time.h
--- a/extras/mini-os/include/time.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/time.h Thu Jul 10 12:16:12 2008 +0100
@@ -19,7 +19,7 @@
#ifndef _MINIOS_TIME_H_
#define _MINIOS_TIME_H_
-#include <types.h>
+#include <mini-os/types.h>
/*
* System Time
diff -r aab9fbd6ffa0 extras/mini-os/include/wait.h
--- a/extras/mini-os/include/wait.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/wait.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,9 +1,9 @@
#ifndef __WAIT_H__
#define __WAIT_H__
-#include <sched.h>
-#include <os.h>
-#include <waittypes.h>
+#include <mini-os/sched.h>
+#include <mini-os/os.h>
+#include <mini-os/waittypes.h>
#define DEFINE_WAIT(name) \
struct wait_queue name = { \
diff -r aab9fbd6ffa0 extras/mini-os/include/waittypes.h
--- a/extras/mini-os/include/waittypes.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/waittypes.h Thu Jul 10 12:16:12 2008 +0100
@@ -1,7 +1,7 @@
#ifndef __WAITTYPE_H__
#define __WAITTYPE_H__
-#include <list.h>
+#include <mini-os/list.h>
struct thread;
struct wait_queue
diff -r aab9fbd6ffa0 extras/mini-os/include/x86/arch_sched.h
--- a/extras/mini-os/include/x86/arch_sched.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/x86/arch_sched.h Thu Jul 10 12:16:12 2008 +0100
@@ -2,7 +2,7 @@
#ifndef __ARCH_SCHED_H__
#define __ARCH_SCHED_H__
-#include <arch_limits.h>
+#include "arch_limits.h"
static inline struct thread* get_current(void)
{
diff -r aab9fbd6ffa0 extras/mini-os/include/x86/arch_spinlock.h
--- a/extras/mini-os/include/x86/arch_spinlock.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/x86/arch_spinlock.h Thu Jul 10 12:16:12 2008 +0100
@@ -3,7 +3,7 @@
#ifndef __ARCH_ASM_SPINLOCK_H
#define __ARCH_ASM_SPINLOCK_H
-#include <lib.h>
+#include <mini-os/lib.h>
#include "os.h"
diff -r aab9fbd6ffa0 extras/mini-os/include/x86/os.h
--- a/extras/mini-os/include/x86/os.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/x86/os.h Thu Jul 10 12:16:12 2008 +0100
@@ -16,9 +16,9 @@
#ifndef __ASSEMBLY__
-#include <types.h>
-#include <hypervisor.h>
-#include <kernel.h>
+#include <mini-os/types.h>
+#include <mini-os/hypervisor.h>
+#include <mini-os/kernel.h>
#define USED __attribute__ ((used))
diff -r aab9fbd6ffa0 extras/mini-os/include/x86/x86_32/hypercall-x86_32.h
--- a/extras/mini-os/include/x86/x86_32/hypercall-x86_32.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/x86/x86_32/hypercall-x86_32.h Thu Jul 10 12:16:12 2008 +0100
@@ -33,7 +33,7 @@
#include <xen/xen.h>
#include <xen/sched.h>
#include <xen/nmi.h>
-#include <mm.h>
+#include <mini-os/mm.h>
#define __STR(x) #x
#define STR(x) __STR(x)
diff -r aab9fbd6ffa0 extras/mini-os/include/x86/x86_64/hypercall-x86_64.h
--- a/extras/mini-os/include/x86/x86_64/hypercall-x86_64.h Thu Jul 10 11:26:42 2008 +0100
+++ b/extras/mini-os/include/x86/x86_64/hypercall-x86_64.h Thu Jul 10 12:16:12 2008 +0100
@@ -36,7 +36,7 @@
#include <xen/xen.h>
#include <xen/sched.h>
-#include <mm.h>
+#include <mini-os/mm.h>
#define __STR(x) #x
#define STR(x) __STR(x)
diff -r aab9fbd6ffa0 stubdom/Makefile
--- a/stubdom/Makefile Thu Jul 10 11:26:42 2008 +0100
+++ b/stubdom/Makefile Thu Jul 10 12:16:13 2008 +0100
@@ -3,11 +3,13 @@
export XEN_OS=MiniOS
+CONFIG_QEMU=ioemu
+
export stubdom=y
export debug=y
include $(XEN_ROOT)/Config.mk
-IOEMU_OPTIONS=--disable-vnc-tls
+IOEMU_OPTIONS=--disable-sdl --disable-opengl --disable-gfx-check --disable-vnc-tls --disable-brlapi --disable-kqemu
ZLIB_VERSION=1.2.3
LIBPCI_VERSION=2.2.9
NEWLIB_VERSION=1.16.0
@@ -48,10 +51,12 @@
# Do not use host headers and libs
GCC_INSTALL = $(shell gcc -print-search-dirs | sed -n -e 's/install: \(.*\)/\1/p')
TARGET_CPPFLAGS += -U __linux__ -U __FreeBSD__ -U __sun__
-TARGET_CFLAGS += -nostdinc
-TARGET_CPPFLAGS += -isystem $(realpath $(MINI_OS)/include/posix)
+TARGET_CPPFLAGS += -nostdinc
+TARGET_CPPFLAGS += -isystem $(abspath $(MINI_OS)/include/posix)
TARGET_CPPFLAGS += -isystem $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include
TARGET_CPPFLAGS += -isystem $(GCC_INSTALL)include
+TARGET_CPPFLAGS += -isystem $(CURDIR)/lwip-cvs/src/include
+TARGET_CPPFLAGS += -isystem $(CURDIR)/lwip-cvs/src/include/ipv4
TARGET_CPPFLAGS += -I$(CURDIR)/include
TARGET_LDFLAGS += -nostdlib -L$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib
@@ -149,6 +154,7 @@
mk-headers:
mkdir -p include/xen && \
ln -sf $(addprefix ../../,$(wildcard $(XEN_ROOT)/xen/include/public/*.h)) include/xen && \
+ ln -sf $(addprefix ../../$(XEN_ROOT)/xen/include/public/,arch-ia64 arch-x86 hvm io xsm) include/xen && \
( [ -h include/xen/sys ] || ln -sf ../../$(XEN_ROOT)/tools/include/xen-sys/MiniOS include/xen/sys ) && \
mkdir -p include/xen-foreign && \
ln -sf $(addprefix ../../,$(wildcard $(XEN_ROOT)/tools/include/xen-foreign/*)) include/xen-foreign/ && \
@@ -165,10 +171,21 @@
ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/*.h . && \
ln -sf ../$(XEN_ROOT)/tools/libxc/$(XEN_TARGET_ARCH)/Makefile . )
mkdir -p ioemu
+ifeq ($(CONFIG_QEMU),ioemu)
[ -h ioemu/Makefile ] || ( cd ioemu && \
- ln -sf ../$(XEN_ROOT)/tools/ioemu/* . && \
- ([ ! -h config-host.h ] || rm -f config-host.h) && \
- ([ ! -h config-host.mak ] || rm -f config-host.mak) )
+ ln -sf ../$(XEN_ROOT)/tools/ioemu/* .)
+else
+ [ -h ioemu/Makefile ] || ( cd ioemu && \
+ ln -sf $(CONFIG_QEMU)/* . && \
+ rm -fr i386-dm && \
+ rm -fr i386-stubdom && \
+ mkdir i386-dm && \
+ mkdir i386-stubdom && \
+ ln -sf $(CONFIG_QEMU)/i386-dm/* i386-dm/ && \
+ ln -sf $(CONFIG_QEMU)/i386-stubdom/* i386-stubdom/ )
+endif
+ [ ! -h ioemu/config-host.h ] || rm -f ioemu/config-host.h
+ [ ! -h ioemu/config-host.mak ] || rm -f ioemu/config-host.mak
$(MAKE) -C $(MINI_OS) links
TARGETS_MINIOS=$(addprefix mini-os-,$(TARGETS))
@@ -193,10 +210,17 @@
.PHONY: ioemu
ioemu: cross-zlib cross-libpci mk-headers libxc
+ifeq ($(CONFIG_QEMU),ioemu)
[ -f ioemu/config-host.mak ] || \
( cd ioemu ; \
XEN_TARGET_ARCH=$(XEN_TARGET_ARCH) CFLAGS="$(TARGET_CFLAGS)" sh configure --prefix=/usr --enable-stubdom $(IOEMU_OPTIONS))
CPPFLAGS="$(TARGET_CPPFLAGS)" $(MAKE) -C ioemu LWIPDIR=$(CURDIR)/lwip-cvs TOOLS=
+else
+ [ -f ioemu/config-host.mak ] || \
+ ( cd ioemu ; \
+ CONFIG_STUBDOM=yes XEN_ROOT=$(abspath $(XEN_ROOT)) XEN_TARGET_ARCH=$(XEN_TARGET_ARCH) CFLAGS="$(TARGET_CFLAGS)" sh ./xen-setup --cc=$(CC) --disable-gcc-check $(IOEMU_OPTIONS))
+ CPPFLAGS= TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" $(MAKE) -C ioemu LWIPDIR=$(CURDIR)/lwip-cvs TOOLS= CONFIG_STUBDOM=yes
+endif
######
# caml
@@ -233,8 +257,13 @@
########
.PHONY: ioemu-stubdom
+ifeq ($(CONFIG_QEMU),ioemu)
+ioemu-stubdom: APP_OBJS=$(CURDIR)/ioemu/i386-dm-stubdom/qemu.a $(CURDIR)/ioemu/i386-dm-stubdom/libqemu.a
+else
+ioemu-stubdom: APP_OBJS=$(CURDIR)/ioemu/i386-stubdom/qemu.a $(CURDIR)/ioemu/i386-stubdom/libqemu.a $(CURDIR)/ioemu/libqemu_common.a
+endif
ioemu-stubdom: mini-os-ioemu lwip-cvs libxc ioemu
- DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="-DCONFIG_QEMU $(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-cvs APP_OBJS="$(CURDIR)/ioemu/i386-dm-stubdom/qemu.a $(CURDIR)/ioemu/i386-dm-stubdom/libqemu.a"
+ DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="-DCONFIG_QEMU $(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-cvs APP_OBJS="$(APP_OBJS)"
CAMLLIB = $(shell ocamlc -where)
.PHONY: caml-stubdom
@@ -302,7 +331,7 @@
# clean downloads
.PHONY: downloadclean
downloadclean: patchclean
- rm -f newlib-$(ZLIB_VERSION).tar.gz
+ rm -f newlib-$(NEWLIB_VERSION).tar.gz
rm -f zlib-$(ZLIB_VERSION).tar.gz
rm -f pciutils-$(LIBPCI_VERSION).tar.bz2
reply other threads:[~2008-07-10 11:28 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080710112849.GN4536@implementation.uk.xensource.com \
--to=samuel.thibault@eu.citrix.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.