Hi Konrad, XEN_TMEM doesn''t work on ARM64. This commit break Xen ARM64 in linux-next: commit 10a7a0771399a57a297fca9615450dbb3f88081a Author: Dan Magenheimer <dan.magenheimer@oracle.com> Date: Tue Apr 30 15:27:00 2013 -0700 xen: tmem: enable Xen tmem shim to be built/loaded as a module I suggest fixing it by disabling XEN_TMEM on everything non-x86. --- Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig index 9e02d60..c1ac85b 100644 --- a/drivers/xen/Kconfig +++ b/drivers/xen/Kconfig @@ -145,7 +145,7 @@ config SWIOTLB_XEN config XEN_TMEM tristate - depends on !ARM + depends on X86 default m if (CLEANCACHE || FRONTSWAP) help Shim to interface in-kernel Transcendent Memory hooks
>>> On 24.06.13 at 17:51, Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote: > Hi Konrad, > XEN_TMEM doesn''t work on ARM64. This commit break Xen ARM64 in > linux-next: > > commit 10a7a0771399a57a297fca9615450dbb3f88081a > Author: Dan Magenheimer <dan.magenheimer@oracle.com> > Date: Tue Apr 30 15:27:00 2013 -0700 > > xen: tmem: enable Xen tmem shim to be built/loaded as a module > > I suggest fixing it by disabling XEN_TMEM on everything non-x86.That''s pretty gross - the kernel side tmem code should be really architecture independent, so shouldn''t even need the !ARM dependency. Jan> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig > index 9e02d60..c1ac85b 100644 > --- a/drivers/xen/Kconfig > +++ b/drivers/xen/Kconfig > @@ -145,7 +145,7 @@ config SWIOTLB_XEN > > config XEN_TMEM > tristate > - depends on !ARM > + depends on X86 > default m if (CLEANCACHE || FRONTSWAP) > help > Shim to interface in-kernel Transcendent Memory hooks > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > lists.xen.org/xen-devel
Konrad Rzeszutek Wilk
2013-Jun-24 16:00 UTC
Re: [PATCH] don''t compile XEN_TMEM on ARM adn ARM64
On Mon, Jun 24, 2013 at 04:51:17PM +0100, Stefano Stabellini wrote:> Hi Konrad, > XEN_TMEM doesn''t work on ARM64. This commit break Xen ARM64 in > linux-next: > > commit 10a7a0771399a57a297fca9615450dbb3f88081a > Author: Dan Magenheimer <dan.magenheimer@oracle.com> > Date: Tue Apr 30 15:27:00 2013 -0700 > > xen: tmem: enable Xen tmem shim to be built/loaded as a module > > I suggest fixing it by disabling XEN_TMEM on everything non-x86.Hm, what is the compile issue?> > --- > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig > index 9e02d60..c1ac85b 100644 > --- a/drivers/xen/Kconfig > +++ b/drivers/xen/Kconfig > @@ -145,7 +145,7 @@ config SWIOTLB_XEN > > config XEN_TMEM > tristate > - depends on !ARM > + depends on X86 > default m if (CLEANCACHE || FRONTSWAP) > help > Shim to interface in-kernel Transcendent Memory hooks
Stefano Stabellini
2013-Jun-24 16:12 UTC
Re: [PATCH] don''t compile XEN_TMEM on ARM adn ARM64
On Mon, 24 Jun 2013, Konrad Rzeszutek Wilk wrote:> On Mon, Jun 24, 2013 at 04:51:17PM +0100, Stefano Stabellini wrote: > > Hi Konrad, > > XEN_TMEM doesn''t work on ARM64. This commit break Xen ARM64 in > > linux-next: > > > > commit 10a7a0771399a57a297fca9615450dbb3f88081a > > Author: Dan Magenheimer <dan.magenheimer@oracle.com> > > Date: Tue Apr 30 15:27:00 2013 -0700 > > > > xen: tmem: enable Xen tmem shim to be built/loaded as a module > > > > I suggest fixing it by disabling XEN_TMEM on everything non-x86. > > Hm, what is the compile issue?drivers/xen/tmem.c: In function ‘xen_tmem_op’: drivers/xen/tmem.c:105:2: error: implicit declaration of function ‘HYPERVISOR_tmem_op’ [-Werror=implicit-function-declaration] Alternatively I can provide the implementation of HYPERVISOR_tmem_op. --- Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> diff --git a/arch/arm/include/asm/xen/hypercall.h b/arch/arm/include/asm/xen/hypercall.h index 799f42e..f546b27 100644 --- a/arch/arm/include/asm/xen/hypercall.h +++ b/arch/arm/include/asm/xen/hypercall.h @@ -47,6 +47,7 @@ unsigned long HYPERVISOR_hvm_op(int op, void *arg); int HYPERVISOR_memory_op(unsigned int cmd, void *arg); int HYPERVISOR_physdev_op(int cmd, void *arg); int HYPERVISOR_vcpu_op(int cmd, int vcpuid, void *extra_args); +int HYPERVISOR_tmem_op(void *arg); static inline void MULTI_update_va_mapping(struct multicall_entry *mcl, unsigned long va, diff --git a/arch/arm/xen/hypercall.S b/arch/arm/xen/hypercall.S index 199cb2d..d1cf7b7 100644 --- a/arch/arm/xen/hypercall.S +++ b/arch/arm/xen/hypercall.S @@ -88,6 +88,7 @@ HYPERCALL2(hvm_op); HYPERCALL2(memory_op); HYPERCALL2(physdev_op); HYPERCALL3(vcpu_op); +HYPERCALL1(tmem_op); ENTRY(privcmd_call) stmdb sp!, {r4} diff --git a/arch/arm64/xen/hypercall.S b/arch/arm64/xen/hypercall.S index 2816c47..531342e 100644 --- a/arch/arm64/xen/hypercall.S +++ b/arch/arm64/xen/hypercall.S @@ -79,6 +79,7 @@ HYPERCALL2(hvm_op); HYPERCALL2(memory_op); HYPERCALL2(physdev_op); HYPERCALL3(vcpu_op); +HYPERCALL1(tmem_op); ENTRY(privcmd_call) mov x16, x0 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org lists.xen.org/xen-devel
Konrad Rzeszutek Wilk
2013-Jun-24 16:15 UTC
Re: [PATCH] don''t compile XEN_TMEM on ARM adn ARM64
On Mon, Jun 24, 2013 at 05:12:38PM +0100, Stefano Stabellini wrote:> On Mon, 24 Jun 2013, Konrad Rzeszutek Wilk wrote: > > On Mon, Jun 24, 2013 at 04:51:17PM +0100, Stefano Stabellini wrote: > > > Hi Konrad, > > > XEN_TMEM doesn't work on ARM64. This commit break Xen ARM64 in > > > linux-next: > > > > > > commit 10a7a0771399a57a297fca9615450dbb3f88081a > > > Author: Dan Magenheimer <dan.magenheimer@oracle.com> > > > Date: Tue Apr 30 15:27:00 2013 -0700 > > > > > > xen: tmem: enable Xen tmem shim to be built/loaded as a module > > > > > > I suggest fixing it by disabling XEN_TMEM on everything non-x86. > > > > Hm, what is the compile issue? > > drivers/xen/tmem.c: In function ‘xen_tmem_op’: > drivers/xen/tmem.c:105:2: error: implicit declaration of function ‘HYPERVISOR_tmem_op’ [-Werror=implicit-function-declaration] > > Alternatively I can provide the implementation of HYPERVISOR_tmem_op.I think that might be better. Thanks!> > --- > > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > > diff --git a/arch/arm/include/asm/xen/hypercall.h b/arch/arm/include/asm/xen/hypercall.h > index 799f42e..f546b27 100644 > --- a/arch/arm/include/asm/xen/hypercall.h > +++ b/arch/arm/include/asm/xen/hypercall.h > @@ -47,6 +47,7 @@ unsigned long HYPERVISOR_hvm_op(int op, void *arg); > int HYPERVISOR_memory_op(unsigned int cmd, void *arg); > int HYPERVISOR_physdev_op(int cmd, void *arg); > int HYPERVISOR_vcpu_op(int cmd, int vcpuid, void *extra_args); > +int HYPERVISOR_tmem_op(void *arg); > > static inline void > MULTI_update_va_mapping(struct multicall_entry *mcl, unsigned long va, > diff --git a/arch/arm/xen/hypercall.S b/arch/arm/xen/hypercall.S > index 199cb2d..d1cf7b7 100644 > --- a/arch/arm/xen/hypercall.S > +++ b/arch/arm/xen/hypercall.S > @@ -88,6 +88,7 @@ HYPERCALL2(hvm_op); > HYPERCALL2(memory_op); > HYPERCALL2(physdev_op); > HYPERCALL3(vcpu_op); > +HYPERCALL1(tmem_op); > > ENTRY(privcmd_call) > stmdb sp!, {r4} > diff --git a/arch/arm64/xen/hypercall.S b/arch/arm64/xen/hypercall.S > index 2816c47..531342e 100644 > --- a/arch/arm64/xen/hypercall.S > +++ b/arch/arm64/xen/hypercall.S > @@ -79,6 +79,7 @@ HYPERCALL2(hvm_op); > HYPERCALL2(memory_op); > HYPERCALL2(physdev_op); > HYPERCALL3(vcpu_op); > +HYPERCALL1(tmem_op); > > ENTRY(privcmd_call) > mov x16, x0_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org lists.xen.org/xen-devel