* [PATCH] enable QEMU for ARM builds @ 2014-07-10 11:18 Stefano Stabellini 2014-07-10 13:50 ` Ian Campbell 2014-07-10 14:59 ` Stefan Bader 0 siblings, 2 replies; 9+ messages in thread From: Stefano Stabellini @ 2014-07-10 11:18 UTC (permalink / raw) To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Stefano Stabellini Build qemu-xen on ARM and ARM64: it is used to provide the PV backends, disk and framebuffer in particular. Ideally we would also modify the configure options to only build what is necessary: a machine just for PV backends. However that is a work in progress and not yet available in QEMU (see http://marc.info/?l=qemu-devel&m=139082425718379&w=2). So we just build the usual i386 target, even though no i386 emulation is going to be done by qemu-xen on ARM. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> diff --git a/tools/configure b/tools/configure index 20f1aa9..b39012b 100755 --- a/tools/configure +++ b/tools/configure @@ -3869,6 +3869,8 @@ else case "$host_cpu" in i[3456]86|x86_64) qemu_xen=y;; + arm*|aarch64) + qemu_xen=y;; *) qemu_xen=n;; esac diff --git a/tools/configure.ac b/tools/configure.ac index 6d70f04..d1c8e5e 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -126,6 +126,8 @@ AC_ARG_WITH([system-qemu], case "$host_cpu" in i[[3456]]86|x86_64) qemu_xen=y;; + arm*|aarch64) + qemu_xen=y;; *) qemu_xen=n;; esac ]) ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] enable QEMU for ARM builds 2014-07-10 11:18 [PATCH] enable QEMU for ARM builds Stefano Stabellini @ 2014-07-10 13:50 ` Ian Campbell 2014-07-10 14:04 ` Stefano Stabellini 2014-07-10 14:59 ` Stefan Bader 1 sibling, 1 reply; 9+ messages in thread From: Ian Campbell @ 2014-07-10 13:50 UTC (permalink / raw) To: Stefano Stabellini; +Cc: xen-devel, Ian Jackson On Thu, 2014-07-10 at 12:18 +0100, Stefano Stabellini wrote: > Build qemu-xen on ARM and ARM64: it is used to provide the PV backends, > disk and framebuffer in particular. > > Ideally we would also modify the configure options to only build what is > necessary: a machine just for PV backends. However that is a work in > progress and not yet available in QEMU (see > http://marc.info/?l=qemu-devel&m=139082425718379&w=2). So we just build > the usual i386 target, even though no i386 emulation is going to be done > by qemu-xen on ARM. As I mentioned IRL we need to confirm that this doesn't end up exposing a protocol property in the xenstore backend dir of XEN_IO_PROTO_ABI_X86_* instead of XEN_IO_PROTO_ABI_ARM. Likewise we need to be sure that the code actually implements the ARM protocol, not one of the x86 ones. Ian. > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > diff --git a/tools/configure b/tools/configure > index 20f1aa9..b39012b 100755 > --- a/tools/configure > +++ b/tools/configure > @@ -3869,6 +3869,8 @@ else > case "$host_cpu" in > i[3456]86|x86_64) > qemu_xen=y;; > + arm*|aarch64) > + qemu_xen=y;; > *) qemu_xen=n;; > esac > > diff --git a/tools/configure.ac b/tools/configure.ac > index 6d70f04..d1c8e5e 100644 > --- a/tools/configure.ac > +++ b/tools/configure.ac > @@ -126,6 +126,8 @@ AC_ARG_WITH([system-qemu], > case "$host_cpu" in > i[[3456]]86|x86_64) > qemu_xen=y;; > + arm*|aarch64) > + qemu_xen=y;; > *) qemu_xen=n;; > esac > ]) > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] enable QEMU for ARM builds 2014-07-10 13:50 ` Ian Campbell @ 2014-07-10 14:04 ` Stefano Stabellini 2014-07-10 14:33 ` Ian Campbell 0 siblings, 1 reply; 9+ messages in thread From: Stefano Stabellini @ 2014-07-10 14:04 UTC (permalink / raw) To: Ian Campbell; +Cc: xen-devel, Ian Jackson, Stefano Stabellini On Thu, 10 Jul 2014, Ian Campbell wrote: > On Thu, 2014-07-10 at 12:18 +0100, Stefano Stabellini wrote: > > Build qemu-xen on ARM and ARM64: it is used to provide the PV backends, > > disk and framebuffer in particular. > > > > Ideally we would also modify the configure options to only build what is > > necessary: a machine just for PV backends. However that is a work in > > progress and not yet available in QEMU (see > > http://marc.info/?l=qemu-devel&m=139082425718379&w=2). So we just build > > the usual i386 target, even though no i386 emulation is going to be done > > by qemu-xen on ARM. > > As I mentioned IRL we need to confirm that this doesn't end up exposing > a protocol property in the xenstore backend dir of > XEN_IO_PROTO_ABI_X86_* instead of XEN_IO_PROTO_ABI_ARM. QEMU doesn't write the protocol to xenstore. In fact the protocol is written to xenstore by the frontend so this shouldn't be a problem. > Likewise we need to be sure that the code actually implements the ARM > protocol, not one of the x86 ones. Sure. No matter the QEMU target architecture, qdisk and xenfb implement NATIVE as well as x86 protocols. > Ian. > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > > > diff --git a/tools/configure b/tools/configure > > index 20f1aa9..b39012b 100755 > > --- a/tools/configure > > +++ b/tools/configure > > @@ -3869,6 +3869,8 @@ else > > case "$host_cpu" in > > i[3456]86|x86_64) > > qemu_xen=y;; > > + arm*|aarch64) > > + qemu_xen=y;; > > *) qemu_xen=n;; > > esac > > > > diff --git a/tools/configure.ac b/tools/configure.ac > > index 6d70f04..d1c8e5e 100644 > > --- a/tools/configure.ac > > +++ b/tools/configure.ac > > @@ -126,6 +126,8 @@ AC_ARG_WITH([system-qemu], > > case "$host_cpu" in > > i[[3456]]86|x86_64) > > qemu_xen=y;; > > + arm*|aarch64) > > + qemu_xen=y;; > > *) qemu_xen=n;; > > esac > > ]) > > > > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] enable QEMU for ARM builds 2014-07-10 14:04 ` Stefano Stabellini @ 2014-07-10 14:33 ` Ian Campbell 2014-07-10 16:26 ` Stefano Stabellini 0 siblings, 1 reply; 9+ messages in thread From: Ian Campbell @ 2014-07-10 14:33 UTC (permalink / raw) To: Stefano Stabellini; +Cc: xen-devel, Ian Jackson On Thu, 2014-07-10 at 15:04 +0100, Stefano Stabellini wrote: > On Thu, 10 Jul 2014, Ian Campbell wrote: > > On Thu, 2014-07-10 at 12:18 +0100, Stefano Stabellini wrote: > > > Build qemu-xen on ARM and ARM64: it is used to provide the PV backends, > > > disk and framebuffer in particular. > > > > > > Ideally we would also modify the configure options to only build what is > > > necessary: a machine just for PV backends. However that is a work in > > > progress and not yet available in QEMU (see > > > http://marc.info/?l=qemu-devel&m=139082425718379&w=2). So we just build > > > the usual i386 target, even though no i386 emulation is going to be done > > > by qemu-xen on ARM. > > > > As I mentioned IRL we need to confirm that this doesn't end up exposing > > a protocol property in the xenstore backend dir of > > XEN_IO_PROTO_ABI_X86_* instead of XEN_IO_PROTO_ABI_ARM. > > QEMU doesn't write the protocol to xenstore. In fact the protocol is > written to xenstore by the frontend so this shouldn't be a problem. Oh good, I was misremembering which way round it was. > > Likewise we need to be sure that the code actually implements the ARM > > protocol, not one of the x86 ones. > > Sure. No matter the QEMU target architecture, qdisk and xenfb implement > NATIVE as well as x86 protocols. When built as an ARM binary with x86 as the target architecture what does it consider to be the NATIVE protocol? You didn't mention the ARM protocol, hopefully just an oversight? Ian ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] enable QEMU for ARM builds 2014-07-10 14:33 ` Ian Campbell @ 2014-07-10 16:26 ` Stefano Stabellini 2014-07-16 14:24 ` Ian Campbell 0 siblings, 1 reply; 9+ messages in thread From: Stefano Stabellini @ 2014-07-10 16:26 UTC (permalink / raw) To: Ian Campbell; +Cc: xen-devel, Ian Jackson, Stefano Stabellini On Thu, 10 Jul 2014, Ian Campbell wrote: > On Thu, 2014-07-10 at 15:04 +0100, Stefano Stabellini wrote: > > On Thu, 10 Jul 2014, Ian Campbell wrote: > > > On Thu, 2014-07-10 at 12:18 +0100, Stefano Stabellini wrote: > > > > Build qemu-xen on ARM and ARM64: it is used to provide the PV backends, > > > > disk and framebuffer in particular. > > > > > > > > Ideally we would also modify the configure options to only build what is > > > > necessary: a machine just for PV backends. However that is a work in > > > > progress and not yet available in QEMU (see > > > > http://marc.info/?l=qemu-devel&m=139082425718379&w=2). So we just build > > > > the usual i386 target, even though no i386 emulation is going to be done > > > > by qemu-xen on ARM. > > > > > > As I mentioned IRL we need to confirm that this doesn't end up exposing > > > a protocol property in the xenstore backend dir of > > > XEN_IO_PROTO_ABI_X86_* instead of XEN_IO_PROTO_ABI_ARM. > > > > QEMU doesn't write the protocol to xenstore. In fact the protocol is > > written to xenstore by the frontend so this shouldn't be a problem. > > Oh good, I was misremembering which way round it was. > > > > Likewise we need to be sure that the code actually implements the ARM > > > protocol, not one of the x86 ones. > > > > Sure. No matter the QEMU target architecture, qdisk and xenfb implement > > NATIVE as well as x86 protocols. > > When built as an ARM binary with x86 as the target architecture what > does it consider to be the NATIVE protocol? ARM > You didn't mention the ARM protocol, hopefully just an oversight? NATIVE is defined as ARM when building on arm: xen/include/public/io/protocols.h and because aarch64 and arm use the same protocol qemu don't need to special case them. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] enable QEMU for ARM builds 2014-07-10 16:26 ` Stefano Stabellini @ 2014-07-16 14:24 ` Ian Campbell 2014-07-18 17:42 ` Stefano Stabellini 0 siblings, 1 reply; 9+ messages in thread From: Ian Campbell @ 2014-07-16 14:24 UTC (permalink / raw) To: Stefano Stabellini; +Cc: xen-devel, Ian Jackson On Thu, 2014-07-10 at 17:26 +0100, Stefano Stabellini wrote: > On Thu, 10 Jul 2014, Ian Campbell wrote: > > On Thu, 2014-07-10 at 15:04 +0100, Stefano Stabellini wrote: > > > On Thu, 10 Jul 2014, Ian Campbell wrote: > > > > On Thu, 2014-07-10 at 12:18 +0100, Stefano Stabellini wrote: > > > > > Build qemu-xen on ARM and ARM64: it is used to provide the PV backends, > > > > > disk and framebuffer in particular. > > > > > > > > > > Ideally we would also modify the configure options to only build what is > > > > > necessary: a machine just for PV backends. However that is a work in > > > > > progress and not yet available in QEMU (see > > > > > http://marc.info/?l=qemu-devel&m=139082425718379&w=2). So we just build > > > > > the usual i386 target, even though no i386 emulation is going to be done > > > > > by qemu-xen on ARM. > > > > > > > > As I mentioned IRL we need to confirm that this doesn't end up exposing > > > > a protocol property in the xenstore backend dir of > > > > XEN_IO_PROTO_ABI_X86_* instead of XEN_IO_PROTO_ABI_ARM. > > > > > > QEMU doesn't write the protocol to xenstore. In fact the protocol is > > > written to xenstore by the frontend so this shouldn't be a problem. > > > > Oh good, I was misremembering which way round it was. > > > > > > Likewise we need to be sure that the code actually implements the ARM > > > > protocol, not one of the x86 ones. > > > > > > Sure. No matter the QEMU target architecture, qdisk and xenfb implement > > > NATIVE as well as x86 protocols. > > > > When built as an ARM binary with x86 as the target architecture what > > does it consider to be the NATIVE protocol? > > ARM > > > > You didn't mention the ARM protocol, hopefully just an oversight? > > NATIVE is defined as ARM when building on arm: > > xen/include/public/io/protocols.h > > and because aarch64 and arm use the same protocol qemu don't need to > special case them. Arguably that's a bug in Qemu when building for target!=arm, but I suppose it works in our favour right now, but bear it in mind for when you review the patch to "fix" this bug ;-) Acked-by: Ian Campbell <ian.campbell@citrix.com> I think application of this patch is dependent on the headers movement one, right? Ian. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] enable QEMU for ARM builds 2014-07-16 14:24 ` Ian Campbell @ 2014-07-18 17:42 ` Stefano Stabellini 0 siblings, 0 replies; 9+ messages in thread From: Stefano Stabellini @ 2014-07-18 17:42 UTC (permalink / raw) To: Ian Campbell; +Cc: xen-devel, Ian Jackson, Stefano Stabellini On Wed, 16 Jul 2014, Ian Campbell wrote: > On Thu, 2014-07-10 at 17:26 +0100, Stefano Stabellini wrote: > > On Thu, 10 Jul 2014, Ian Campbell wrote: > > > On Thu, 2014-07-10 at 15:04 +0100, Stefano Stabellini wrote: > > > > On Thu, 10 Jul 2014, Ian Campbell wrote: > > > > > On Thu, 2014-07-10 at 12:18 +0100, Stefano Stabellini wrote: > > > > > > Build qemu-xen on ARM and ARM64: it is used to provide the PV backends, > > > > > > disk and framebuffer in particular. > > > > > > > > > > > > Ideally we would also modify the configure options to only build what is > > > > > > necessary: a machine just for PV backends. However that is a work in > > > > > > progress and not yet available in QEMU (see > > > > > > http://marc.info/?l=qemu-devel&m=139082425718379&w=2). So we just build > > > > > > the usual i386 target, even though no i386 emulation is going to be done > > > > > > by qemu-xen on ARM. > > > > > > > > > > As I mentioned IRL we need to confirm that this doesn't end up exposing > > > > > a protocol property in the xenstore backend dir of > > > > > XEN_IO_PROTO_ABI_X86_* instead of XEN_IO_PROTO_ABI_ARM. > > > > > > > > QEMU doesn't write the protocol to xenstore. In fact the protocol is > > > > written to xenstore by the frontend so this shouldn't be a problem. > > > > > > Oh good, I was misremembering which way round it was. > > > > > > > > Likewise we need to be sure that the code actually implements the ARM > > > > > protocol, not one of the x86 ones. > > > > > > > > Sure. No matter the QEMU target architecture, qdisk and xenfb implement > > > > NATIVE as well as x86 protocols. > > > > > > When built as an ARM binary with x86 as the target architecture what > > > does it consider to be the NATIVE protocol? > > > > ARM > > > > > > > You didn't mention the ARM protocol, hopefully just an oversight? > > > > NATIVE is defined as ARM when building on arm: > > > > xen/include/public/io/protocols.h > > > > and because aarch64 and arm use the same protocol qemu don't need to > > special case them. > > Arguably that's a bug in Qemu when building for target!=arm, but I > suppose it works in our favour right now, but bear it in mind for when > you review the patch to "fix" this bug ;-) > > Acked-by: Ian Campbell <ian.campbell@citrix.com> > > I think application of this patch is dependent on the headers movement > one, right? Yep. Once the following series is applied, it can go in: <alpine.DEB.2.02.1407181831070.2295@kaball.uk.xensource.com> ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] enable QEMU for ARM builds 2014-07-10 11:18 [PATCH] enable QEMU for ARM builds Stefano Stabellini 2014-07-10 13:50 ` Ian Campbell @ 2014-07-10 14:59 ` Stefan Bader 2014-07-10 16:20 ` Stefano Stabellini 1 sibling, 1 reply; 9+ messages in thread From: Stefan Bader @ 2014-07-10 14:59 UTC (permalink / raw) To: Stefano Stabellini, xen-devel; +Cc: Ian Jackson, Ian Campbell On 10.07.2014 13:18, Stefano Stabellini wrote: > Build qemu-xen on ARM and ARM64: it is used to provide the PV backends, > disk and framebuffer in particular. In the Ubuntu packaging I moved to not build qemu from Xen to just depend on the qemu package (which should be the same) at least for x86. Since I have no Arm hw on my own, all the arm builds are more of a theoretical exercise (no feedback from anyone actually trying). This sounds like I should (again) depend on a qemu-system-x86, even for the Arm packages. Is that right? -Stefan > > Ideally we would also modify the configure options to only build what is > necessary: a machine just for PV backends. However that is a work in > progress and not yet available in QEMU (see > http://marc.info/?l=qemu-devel&m=139082425718379&w=2). So we just build > the usual i386 target, even though no i386 emulation is going to be done > by qemu-xen on ARM. > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > diff --git a/tools/configure b/tools/configure > index 20f1aa9..b39012b 100755 > --- a/tools/configure > +++ b/tools/configure > @@ -3869,6 +3869,8 @@ else > case "$host_cpu" in > i[3456]86|x86_64) > qemu_xen=y;; > + arm*|aarch64) > + qemu_xen=y;; > *) qemu_xen=n;; > esac > > diff --git a/tools/configure.ac b/tools/configure.ac > index 6d70f04..d1c8e5e 100644 > --- a/tools/configure.ac > +++ b/tools/configure.ac > @@ -126,6 +126,8 @@ AC_ARG_WITH([system-qemu], > case "$host_cpu" in > i[[3456]]86|x86_64) > qemu_xen=y;; > + arm*|aarch64) > + qemu_xen=y;; > *) qemu_xen=n;; > esac > ]) > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] enable QEMU for ARM builds 2014-07-10 14:59 ` Stefan Bader @ 2014-07-10 16:20 ` Stefano Stabellini 0 siblings, 0 replies; 9+ messages in thread From: Stefano Stabellini @ 2014-07-10 16:20 UTC (permalink / raw) To: Stefan Bader; +Cc: xen-devel, Ian Jackson, Ian Campbell, Stefano Stabellini On Thu, 10 Jul 2014, Stefan Bader wrote: > On 10.07.2014 13:18, Stefano Stabellini wrote: > > Build qemu-xen on ARM and ARM64: it is used to provide the PV backends, > > disk and framebuffer in particular. > > In the Ubuntu packaging I moved to not build qemu from Xen to just depend on > the qemu package (which should be the same) at least for x86. > Since I have no Arm hw on my own, all the arm builds are more of a theoretical > exercise (no feedback from anyone actually trying). > This sounds like I should (again) depend on a qemu-system-x86, even for the > Arm packages. Is that right? Right. If you have Xen installed on an ARM box and you build QEMU with --target-list=i386-softmmu, it should pick up Xen support automatically. > -Stefan > > > > Ideally we would also modify the configure options to only build what is > > necessary: a machine just for PV backends. However that is a work in > > progress and not yet available in QEMU (see > > http://marc.info/?l=qemu-devel&m=139082425718379&w=2). So we just build > > the usual i386 target, even though no i386 emulation is going to be done > > by qemu-xen on ARM. > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > > > diff --git a/tools/configure b/tools/configure > > index 20f1aa9..b39012b 100755 > > --- a/tools/configure > > +++ b/tools/configure > > @@ -3869,6 +3869,8 @@ else > > case "$host_cpu" in > > i[3456]86|x86_64) > > qemu_xen=y;; > > + arm*|aarch64) > > + qemu_xen=y;; > > *) qemu_xen=n;; > > esac > > > > diff --git a/tools/configure.ac b/tools/configure.ac > > index 6d70f04..d1c8e5e 100644 > > --- a/tools/configure.ac > > +++ b/tools/configure.ac > > @@ -126,6 +126,8 @@ AC_ARG_WITH([system-qemu], > > case "$host_cpu" in > > i[[3456]]86|x86_64) > > qemu_xen=y;; > > + arm*|aarch64) > > + qemu_xen=y;; > > *) qemu_xen=n;; > > esac > > ]) > > > > > > _______________________________________________ > > Xen-devel mailing list > > Xen-devel@lists.xen.org > > http://lists.xen.org/xen-devel > > > ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-07-18 17:42 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-07-10 11:18 [PATCH] enable QEMU for ARM builds Stefano Stabellini 2014-07-10 13:50 ` Ian Campbell 2014-07-10 14:04 ` Stefano Stabellini 2014-07-10 14:33 ` Ian Campbell 2014-07-10 16:26 ` Stefano Stabellini 2014-07-16 14:24 ` Ian Campbell 2014-07-18 17:42 ` Stefano Stabellini 2014-07-10 14:59 ` Stefan Bader 2014-07-10 16:20 ` Stefano Stabellini
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.