[tip:x86/hyperv] x86, hyperv: When on Hyper-v use NULL legacy PIC

From: tip-bot for K. Y. Srinivasan
Date: Fri Apr 04 2014 - 01:16:17 EST


Commit-ID: 8df28b82ff0649dd293f0469b97792cfb9ed10ab
Gitweb: http://git.kernel.org/tip/8df28b82ff0649dd293f0469b97792cfb9ed10ab
Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
AuthorDate: Thu, 3 Apr 2014 18:16:33 -0700
Committer: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
CommitDate: Thu, 3 Apr 2014 22:00:13 -0700

x86, hyperv: When on Hyper-v use NULL legacy PIC

Use the NULL legacy PIC when on Hyper-V. With this change we can support kexec
even when booting on EFI firmware. This patch has been tested on both EFI as
well as non-EFI firmware stacks on Hyper-V.

This patch is required to support kexec on EFI firmware on Hyper-V. Please
apply.

[ hpa: HyperV in EFI mode doesn't include a legacy PIC, and apparently
doesn't stub it out in a meaningful way. This becomes an issue
after kexec if the second kernel doesn't know it is EFI-booted.
Since HyperV presumably never actually *needs* the legacy PIC, we
can just disable it. ]

Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1396574193-12043-1-git-send-email-kys@xxxxxxxxxxxxx
Cc: <stable@xxxxxxxxxxxxxxx> [3.13+]
Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
---
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 832d05a..b7d82c7 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/