Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932704AbdIHV4H (ORCPT ); Fri, 8 Sep 2017 17:56:07 -0400 Received: from a2nlsmtp01-04.prod.iad2.secureserver.net ([198.71.225.38]:39998 "EHLO a2nlsmtp01-04.prod.iad2.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757069AbdIHV4F (ORCPT ); Fri, 8 Sep 2017 17:56:05 -0400 x-originating-ip: 107.180.71.197 From: "K. Y. Srinivasan" To: x86@kernel.org, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, devel@linuxdriverproject.org, olaf@aepfle.de, apw@canonical.com, jasowang@redhat.com, tglx@linutronix.de, hpa@zytor.com, mingo@kernel.org Cc: "K. Y. Srinivasan" Subject: [PATCH 1/1] x86/hyper-V: Allocate the IDT entry early in boot Date: Fri, 8 Sep 2017 14:54:50 -0700 Message-Id: <20170908215450.735-1-kys@microsoft.com> X-Mailer: git-send-email 2.14.1 Reply-To: kys@microsoft.com X-CMAE-Envelope: MS4wfDowLMB/Wm8B8B5kA+5nRlbjx7b2+xNw7a1lq1fKPDH3hebLj8e/HwTMSU43I6J2uM4qhDXdt8IF88n2opGd0VAfnI+pGbaCAY3eC90p2rGYGYslVmMx 5ECbOPOO/vBVVzPSPneWvgn+roLA6rb5Db7ufM6/qcEAEN5UFDxav6CEELRw+j/Y2Mf6ceKf/XEEIQRYr92Ngl+MWN0HS2r4NmYIXq/Fbxx9lCT8Y25r0btb c9XUy8MJBrWuOgzgCBULOAn+PSIrML3bYRUBcdbEO46ImeGn8pHleoN7Ni47wNZIyWmvwnxF9Qw1L8Nv4svw9vZQA6YGTPpCxvwb5E6ue8uOOeJ1fjSPbME9 hapSLZL0H3tfFZipbYpPyueghHwozKT1bCzaSm3o/ExOM/L9JftRWAfA4O7lKcoMGh/G7hotdjO0OjA/L6cMTtJ6dy2qNO5ykCuBElZVLRBU3KH18wUcN1eI 1cc6x3jrhnw87BYk Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 996 Lines: 31 Allocate the hypervisor callback IDT entry early in the boot sequence. Signed-off-by: K. Y. Srinivasan --- arch/x86/kernel/cpu/mshyperv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c index 3b3f713e15e5..236324e83a3a 100644 --- a/arch/x86/kernel/cpu/mshyperv.c +++ b/arch/x86/kernel/cpu/mshyperv.c @@ -59,8 +59,6 @@ void hyperv_vector_handler(struct pt_regs *regs) void hv_setup_vmbus_irq(void (*handler)(void)) { vmbus_handler = handler; - /* Setup the IDT for hypervisor callback */ - alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, hyperv_callback_vector); } void hv_remove_vmbus_irq(void) @@ -251,6 +249,8 @@ static void __init ms_hyperv_init_platform(void) */ x86_platform.apic_post_init = hyperv_init; hyperv_setup_mmu_ops(); + /* Setup the IDT for hypervisor callback */ + alloc_intr_gate(HYPERVISOR_CALLBACK_VECTOR, hyperv_callback_vector); #endif } -- 2.14.1