From patchwork Tue Jun 27 11:53:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 113415 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp8168658vqr; Tue, 27 Jun 2023 05:50:03 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7o0o3LQ9MQQvUw0AJftjCpzctu42JUbU+kx0EN6MSO7fHxtH6U5PpwRidY5vMK9sdlYNgd X-Received: by 2002:a17:906:9bc2:b0:98d:ef34:c0c8 with SMTP id de2-20020a1709069bc200b0098def34c0c8mr6644494ejc.67.1687870203211; Tue, 27 Jun 2023 05:50:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687870203; cv=none; d=google.com; s=arc-20160816; b=gQ/VEUnzZQt+iTyoDsX+LjLljku9sYZhyHEajaU5y9szI7jzcdxxdqWL3yQsLlocV0 QTev9hrV8D7sSBBrz8e6dpGEvVsVGHssxb4iXliE1L+Hsvb8dFBWq3GJ+HdYYKWaKQJD AU7vzlsh+3TYgOc51/nicrFH29vjt9QgEjEVD/sb729MA3ahwR/KMzTiNCpOSCXkdpjL +OqYkvyFCDTx/gSfrhVEAT+a+ILX6JJjAnvuEfjb1EcMstre5feUgB3BKfSXkWLfL6sy NSMZDQ5ndHiv7G2uvCRy7iaUFGP5pcJTlJ5DQkx7WJRFXrcL8BI+osD69sHLiX6ceD0d AaaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-disposition:mime-version:message-id :subject:cc:to:from:date:dkim-signature:dkim-signature; bh=QVMqZQIXUOVG5eYZAyqFtJFEjSnD1IRV6U7Mbt88SAo=; fh=5ZjxVYKXeWzXrQtuvh8WKOTEKQBUJ80ckFoMga5XCYE=; b=y8GDJEgwHKn2RCnXdV98/FQVKYHrYOW/LJj8yBb7nGohqsY8Yi2NRa+139zXBoqmxV M3MZ/50svKi1fzPWaL//ZSkQ1PFfNczOeJRFmzMTTvN0dBfKeMR705mJpxYrjmY8IaM7 rEC0QRAJfnQZMG5HT2ArbuarlpU1eJqWO3S5d+oeQRibLJsHfJdBjSnaDlgT1W+PBHRD pAfcDXmeEOBV4z+a9Z8RU9IkOKtqm4M9l7u7bwIlKEZ/46hw8dH/n3GnZmU6cfYT9CGA lOK24FNFHTfHrRW0CItFee/F8M94Ehbrc3TtOyinGbcI9jUnCC3xXuj6UlrS9Jsl01Xl s8tQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@alien8.de header.s=dkim header.b=Sl6nRiSL; dkim=pass header.i=@alien8.de header.s=alien8 header.b=bjA7XTCV; 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=alien8.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r15-20020aa7cfcf000000b0051a267fc66bsi4068618edy.115.2023.06.27.05.49.35; Tue, 27 Jun 2023 05:50:03 -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=@alien8.de header.s=dkim header.b=Sl6nRiSL; dkim=pass header.i=@alien8.de header.s=alien8 header.b=bjA7XTCV; 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=alien8.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230299AbjF0Lx0 (ORCPT + 99 others); Tue, 27 Jun 2023 07:53:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229707AbjF0LxY (ORCPT ); Tue, 27 Jun 2023 07:53:24 -0400 Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D8948DA for ; Tue, 27 Jun 2023 04:53:22 -0700 (PDT) Received: from mail.alien8.de (mail.alien8.de [65.109.113.108]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 5224E1EC068B; Tue, 27 Jun 2023 13:53:21 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim; t=1687866801; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:in-reply-to:references; bh=QVMqZQIXUOVG5eYZAyqFtJFEjSnD1IRV6U7Mbt88SAo=; b=Sl6nRiSL5vsXMqI9fYXwubLzKiGooiprAOUHYQ9llbTAazYYREiWu9IoO9VEQs7CnvZH90 nLDGAgqgcQODa+oiCXdH5W6T4SeBqY1S9k/b9ykuHJINqymZJX0kLedt0gVLWbDcCt3Ad4 jJlSp03x2jdzCGDuAUr46FiZ/FkkUXk= X-Virus-Scanned: Debian amavisd-new at mail.alien8.de Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key) header.d=alien8.de Received: from mail.alien8.de ([127.0.0.1]) by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id yf7zup4Kvp_z; Tue, 27 Jun 2023 11:53:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8; t=1687866798; bh=QVMqZQIXUOVG5eYZAyqFtJFEjSnD1IRV6U7Mbt88SAo=; h=Date:From:To:Cc:Subject:From; b=bjA7XTCVvv1bFynBtGa78lIxaRIWXCXz+7ecOtNZltuym7GCJvV6IIhlWeSJhEQre xII9Ulk184/CSYhClj4XAAWOMlnFnVUCiJqz5JQ4akDR4Lux7Pam1AvlDX32yg1gg2 He1ER6d8SSbX9gfyUOTLtER047L4sIjQPZnD9b4+x3SEFn28qQceCumeSLc0/6wwN1 nQfnWRjR8I/OHS/pOwpWicqXO/ZKPEAHHyVwPHrwUyoaqgVfHMF2drJcZKNzvIwwtY NSOHSTdkHy+duZpY9aHydMh+ESMCvbdZEC4dFr+pNBNl9XxamZ+pKnLuym4dxX6q7g 68i3XfyntVDLMyXYFQ55WwS+PW+d5QcMgcgnvqbAJhZuH5e7LrIC64a4JTzJoF5E3r l5G0hDp0zkjc1uDZuFEmBo9Qdhmn/Pa74YtA297k8uMZ5YjR7d0it5g3oOyv2lFPi9 9fyL+sZTL7sQPzj8Gsk0imFrFZDBJOCAZzqFn0/apfrEupgXaTRuCGj+ezGkXa4y+R xOG71IMJ0WkuEmfR2ZnujAaR2zEcfZAfQ2sBm6jXREikwhdXzm0nftrgnmarCxrL/x SK+AjdGB0VaBR73xB/nf0K5+FeAyp8Zi1TWQALUIKcVfR6xOkOPnKjztsaGIjejfRD WjRUJm1fy3td7TZ9g6cPoXsw= Received: from zn.tnic (pd9530d32.dip0.t-ipconnect.de [217.83.13.50]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id A5E5240E0035; Tue, 27 Jun 2023 11:53:15 +0000 (UTC) Date: Tue, 27 Jun 2023 13:53:11 +0200 From: Borislav Petkov To: Linus Torvalds Cc: x86-ml , lkml Subject: [GIT PULL] x86/mtrr for 6.5 Message-ID: <20230627115311.GEZJrNp+K+a3qqNKGO@fat_crate.local> MIME-Version: 1.0 Content-Disposition: inline X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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?1769860186320852769?= X-GMAIL-MSGID: =?utf-8?q?1769860186320852769?= Hi Linus, please pull the MTRR cleanup Juergen has been working on for a while now, for 6.5. Thx. --- The following changes since commit ac9a78681b921877518763ba0e89202254349d1b: Linux 6.4-rc1 (2023-05-07 13:34:35 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git tags/x86_mtrr_for_v6.5 for you to fetch changes up to 30d65d1b19850c9bc8c17dba8ebe9be5e0c17054: x86/xen: Set default memory type for PV guests to WB (2023-06-16 11:22:33 +0200) ---------------------------------------------------------------- - A serious scrubbing of the MTRR code including adding a new map mechanism in order to look up the memory type of a region easily. Also address memory range lookup issues like returning an invalid memory type. Furthermore, this handles the decoupling of PAT from MTRR more naturally. All work by Juergen Gross ---------------------------------------------------------------- Borislav Petkov (AMD) (1): x86/mtrr: Unify debugging printing Juergen Gross (17): x86/mtrr: Remove physical address size calculation x86/mtrr: Replace size_or_mask and size_and_mask with a much easier concept x86/mtrr: Support setting MTRR state for software defined MTRRs x86/hyperv: Set MTRR state when running as SEV-SNP Hyper-V guest x86/xen: Set MTRR state when running as Xen PV initial domain x86/mtrr: Replace vendor tests in MTRR code x86/mtrr: Have only one set_mtrr() variant x86/mtrr: Move 32-bit code from mtrr.c to legacy.c x86/mtrr: Allocate mtrr_value array dynamically x86/mtrr: Add get_effective_type() service function x86/mtrr: Construct a memory map with cache modes x86/mtrr: Add mtrr=debug command line option x86/mtrr: Use new cache_map in mtrr_type_lookup() x86/mtrr: Don't let mtrr_type_lookup() return MTRR_TYPE_INVALID x86/mm: Only check uniform after calling mtrr_type_lookup() x86/mtrr: Remove unused code x86/xen: Set default memory type for PV guests to WB Documentation/admin-guide/kernel-parameters.txt | 4 + arch/x86/hyperv/ivm.c | 4 + arch/x86/include/asm/mtrr.h | 51 +- arch/x86/include/uapi/asm/mtrr.h | 14 +- arch/x86/kernel/cpu/mtrr/Makefile | 2 +- arch/x86/kernel/cpu/mtrr/amd.c | 2 +- arch/x86/kernel/cpu/mtrr/centaur.c | 11 +- arch/x86/kernel/cpu/mtrr/cleanup.c | 87 ++- arch/x86/kernel/cpu/mtrr/cyrix.c | 2 +- arch/x86/kernel/cpu/mtrr/generic.c | 675 ++++++++++++++++-------- arch/x86/kernel/cpu/mtrr/legacy.c | 90 ++++ arch/x86/kernel/cpu/mtrr/mtrr.c | 206 ++------ arch/x86/kernel/cpu/mtrr/mtrr.h | 31 +- arch/x86/kernel/setup.c | 2 + arch/x86/mm/pgtable.c | 24 +- arch/x86/xen/enlighten_pv.c | 54 ++ 16 files changed, 777 insertions(+), 482 deletions(-) create mode 100644 arch/x86/kernel/cpu/mtrr/legacy.c