stubdom: make compilation independent of tools/ by building our own copy of the includes
PATCH 1/1 stubdom: make compilation independent of tools/ by building our own copy of the includes
stubdom: make compilation independent of tools/ by building our own copy of the includes
Signed-off-by Samuel Thibault <[email protected]>
stubdom/Makefile +15 -8
@@ -54,6 +54,7 @@ TARGET_CPPFLAGS += -isystem $(realpath $(MINI_OS)/include/posix) TARGET_CPPFLAGS += -isystem $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include TARGET_CPPFLAGS += -isystem $(GCC_INSTALL)include +TARGET_CPPFLAGS += -I$(CURDIR)/include TARGET_LDFLAGS += -nostdlib -L$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib
@@ -145,9 +146,15 @@ .PHONY: $(CROSS_ROOT) $(CROSS_ROOT): cross-newlib cross-zlib cross-libpci -.PHONY: mk-symlinks -mk-symlinks: - [ -h include ] || ln -sf ../tools/include . +.PHONY: mk-headers +mk-headers: + mkdir -p include/xen && \ + ln -sf $(addprefix ../../,$(wildcard $(XEN_ROOT)/xen/include/public/*.h)) 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/ && \ + $(MAKE) -C include/xen-foreign/ && \ + ( [ -h include/xen/foreign ] || ln -sf ../xen-foreign include/xen/foreign ) mkdir -p libxc [ -h libxc/Makefile ] || ( cd libxc && \ ln -sf ../$(XEN_ROOT)/tools/libxc/*.h . && \
@@ -178,7 +185,7 @@ .PHONY: libxc libxc: libxc/libxenctrl.a libxc/libxenguest.a -libxc/libxenctrl.a libxc/libxenguest.a:: cross-zlib mk-symlinks +libxc/libxenctrl.a libxc/libxenguest.a:: cross-zlib mk-headers CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C libxc #######
@@ -186,7 +193,7 @@ ####### .PHONY: ioemu -ioemu: cross-zlib cross-libpci mk-symlinks libxc +ioemu: cross-zlib cross-libpci mk-headers libxc [ -f ioemu/config-host.mak ] || \ ( cd ioemu ; \ XEN_TARGET_ARCH=$(XEN_TARGET_ARCH) CFLAGS="$(TARGET_CFLAGS)" sh configure --prefix=/usr --enable-stubdom $(IOEMU_OPTIONS))
@@ -197,7 +204,7 @@ ###### .PHONY: caml -caml: cross-newlib mk-symlinks +caml: cross-newlib mk-headers CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@ LWIPDIR=$(CURDIR)/lwip-cvs ###
@@ -205,7 +212,7 @@ ### .PHONY: c -c: cross-newlib mk-symlinks +c: cross-newlib mk-headers CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@ LWIPDIR=$(CURDIR)/lwip-cvs ######
@@ -219,7 +226,7 @@ done .PHONY: grub -grub: grub-cvs cross-newlib mk-symlinks +grub: grub-cvs cross-newlib mk-headers CPPFLAGS="$(TARGET_CPPFLAGS)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) -C $@ ########
tools/include/xen-sys/MiniOS/privcmd.h new file +18 -0
@@ -0,0 +1,18 @@ +#ifndef __MINIOS_PUBLIC_PRIVCMD_H__ +#define __MINIOS_PUBLIC_PRIVCMD_H__ + +#include <sys/types.h> + +typedef struct privcmd_hypercall +{ +u64 op; +u64 arg[5 ]; +}privcmd_hypercall_t ; + +typedef struct privcmd_mmap_entry { +u64 va; +u64 mfn; +u64 npages; +}privcmd_mmap_entry_t ; + +#endif /* __MINIOS_PUBLIC_PRIVCMD_H__ */