From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Frank, Chen" Subject: Re: [XenARM] [help] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git Date: Mon, 6 Feb 2012 09:00:20 +0800 (CST) Message-ID: <615d9ada.f06d.135502cfcf8.Coremail.chysun2000@163.com> References: <9e3a3f3.470c.135325af644.Coremail.chysun2000@163.com> <1328002610.26983.302.camel@zakaz.uk.xensource.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6694128086188554377==" Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Stefano Stabellini Cc: "xen-arm@lists.xensource.com" , xen-devel@lists.xensource.com, Ian Campbell List-Id: xen-devel@lists.xenproject.org --===============6694128086188554377== Content-Type: multipart/alternative; boundary="----=_Part_193452_45161644.1328490020087" ------=_Part_193452_45161644.1328490020087 Content-Type: text/plain; charset=GBK Content-Transfer-Encoding: 7bit Hi Xen-ARMs, I applied this patch, "error: unknown type name 'xen_callback_t' is fixed. But I still meet the problem. The problem is where to download the cross compiler "arm-none-linux-gnueabi-gcc" which supports march=arm-V7a and mcpu=cortex-a15. Would someone give me one avaiable URL to download the right compiler? Best Regards, Frank -- At 2012-01-31 22:51:29,"Stefano Stabellini" wrote: >On Tue, 31 Jan 2012, Ian Campbell wrote: >> > make[3]: Entering directory >> > `/home/frank/workspace/xen/src/xen-arm-v6/xen/include' >> > for i in public/callback.h public/dom0_ops.h public/elfnote.h >> > public/event_channel.h public/features.h public/grant_table.h >> > public/kexec.h public/mem_event.h public/memory.h public/nmi.h >> > public/physdev.h public/platform.h public/sched.h public/tmem.h >> > public/trace.h public/vcpu.h public/version.h public/xen-compat.h >> > public/xen.h public/xencomm.h public/xenoprof.h public/hvm/e820.h >> > public/hvm/hvm_info_table.h public/hvm/hvm_op.h public/hvm/ioreq.h >> > public/hvm/params.h public/io/blkif.h public/io/console.h >> > public/io/fbif.h public/io/fsif.h public/io/kbdif.h >> > public/io/libxenvchan.h public/io/netif.h public/io/pciif.h >> > public/io/protocols.h public/io/ring.h public/io/tpmif.h >> > public/io/usbif.h public/io/vscsiif.h public/io/xenbus.h >> > public/io/xs_wire.h; do arm-linux-gnueabi-gcc -ansi -include stdint.h >> > -Wall -W -Werror -S -o /dev/null -xc $i || exit 1; echo $i; done >> > >headers.chk.new >> > public/callback.h:87:5: error: unknown type name 'xen_callback_t' >> >> At this point I get: >> [ -e include/asm ] || ln -sf asm-arm include/asm >> make -f /local/scratch/ianc/devel/arm/xen-unstable/xen/Rules.mk -C include >> make[3]: Entering directory `/local/scratch/ianc/devel/arm/xen-unstable/xen/include' >> make[3]: Nothing to be done for `all'. >> make[3]: Leaving directory `/local/scratch/ianc/devel/arm/xen-unstable/xen/include' >> >> Aha -- the difference is down to XEN_TARGET_ARCH vs. XEN_COMPILE_ARCH, >> see towards the end of xen/include/Makefile: >> ifeq ($(XEN_TARGET_ARCH),$(XEN_COMPILE_ARCH)) >> ... >> all: headers.chk >> ... >> >> I'm inferring from the Makefile that: >> XEN_COMPILE_ARCH == the host architecture -- e.g. the machine you are >> compiling on >> XEN_TARGET_ARCH == the target architecture -- e.g. the machine you want >> to run the resulting Xen on. >> >> And indeed if I do a native build on an arm system I see the same error >> as you do. We'll look at fixing this but in the meantime I suggest you >> use XEN_TARGET_ARCH and not XEN_COMPILE_ARCH. > >The following patch fixes the compile issue (that indeed is due to the >header files check you pointed out). > >--- > >arm: few missing #define > >Few missing #define are the cause of a compile failure with >XEN_TARGET_ARM=arm and XEN_COMPILE_ARM=arm (for example in the case of a >native compilation). This patch fill the gaps. > >Signed-off-by: Stefano Stabellini > >diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h >index c430cf3..e04c4fd 100644 >--- a/xen/include/public/arch-arm.h >+++ b/xen/include/public/arch-arm.h >@@ -110,6 +110,8 @@ typedef struct arch_vcpu_info arch_vcpu_info_t; > > struct arch_shared_info { }; > typedef struct arch_shared_info arch_shared_info_t; >+typedef unsigned long xen_callback_t; >+ > #endif > > #endif /* __XEN_PUBLIC_ARCH_ARM_H__ */ >diff --git a/xen/include/public/io/protocols.h b/xen/include/public/io/protocols.h >index 77bd1bd..0b7a2ea 100644 >--- a/xen/include/public/io/protocols.h >+++ b/xen/include/public/io/protocols.h >@@ -26,6 +26,7 @@ > #define XEN_IO_PROTO_ABI_X86_32 "x86_32-abi" > #define XEN_IO_PROTO_ABI_X86_64 "x86_64-abi" > #define XEN_IO_PROTO_ABI_IA64 "ia64-abi" >+#define XEN_IO_PROTO_ABI_ARM "arm-abi" > > #if defined(__i386__) > # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_32 >@@ -33,6 +34,8 @@ > # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_64 > #elif defined(__ia64__) > # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_IA64 >+#elif defined(__arm__) >+# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_ARM > #else > # error arch fixup needed here > #endif ------=_Part_193452_45161644.1328490020087 Content-Type: text/html; charset=GBK Content-Transfer-Encoding: 7bit
Hi Xen-ARMs,
 
