[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] Arch dependent tools/libxc?



Thanks Ian, and attached is the patch to do that change. I'm not expert
in Makefile, so feel free to pin me for better solution. :-)
=============================
        Libxc is the part coupling with platform context most tightly,
with some files which should be made arch dependent. Obvious example is
xc_***_build.c, which should behave upon vcpu_guest_context_t defined by
different platform.

        Following patch is trying to move those files into arch
dependent directory. I only addressed 7 files by far, because
compilation succeeds on IPF simply after solving them. Since there's no
distinct boundary between them and other files, I'm lazy to add another
Makefile under arch-dep directory. Also no change to compile option
since they works fine on x86 and IPF currentlys.

        To reduce the size of patch, a trick is used to move files when
first compilation. After that, you can simply remove 8 lines leading by
"TEMP" comment. IPF related changes will be sent to Dan later.

Signed-off-by Kevin Tian (Kevin.tian@xxxxxxxxx)

--- trunk.org/tools/libxc/Makefile      2005-05-09 16:01:18.000000000
+0800
+++ trunk/tools/libxc/Makefile  2005-05-18 20:35:01.000000000 +0800
@@ -21,16 +21,13 @@ SRCS     += xc_domain.c
 SRCS     += xc_evtchn.c
 SRCS     += xc_gnttab.c
 SRCS     += xc_io.c
-SRCS     += xc_linux_build.c
-SRCS     += xc_plan9_build.c
-SRCS     += xc_linux_restore.c
-SRCS     += xc_linux_save.c
 SRCS     += xc_misc.c
 SRCS     += xc_physdev.c
 SRCS     += xc_private.c
-SRCS     += xc_ptrace.c
-SRCS     += xc_vmx_build.c
 
+SRCS     += $(wildcard $(COMPILE_ARCH)/*.c)
+
+vpath %.c      $(COMPILE_ARCH)
 CFLAGS   += -Wall
 CFLAGS   += -Werror
 CFLAGS   += -O3
@@ -67,6 +64,15 @@ mk-symlinks:
           ln -sf ../../$(XEN_ROOT)/xen/include/public/io/*.h . )
        ( cd xen/linux >/dev/null ; \
          ln -sf ../../$(LINUX_ROOT)/include/asm-xen/linux-public/*.h .
)
+#TEMP: Please delete following lines after applying the patch
+       [ -e $(COMPILE_ARCH) ] || mkdir -p $(COMPILE_ARCH)/
+       [ ! -e xc_linux_build.c ] || mv xc_linux_build.c
$(COMPILE_ARCH)/
+       [ ! -e xc_plan9_build.c ] || mv xc_plan9_build.c
$(COMPILE_ARCH)/
+       [ ! -e xc_vmx_build.c ] || mv xc_vmx_build.c $(COMPILE_ARCH)/
+       [ ! -e xc_linux_save.c ] || mv xc_linux_save.c $(COMPILE_ARCH)/
+       [ ! -e xc_linux_restore.c ] || mv xc_linux_restore.c
$(COMPILE_ARCH)/
+       [ ! -e xc_ptrace.c ] || mv xc_ptrace.c $(COMPILE_ARCH)/
+       [ ! -e linux_boot_params.h ] || mv linux_boot_params.h
$(COMPILE_ARCH)/
 
 install: build
        [ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR)
$(DESTDIR)/usr/$(LIBDIR)
@@ -83,7 +89,7 @@ TAGS:
        etags -t $(SRCS) *.h
 
 clean:
-       rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
+       rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
$(COMPILE_ARCH)/*.o $(COMPILE_ARCH)/*.opic
 
 rpm: build
        rm -rf staging

Thanks,
Kevin
>-----Original Message-----
>From: Ian Pratt [mailto:m+Ian.Pratt@xxxxxxxxxxxx]
>Sent: Wednesday, May 18, 2005 3:08 PM
>To: Tian, Kevin; xen-devel@xxxxxxxxxxxxxxxxxxx
>Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx; ian.pratt@xxxxxxxxxxxx
>Subject: RE: [Xen-devel] Arch dependent tools/libxc?
>
>
>> Hi, list,
>>      When trying to add support for multiple domains on
>> IPF/VTI, immediately we realized current tools/libxc too x86
>> specific, like xc_linux_build.c, xc_linux_save.c, etc. which
>> are always compiled assumed upon x86 vcpu_guest_context_t.
>> Ideally they should only be compiled upon specific platform.
>>
>>      One solution is to add bunch of boring "ifdef
>> __x86_32... ifdef __ia64__" in Makefile, which however gonna
>> pollute many places. Since tools/libxc is the place coupled
>> with arch context most tightly, a better option may be to
>> move those files into arch dependent directory like
>> tools/libxc/{x86, ia64, etc}:
>> Xc_linux_build.c
>> Xc_plan9_build.c
>> Xc_vmx_build.c
>> Xc_linux_save.c
>> Xc_linux_restore.c
>> Xc_ptrace.c
>> Xc_ptrace_core.c
>> And some header files like linux_boot_params.h
>
>Yep, this needs to happen.
>
>Ian

Attachment: patch_libxc_arch_dep
Description: patch_libxc_arch_dep

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.