RE: [GIT PULL] x86/hyperv fix for v3.15-rc1

From: KY Srinivasan
Date: Fri Apr 11 2014 - 14:39:52 EST




> -----Original Message-----
> From: H. Peter Anvin [mailto:hpa@xxxxxxxxxxxxxxx]
> Sent: Friday, April 11, 2014 10:39 AM
> To: Linus Torvalds
> Cc: stable@xxxxxxxxxxxxxxx; H. Peter Anvin; H. Peter Anvin; Ingo Molnar; KY
> Srinivasan; Linux Kernel Mailing List; Thomas Gleixner
> Subject: [GIT PULL] x86/hyperv fix for v3.15-rc1
>
> Hi Linus,
>
> A single fix for HyperV -- we never NEED the legacy PIC on HyperV, and in
> kexec/kdump scenarios we don't always know that we originally booted EFI.
> The right answer is probably to augment the legacy PIC initialization code to
> detect a not-present PIC, but that is way too high risk for right now.
>
> The following changes since commit
> ca3ba2a2f4a49a308e7d78c784d51b2332064f15:
>
> x86, hyperv: Bypass the timer_irq_works() check (2014-03-27 11:02:45 -
> 0700)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-hyperv-for-
> linus
>
> for you to fetch changes up to 8df28b82ff0649dd293f0469b97792cfb9ed10ab:
>
> x86, hyperv: When on Hyper-v use NULL legacy PIC (2014-04-03 22:00:13 -
> 0700)

Peter,

It may be better not to include the patch titled:

x86, hyperv: When on Hyper-v use NULL legacy PIC (2014-04-03 22:00:13 -
0700)

Without this patch, kexec will not work on Hyper-V efi firmware and that is the way it has been.
While I tested this patch on both legacy and EFI firmware on Hyper-V, Olaf is reporting that on the
configurations he is building, this patch causes problems on Hyper-V legacy firmware.

I am currently working on the idea you have had - using NULL legacy PIC only when
PIC is not there.

Regards,

K. Y
>
> ----------------------------------------------------------------
> K. Y. Srinivasan (1):
> x86, hyperv: When on Hyper-v use NULL legacy PIC
>
> arch/x86/kernel/cpu/mshyperv.c | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/mshyperv.c
> b/arch/x86/kernel/cpu/mshyperv.c index 832d05a914ba..b7d82c7e1257
> 100644
> --- a/arch/x86/kernel/cpu/mshyperv.c
> +++ b/arch/x86/kernel/cpu/mshyperv.c
> @@ -93,14 +93,8 @@ static void __init ms_hyperv_init_platform(void)
> printk(KERN_INFO "HyperV: LAPIC Timer Frequency: %#x\n",
> lapic_timer_frequency);
>
> - /*
> - * On Hyper-V, when we are booting off an EFI firmware
> stack,
> - * we do not have many legacy devices including PIC, PIT etc.
> - */
> - if (efi_enabled(EFI_BOOT)) {
> - printk(KERN_INFO "HyperV: Using
> null_legacy_pic\n");
> - legacy_pic = &null_legacy_pic;
> - }
> + printk(KERN_INFO "HyperV: Using null_legacy_pic\n");
> + legacy_pic = &null_legacy_pic;
> }
> #endif
>
--
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/