Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932776AbdIHXRc (ORCPT ); Fri, 8 Sep 2017 19:17:32 -0400 Received: from a2nlsmtp01-04.prod.iad2.secureserver.net ([198.71.225.38]:52256 "EHLO a2nlsmtp01-04.prod.iad2.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932660AbdIHXRa (ORCPT ); Fri, 8 Sep 2017 19:17:30 -0400 x-originating-ip: 107.180.71.197 From: kys@exchange.microsoft.com 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 16:15:57 -0700 Message-Id: <20170908231557.2419-1-kys@exchange.microsoft.com> X-Mailer: git-send-email 2.14.1 Reply-To: kys@microsoft.com X-CMAE-Envelope: MS4wfPCLSXAZJdwDXtKZAhKksh1symjf6rzWX4mMdVM53VUcmiVxt017Cx1Twx3MZDck+OxacuSoXYQavL/vbX8xbNTec2/cBc+imUz8LR01tS3U9684PtqV dIXGGaGpGgoaa7TyjDMtBGrB7fjmll5X2k5W+DL+9EmVNWpkn6bWvHvijNFgMRSgkuPCSarLyz20aMsonILy5bB4fByBUGUsHqtwhY9M1NcQe+/cbSuNSnc3 8zTHsBC8GTE2xlsI5IfzD19WG70Op9Xjj88UBmvs0DIS6vWZFNVSPoNVwGR0qa89NszZGj646lx8dClBN5CENGe998KZabWG8zJuDNb2BLqRYjGfHZmTi5Ed DvmQ0gL8AaGkMGJ6MTRc11QGcKOQO8IYG+hXG2MaTCOsl0MMuYMPPxHhSW+aC/OgJa0M9k8MEgJ9Trt5ZSTXKw1403gLx+ksNZfCEZ0ONa8KaM/zYeSI4dKR 5yFOxx+TZ/X3f3fN Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1042 Lines: 33 From: "K. Y. Srinivasan" 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