Commit-ID:  8df28b82ff0649dd293f0469b97792cfb9ed10ab
Gitweb:     http://git.kernel.org/tip/8df28b82ff0649dd293f0469b97792cfb9ed10ab
Author:     K. Y. Srinivasan <k...@microsoft.com>
AuthorDate: Thu, 3 Apr 2014 18:16:33 -0700
Committer:  H. Peter Anvin <h...@linux.intel.com>
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 <k...@microsoft.com>
Link: 
http://lkml.kernel.org/r/1396574193-12043-1-git-send-email-...@microsoft.com
Cc: <sta...@vger.kernel.org>        [3.13+]
Signed-off-by: H. Peter Anvin <h...@linux.intel.com>
---
 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to