All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [XenARM] [help] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git
       [not found] ` <1328002610.26983.302.camel@zakaz.uk.xensource.com>
@ 2012-01-31 14:53   ` Stefano Stabellini
  2012-02-06  1:00   ` Frank, Chen
  1 sibling, 0 replies; 7+ messages in thread
From: Stefano Stabellini @ 2012-01-31 14:53 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-arm, xen-devel, Frank, Chen, Stefano Stabellini

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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [XenARM] [help] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git
       [not found] ` <1328002610.26983.302.camel@zakaz.uk.xensource.com>
  2012-01-31 14:53   ` [XenARM] [help] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git Stefano Stabellini
@ 2012-02-06  1:00   ` Frank, Chen
  2012-02-08 10:36     ` Stefano Stabellini
                       ` (4 more replies)
  1 sibling, 5 replies; 7+ messages in thread
From: Frank, Chen @ 2012-02-06  1:00 UTC (permalink / raw)
  To: Stefano Stabellini; +Cc: xen-arm, xen-devel, Ian Campbell


[-- Attachment #1.1: Type: text/plain, Size: 4302 bytes --]

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

[-- Attachment #1.2: Type: text/html, Size: 7267 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [XenARM] [help] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git
  2012-02-06  1:00   ` Frank, Chen
@ 2012-02-08 10:36     ` Stefano Stabellini
  2012-02-08 12:59     ` Frank, Chen
                       ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Stefano Stabellini @ 2012-02-08 10:36 UTC (permalink / raw)
  To: Frank, Chen; +Cc: xen-arm, xen-devel, Ian Campbell, Stefano Stabellini

[-- Attachment #1: Type: text/plain, Size: 578 bytes --]

On Mon, 6 Feb 2012, Frank, Chen wrote:
> Hi Xen-ARMs,
>  
> I applied this patch, "error: unknown type name 'xen_callback_t' is fixed.

Thanks for testing!


> 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? 

Which cross-compiler are you using at the moment?
If you are on Ubuntu, we just need to

apt-get install gcc-arm-linux-gnueabi

in order to get Linaro's cross-compiler.

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [XenARM] [help] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git
  2012-02-06  1:00   ` Frank, Chen
  2012-02-08 10:36     ` Stefano Stabellini
@ 2012-02-08 12:59     ` Frank, Chen
  2012-02-08 16:53     ` Ian Campbell
                       ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Frank, Chen @ 2012-02-08 12:59 UTC (permalink / raw)
  To: Stefano Stabellini; +Cc: xen-arm, xen-devel, Ian Campbell


[-- Attachment #1.1: Type: text/plain, Size: 2698 bytes --]

Hi Xen-ARMs,


I used the latest compiler from Linaro.
But the compiler cannot support march=armv7-a and mcpu=cortex-a15

The error information is like this:
make -f /home/frank/workspace/xen/src/xen-arm-v6/xen/Rules.mk -C include
make[3]: Entering directory `/home/frank/workspace/xen/src/xen-arm-v6/xen/include'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/frank/workspace/xen/src/xen-arm-v6/xen/include'
make -f /home/frank/workspace/xen/src/xen-arm-v6/xen/Rules.mk -C arch/arm asm-offsets.s
make[3]: Entering directory `/home/frank/workspace/xen/src/xen-arm-v6/xen/arch/arm'
arm-linux-gnueabi-gcc -O1 -fno-omit-frame-pointer -marm -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -fno-builtin -fno-common -Wredundant-decls -iwithprefix include -Werror -Wno-pointer-arith -pipe -I/home/frank/workspace/xen/src/xen-arm-v6/xen/include -msoft-float -nopie -fno-stack-protector -fno-exceptions -Wnested-externs -DGCC_HAS_VISIBILITY_ATTRIBUTE -march=armv7-a -mcpu=cortex-a15 -fno-optimize-sibling-calls -g -D__XEN__ -include /home/frank/workspace/xen/src/xen-arm-v6/xen/include/xen/config.h -DVERBOSE -fno-omit-frame-pointer -DCONFIG_FRAME_POINTER -MMD -MF .asm-offsets.s.d -S -o asm-offsets.s asm-offsets.c
asm-offsets.c:1:0: error: switch -mcpu=cortex-a15 conflicts with -march=armv7-a switch [-Werror]
cc1: all warnings being treated as errors


I modified xen/arch/arm/Rules.mk like the following, the compiling is OK.
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index 336e209..407fc82 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -22,7 +22,8 @@ ifneq ($(call cc-option,$(CC),-fvisibility=hidden,n),n)
 CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE
 endif
 
-CFLAGS += -march=armv7-a -mcpu=cortex-a15
+#CFLAGS += -march=armv7-a -mcpu=cortex-a15
+CFLAGS += -mcpu=cortex-a15


I checked binary file xen, it does not have the unresolved symbol.


Best Regards,
Frank
--

在 2012-02-08 18:36:48,"Stefano Stabellini" <stefano.stabellini@eu.citrix.com> 写道:
>On Mon, 6 Feb 2012, Frank, Chen wrote:
>> Hi Xen-ARMs,
>> Â 
>> I applied this patch, "error: unknown type name 'xen_callback_t' is fixed.
>
>Thanks for testing!
>
>
>> 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? 
>
>Which cross-compiler are you using at the moment?
>If you are on Ubuntu, we just need to
>
>apt-get install gcc-arm-linux-gnueabi
>
>in order to get Linaro's cross-compiler.

[-- Attachment #1.2: Type: text/html, Size: 3814 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [XenARM] [help] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git
  2012-02-06  1:00   ` Frank, Chen
  2012-02-08 10:36     ` Stefano Stabellini
  2012-02-08 12:59     ` Frank, Chen
@ 2012-02-08 16:53     ` Ian Campbell
  2012-02-09  0:43     ` Frank, Chen
  2012-02-09  1:00     ` Frank, Chen
  4 siblings, 0 replies; 7+ messages in thread
From: Ian Campbell @ 2012-02-08 16:53 UTC (permalink / raw)
  To: Frank, Chen; +Cc: xen-arm, xen-devel, Stefano Stabellini

On Mon, 2012-02-06 at 01:00 +0000, Frank, Chen wrote:
> 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? 

I use
http://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.6.0/x86_64-gcc-4.6.0-nolibc_arm-unknown-linux-gnueabi.tar.bz2

Ian.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [XenARM] [help] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git
  2012-02-06  1:00   ` Frank, Chen
                       ` (2 preceding siblings ...)
  2012-02-08 16:53     ` Ian Campbell
@ 2012-02-09  0:43     ` Frank, Chen
  2012-02-09  1:00     ` Frank, Chen
  4 siblings, 0 replies; 7+ messages in thread
From: Frank, Chen @ 2012-02-09  0:43 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-arm, xen-devel, Stefano Stabellini


[-- Attachment #1.1: Type: text/plain, Size: 560 bytes --]

Hi Ian,

Thanks. :-)
I will try it.

Best Regards,
Frank
--




At 2012-02-09 00:53:08,"Ian Campbell" <Ian.Campbell@citrix.com> wrote:
>On Mon, 2012-02-06 at 01:00 +0000, Frank, Chen wrote:
>> 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? 
>
>I use
>http://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.6.0/x86_64-gcc-4.6.0-nolibc_arm-unknown-linux-gnueabi.tar.bz2
>
>Ian.
>
>
>

[-- Attachment #1.2: Type: text/html, Size: 1098 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [XenARM] [help] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git
  2012-02-06  1:00   ` Frank, Chen
                       ` (3 preceding siblings ...)
  2012-02-09  0:43     ` Frank, Chen
@ 2012-02-09  1:00     ` Frank, Chen
  4 siblings, 0 replies; 7+ messages in thread
From: Frank, Chen @ 2012-02-09  1:00 UTC (permalink / raw)
  To: Ian Campbell; +Cc: xen-arm, xen-devel, Stefano Stabellini


[-- Attachment #1.1: Type: text/plain, Size: 588 bytes --]

Hi Ian and Xen-ARMs,

I tried this compiler. The compile is OK.

Best Regards,
Frank
--




At 2012-02-09 00:53:08,"Ian Campbell" <Ian.Campbell@citrix.com> wrote:
>On Mon, 2012-02-06 at 01:00 +0000, Frank, Chen wrote:
>> 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? 
>
>I use
>http://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.6.0/x86_64-gcc-4.6.0-nolibc_arm-unknown-linux-gnueabi.tar.bz2
>
>Ian.
>
>
>

[-- Attachment #1.2: Type: text/html, Size: 1122 bytes --]

[-- Attachment #2: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-02-09  1:00 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <9e3a3f3.470c.135325af644.Coremail.chysun2000@163.com>
     [not found] ` <1328002610.26983.302.camel@zakaz.uk.xensource.com>
2012-01-31 14:53   ` [XenARM] [help] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git Stefano Stabellini
2012-02-06  1:00   ` Frank, Chen
2012-02-08 10:36     ` Stefano Stabellini
2012-02-08 12:59     ` Frank, Chen
2012-02-08 16:53     ` Ian Campbell
2012-02-09  0:43     ` Frank, Chen
2012-02-09  1:00     ` Frank, Chen

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.