Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp1566915pxa; Thu, 6 Aug 2020 10:25:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzPeHTFpiIBoySFtoi87PMIt8BD5tEaWj12sHW04XRTW3NBnC7wMreybI3WMLZIaP7yZEYk X-Received: by 2002:aa7:da04:: with SMTP id r4mr4047714eds.265.1596734747890; Thu, 06 Aug 2020 10:25:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596734747; cv=none; d=google.com; s=arc-20160816; b=nyafn0h85h+dtXLc2lMuYgvOxo4pBsg5jurT2o7uX6vY5dPkP4TlgUvXtc2A28ARuz /+VS1Px25pMeL8gRh2EUnPjhDoTda513On9oOueMZlNJkKiqOaP9q0I3CuM0YzIcGAyS a4nCvvVYd+5HCe+/jxAZL88FwydX1LFpuevQJmf2swxtLwtAb1fzUWmCf+iN3rwZna2E 2cgEI3KYrAiHp4ol3N+mzYlKZdPvfmVlk4C1amae2aGCTNJZNnqLH1kndXy0qmqI9MFw dTp3tcU2z76y/lkmLRNojO4rROUdmGovzc97igFEcrvEfSvMweaEH2ACbhDl8sZhD/TD 2uwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:ironport-sdr:ironport-sdr; bh=rgE8jvB3KlcgMpnK17i4o4LXcvNqKTR2tdt+r/sr9eo=; b=f2wkZK56Vg5WK/IQOoEpjoLH+qwRoV0d7n2MgTFO5nE63+sMln6cLrIuxCowCM103c AVAUCBl624O3VegRBn+gTB2HXcTGJt+AmNyyypwIjs/8Mleh3bwVEFqkg4lleumX32xs TzUpLwDJMjUzMgmsUP4OKh27ZMdBTnCzQukg35P6jGKtnW9Ym2SuISMppojif7IR8Dm2 BjhYZFoxBsZmuC1sKNvRu7YWyuFxHvrnATDSexhCSKRGmn3vjaUAYwVUMlweRf+0UmeQ PGlAmQieiQO/IIIqvj+G6OkrGWc8s8d2t5APT90UuDR7ACOwpuTRf8fVDh1NEyenG6Ef oVOA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l18si3668231eds.376.2020.08.06.10.25.25; Thu, 06 Aug 2020 10:25:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729811AbgHFRWj (ORCPT + 99 others); Thu, 6 Aug 2020 13:22:39 -0400 Received: from mga11.intel.com ([192.55.52.93]:3476 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729665AbgHFRWh (ORCPT ); Thu, 6 Aug 2020 13:22:37 -0400 IronPort-SDR: yyORRzSJEl0V8o5hcvxC/eYyQIuLKGuLaZ8xFtrq3juxDof2VuGbePyuXWEPhvzTHZdGen/wX9 JjuxI0WMQAsw== X-IronPort-AV: E=McAfee;i="6000,8403,9704"; a="150518237" X-IronPort-AV: E=Sophos;i="5.75,441,1589266800"; d="scan'208";a="150518237" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Aug 2020 04:39:34 -0700 IronPort-SDR: GVSZ3kCnw8m+69EDPK41POPkktXHjiKGvSG3bhUH3UdHGxrs3zrMjvRdtn11fOgC27cPV+7RJP J7MU0L3LCb0w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,441,1589266800"; d="scan'208";a="316119581" Received: from shsi6026.sh.intel.com (HELO localhost) ([10.239.147.135]) by fmsmga004.fm.intel.com with ESMTP; 06 Aug 2020 04:39:30 -0700 From: Shuo Liu To: x86@kernel.org, linux-kernel@vger.kernel.org Cc: "H . Peter Anvin" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Sean Christopherson , Dan Williams , Yu Wang , Reinette Chatre , Fengwei Yin , Zhi Wang , Zhenyu Wang Subject: [PATCH] x86/acrn: Allow ACRN guest to use X2APIC mode Date: Thu, 6 Aug 2020 19:38:02 +0800 Message-Id: <20200806113802.9325-1-shuo.a.liu@intel.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The ACRN Hypervisor did not support x2APIC and thus x2APIC support was disabled by always returning false when VM checked for x2APIC support. ACRN received full support of x2APIC and exports the capability through CPUID feature bits. Let VM decide if it needs to switch to x2APIC mode according to CPUID features. Originally-by: Yakui Zhao Signed-off-by: Shuo Liu Reviewed-by: Reinette Chatre Cc: Dave Hansen Cc: Sean Christopherson Cc: Dan Williams Cc: Fengwei Yin Cc: Zhi Wang Cc: Zhenyu Wang Cc: Yu Wang Cc: Reinette Chatre --- arch/x86/kernel/cpu/acrn.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/cpu/acrn.c b/arch/x86/kernel/cpu/acrn.c index 1da9b1c9a2db..3b08cdfc6514 100644 --- a/arch/x86/kernel/cpu/acrn.c +++ b/arch/x86/kernel/cpu/acrn.c @@ -11,6 +11,7 @@ #include #include +#include #include #include #include @@ -29,12 +30,7 @@ static void __init acrn_init_platform(void) static bool acrn_x2apic_available(void) { - /* - * x2apic is not supported for now. Future enablement will have to check - * X86_FEATURE_X2APIC to determine whether x2apic is supported in the - * guest. - */ - return false; + return boot_cpu_has(X86_FEATURE_X2APIC); } static void (*acrn_intr_handler)(void); base-commit: 48778464bb7d346b47157d21ffde2af6b2d39110 -- 2.28.0