From patchwork Fri Jun 23 16:28:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Saurabh Singh Sengar X-Patchwork-Id: 112237 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp5919450vqr; Fri, 23 Jun 2023 10:07:10 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5i0pbLOrRlE2wGfVldeJHlauQMYdnNt8sEtdwG50DrEqGk7mIwXSlpOcjOM71oKuXm2Q9L X-Received: by 2002:a17:902:e5ce:b0:1b6:ab53:c7a5 with SMTP id u14-20020a170902e5ce00b001b6ab53c7a5mr5963687plf.46.1687540029858; Fri, 23 Jun 2023 10:07:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687540029; cv=none; d=google.com; s=arc-20160816; b=RmEimdj7YQsDNbGocmztuX3Njd4xcZ8+vud+CNa88+vPOT3AjiP1eKqMQ/7jGtwxXq VCCtltFObmtFScRd2AsxGkC8D7pM8ntWMGnN4IJsXxX8/HMwU1lHHlN9NXQJbn5/Xys2 Deaihn3zz1xkYyoHf0MCkGkrtrpBtBnjRJbz9+ckfetpVa2oByDIZsVRujqddm1zQ8Zd BJT4VGK4T+FnzkehEoizi3nBX3VuUY/n75t2UOXQhRyU59cK5OZtIBvx7AG1vuev0A2B lRhn6Ydr+wbaEIEzdPTxv6Si5fJ89f27ilnIiUzS4smEXwKlv9DmrUiSn+uiZbIy3jlO VpRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:to:from:dkim-signature :dkim-filter; bh=uUfUVqQEgw+ilqrVChAV82J5lEYGJvj7rlgWsv6YSw4=; b=C64H3/+RBixygrQTlvfxyVwYp3y2BGsqmRnKD+nIU8XoWcBY0JJV7q5UGwROxeWvHu jGlr6K0jQmC8i9SXtjQN42AssDjw30U2JsoTR9Y62u/yjipc3WGCsrFV/CSTLzvwDzNN dtyic3QYLPThkjic3/YP0NYFS4iBKi9wpc4wByd58rmAMOjuu+U1eQoACR4aybeQ/fh4 DhDG8NxbdQBChd0D08Ts9gOuJN5SjYRkvKfVF3jImt5mJmnsXHK59Ed5yRaIzQporD4V 3l8hcUSSGIMyVbOHrVJIPXzWrKQ9FXkCxr5YAAh3z+v0w40Dd9h1CGfUSjtVMnOTSdEz MLJg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=cqHRvziE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l5-20020a170903120500b001b5585f943esi10685110plh.80.2023.06.23.10.06.57; Fri, 23 Jun 2023 10:07:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=cqHRvziE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232080AbjFWQ2T (ORCPT + 99 others); Fri, 23 Jun 2023 12:28:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42548 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231773AbjFWQ2Q (ORCPT ); Fri, 23 Jun 2023 12:28:16 -0400 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 2E73E2710; Fri, 23 Jun 2023 09:28:15 -0700 (PDT) Received: from linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net (linux.microsoft.com [13.77.154.182]) by linux.microsoft.com (Postfix) with ESMTPSA id 8FD8D21C2534; Fri, 23 Jun 2023 09:28:14 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 8FD8D21C2534 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1687537694; bh=uUfUVqQEgw+ilqrVChAV82J5lEYGJvj7rlgWsv6YSw4=; h=From:To:Subject:Date:From; b=cqHRvziEAvf0RxzqcfNW+exJH4CcnrVS1eBGZD39s6fAfgq3ftupa+o/VlRst20Sm jeNNVPXTHHDXiUcvLVk9cuosBriMbnXql3akrDHZNRcSnm5G8EdmkF3XnPdDV8WxM8 QGpjZW9Zf6aUmU9/1zP/rGKjQL1YmxORyyDuV2yM= From: Saurabh Sengar To: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, mikelley@microsoft.com, linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org, hpa@zytor.com Subject: [PATCH v3] x86/hyperv: add noop functions to x86_init mpparse functions Date: Fri, 23 Jun 2023 09:28:08 -0700 Message-Id: <1687537688-5397-1-git-send-email-ssengar@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 X-Spam-Status: No, score=-19.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL, USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1769513974363593994?= X-GMAIL-MSGID: =?utf-8?q?1769513974363593994?= Hyper-V can run VMs at different privilege "levels" known as Virtual Trust Levels (VTL). Sometimes, it chooses to run two different VMs at different levels but they share some of their address space. In such setups VTL2 (higher level VM) has visibility of all of the VTL0 (level 0) memory space. When the CONFIG_X86_MPPARSE is enabled for VTL2, the VTL2 kernel performs a search within the low memory to locate MP tables. However, in systems where VTL0 manages the low memory and may contain valid tables, this scanning can result in incorrect MP table information being provided to the VTL2 kernel, mistakenly considering VTL0's MP table as its own Add noop functions to avoid MP parse scan by VTL2. Signed-off-by: Saurabh Sengar Acked-by: Dave Hansen --- [V3] - modify commit message. arch/x86/hyperv/hv_vtl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/hyperv/hv_vtl.c b/arch/x86/hyperv/hv_vtl.c index 85d38b9f3586..db5d2ea39fc0 100644 --- a/arch/x86/hyperv/hv_vtl.c +++ b/arch/x86/hyperv/hv_vtl.c @@ -25,6 +25,10 @@ void __init hv_vtl_init_platform(void) x86_init.irqs.pre_vector_init = x86_init_noop; x86_init.timers.timer_init = x86_init_noop; + /* Avoid searching for BIOS MP tables */ + x86_init.mpparse.find_smp_config = x86_init_noop; + x86_init.mpparse.get_smp_config = x86_init_uint_noop; + x86_platform.get_wallclock = get_rtc_noop; x86_platform.set_wallclock = set_rtc_noop; x86_platform.get_nmi_reason = hv_get_nmi_reason;