I applied this patch, "error: unknown type name 'xen_callback_t' is fixed. But I still meet the problem. The problem is where to download the cross compiler "arm-none-linux-gnueabi-gcc" which supports march=arm-V7a and mcpu=cortex-a15.
 
Would someone give me one avaiable URL to download the right compiler? 
Best Regards,
Frank
--


At 2012-01-31 22:51:29,"Stefano Stabellini" <stefano.stabellini@eu.citrix.com> wrote: >On Tue, 31 Jan 2012, Ian Campbell wrote: >> > make[3]: Entering directory >> > `/home/frank/workspace/xen/src/xen-arm-v6/xen/include' >> > for i in public/callback.h public/dom0_ops.h public/elfnote.h >> > public/event_channel.h public/features.h public/grant_table.h >> > public/kexec.h public/mem_event.h public/memory.h public/nmi.h >> > public/physdev.h public/platform.h public/sched.h public/tmem.h >> > public/trace.h public/vcpu.h public/version.h public/xen-compat.h >> > public/xen.h public/xencomm.h public/xenoprof.h public/hvm/e820.h >> > public/hvm/hvm_info_table.h public/hvm/hvm_op.h public/hvm/ioreq.h >> > public/hvm/params.h public/io/blkif.h public/io/console.h >> > public/io/fbif.h public/io/fsif.h public/io/kbdif.h >> > public/io/libxenvchan.h public/io/netif.h public/io/pciif.h >> > public/io/protocols.h public/io/ring.h public/io/tpmif.h >> > public/io/usbif.h public/io/vscsiif.h public/io/xenbus.h >> > public/io/xs_wire.h; do arm-linux-gnueabi-gcc -ansi -include stdint.h >> > -Wall -W -Werror -S -o /dev/null -xc $i || exit 1; echo $i; done >> > >headers.chk.new >> > public/callback.h:87:5: error: unknown type name 'xen_callback_t' >>  >> At this point I get: >> [ -e include/asm ] || ln -sf asm-arm include/asm >> make -f /local/scratch/ianc/devel/arm/xen-unstable/xen/Rules.mk -C include >> make[3]: Entering directory `/local/scratch/ianc/devel/arm/xen-unstable/xen/include' >> make[3]: Nothing to be done for `all'. >> make[3]: Leaving directory `/local/scratch/ianc/devel/arm/xen-unstable/xen/include' >>  >> Aha -- the difference is down to XEN_TARGET_ARCH vs. XEN_COMPILE_ARCH, >> see towards the end of xen/include/Makefile: >>         ifeq ($(XEN_TARGET_ARCH),$(XEN_COMPILE_ARCH)) >>         ... >>         all: headers.chk >>         ... >>  >> I'm inferring from the Makefile that: >> XEN_COMPILE_ARCH == the host architecture -- e.g. the machine you are >>  compiling on >> XEN_TARGET_ARCH == the target architecture -- e.g. the machine you want  >>  to run the resulting Xen on. >>  >> And indeed if I do a native build on an arm system I see the same error >> as you do. We'll look at fixing this but in the meantime I suggest you >> use XEN_TARGET_ARCH and not XEN_COMPILE_ARCH. > >The following patch fixes the compile issue (that indeed is due to the >header files check you pointed out). > >--- > >arm: few missing #define > >Few missing #define are the cause of a compile failure with >XEN_TARGET_ARM=arm and XEN_COMPILE_ARM=arm (for example in the case of a >native compilation). This patch fill the gaps. > >Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > >diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h >index c430cf3..e04c4fd 100644 >--- a/xen/include/public/arch-arm.h >+++ b/xen/include/public/arch-arm.h >@@ -110,6 +110,8 @@ typedef struct arch_vcpu_info arch_vcpu_info_t; >  > struct arch_shared_info { }; > typedef struct arch_shared_info arch_shared_info_t; >+typedef unsigned long xen_callback_t; >+ > #endif >  > #endif /*  __XEN_PUBLIC_ARCH_ARM_H__ */ >diff --git a/xen/include/public/io/protocols.h b/xen/include/public/io/protocols.h >index 77bd1bd..0b7a2ea 100644 >--- a/xen/include/public/io/protocols.h >+++ b/xen/include/public/io/protocols.h >@@ -26,6 +26,7 @@ > #define XEN_IO_PROTO_ABI_X86_32     "x86_32-abi" > #define XEN_IO_PROTO_ABI_X86_64     "x86_64-abi" > #define XEN_IO_PROTO_ABI_IA64       "ia64-abi" >+#define XEN_IO_PROTO_ABI_ARM        "arm-abi" >  > #if defined(__i386__) > # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_32 >@@ -33,6 +34,8 @@ > # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_64 > #elif defined(__ia64__) > # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_IA64 >+#elif defined(__arm__) >+# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_ARM > #else > # error arch fixup needed here > #endif


------=_Part_193452_45161644.1328490020087-- --===============6694128086188554377== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --===============6694128086188554377==--