From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753261AbbAVS4e (ORCPT ); Thu, 22 Jan 2015 13:56:34 -0500 Received: from cantor2.suse.de ([195.135.220.15]:54535 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751841AbbAVS4a (ORCPT ); Thu, 22 Jan 2015 13:56:30 -0500 Date: Thu, 22 Jan 2015 19:56:27 +0100 From: "Luis R. Rodriguez" To: Julien Grall Cc: "Luis R. Rodriguez" , david.vrabel@citrix.com, konrad.wilk@oracle.com, boris.ostrovsky@oracle.com, xen-devel@lists.xenproject.org, kvm@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, Steven Rostedt , Andy Lutomirski , Ingo Molnar , Jan Beulich , "H. Peter Anvin" , Masami Hiramatsu , Thomas Gleixner , Borislav Petkov Subject: Re: [Xen-devel] [RFC v3 2/2] x86/xen: allow privcmd hypercalls to be preempted Message-ID: <20150122185627.GQ17887@wotan.suse.de> References: <1421893039-426-1-git-send-email-mcgrof@do-not-panic.com> <1421893039-426-3-git-send-email-mcgrof@do-not-panic.com> <54C0F6D9.70003@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <54C0F6D9.70003@linaro.org> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 22, 2015 at 01:10:49PM +0000, Julien Grall wrote: > Hi Luis, > > On 22/01/15 02:17, Luis R. Rodriguez wrote: > > diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c > > index b4bca2d..23c526b 100644 > > --- a/drivers/xen/events/events_base.c > > +++ b/drivers/xen/events/events_base.c > > @@ -32,6 +32,8 @@ > > #include > > #include > > #include > > +#include > > +#include > > > > #ifdef CONFIG_X86 > > #include > > @@ -1243,6 +1245,17 @@ void xen_evtchn_do_upcall(struct pt_regs *regs) > > set_irq_regs(old_regs); > > } > > > > +notrace void xen_end_upcall(struct pt_regs *regs) > > +{ > > + if (!xen_is_preemptible_hypercall(regs) || > > I don't see any definition of xen_is_preemptible_hypercall for ARM32/ARM64. > > As this function is called from the generic code, you have at least to > stub this function for those architectures. Will add as: diff --git a/arch/arm/include/asm/xen/hypercall.h b/arch/arm/include/asm/xen/hypercall.h index 712b50e..4fc8395 100644 --- a/arch/arm/include/asm/xen/hypercall.h +++ b/arch/arm/include/asm/xen/hypercall.h @@ -74,4 +74,9 @@ MULTI_mmu_update(struct multicall_entry *mcl, struct mmu_update *req, BUG(); } +static inline bool xen_is_preemptible_hypercall(struct pt_regs *regs) +{ + return false; +} + #endif /* _ASM_ARM_XEN_HYPERCALL_H */ This will cover both arm and arm64 as arm64 includes the arm header. Luis