Re: [Xen-devel] [PATCH v2] xenpv: don't BUG when failing to setup NMI callback

From: David Vrabel
Date: Mon Jun 16 2014 - 12:37:20 EST


On 16/06/14 12:07, Vitaly Kuznetsov wrote:
>
> --- a/arch/x86/xen/enlighten.c
> +++ b/arch/x86/xen/enlighten.c
> @@ -746,12 +746,13 @@ 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 require Xen >= 3.2
> */
> - ;
> - else {
> + if (!xen_running_on_version_or_later(3, 2))
> + return 0;
> + } else {

The end result of this looked odd so I played around with it a bit and
it turns out that the register_callback for the NMI is entirely unneeded
(since we set the NMI callback via the write_idt pv-op and it's also
broken since it only sets the callback on the current VCPU.

I'm preparing an alternate patch, but I do not have a Xen 3.1 install I
can test with.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/