All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-arm@lists.xensource.com" <xen-arm@lists.xensource.com>,
	xen-devel@lists.xensource.com, "Frank, Chen" <chysun2000@163.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [XenARM] [help] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git
Date: Tue, 31 Jan 2012 14:53:04 +0000	[thread overview]
Message-ID: <alpine.DEB.2.00.1201311418130.3196@kaball-desktop> (raw)
In-Reply-To: <1328002610.26983.302.camel@zakaz.uk.xensource.com>

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

       reply	other threads:[~2012-01-31 14:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <9e3a3f3.470c.135325af644.Coremail.chysun2000@163.com>
     [not found] ` <1328002610.26983.302.camel@zakaz.uk.xensource.com>
2012-01-31 14:53   ` Stefano Stabellini [this message]
2012-02-06  1:00   ` [XenARM] [help] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git 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

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=alpine.DEB.2.00.1201311418130.3196@kaball-desktop \
    --to=stefano.stabellini@eu.citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=chysun2000@163.com \
    --cc=xen-arm@lists.xensource.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.