From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: Regression since Linux Kernel 3.12 due to 64bit pvguest NMIs Date: Tue, 13 May 2014 14:45:07 -0400 Message-ID: <20140513184507.GG6284@phenom.dumpdata.com> References: <20140509200208.GA11650@phenom.dumpdata.com> <20140512142144.GC2837@phenom.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Sebastian Faerber Cc: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On Tue, May 13, 2014 at 10:18:53AM +0200, Sebastian Faerber wrote: > > > > Could you patch your kernel with this patch to double check that it is OK? > > > > Is it OK for me to put 'Reported-and-Tested-by: Sebastian Faerber ' > > on it? > > Your patch works, thanks for taking care of the issue, much appreciated! > Sure, you can include me in your commit. Excellent. > Could you also CC this patch to the stable kernel people? Would be > great if i could > run unmodified kernels once the commit gets picked up. > Sure. > > > > diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c > > index 201d09a..c19ae00 100644 > > --- a/arch/x86/xen/enlighten.c > > +++ b/arch/x86/xen/enlighten.c > > @@ -746,11 +746,14 @@ static int cvt_gate_to_trap(int vector, const gate_desc *val, > > */ > > ; > > #endif > > - } else if (addr == (unsigned long)nmi) > > + } else if (addr == (unsigned long)nmi) { > > /* > > - * Use the native version as well. > > + * Use the native version as well, but for RHEL5 > > + * hypervisors it is not implemented. > > */ > > - ; > > + if (!xen_running_on_version_or_later(4,0)) > > + return 0; > > + } > > else { > > /* Some other trap using IST? */ > > if (WARN_ON(val->ist != 0)) > > diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c > > index 0982233..aa3fd34 100644 > > --- a/arch/x86/xen/setup.c > > +++ b/arch/x86/xen/setup.c > > @@ -576,6 +576,8 @@ void xen_enable_syscall(void) > > } > > void xen_enable_nmi(void) > > { > > + if (!xen_running_on_version_or_later(4,0)) > > + return; > > #ifdef CONFIG_X86_64 > > if (register_callback(CALLBACKTYPE_nmi, (char *)nmi)) > > BUG(); > > > >