From: "Huang, Kai" <kai.huang@intel.com>
To: "Gross, Jurgen" <jgross@suse.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"x86@kernel.org" <x86@kernel.org>
Cc: "tglx@linutronix.de" <tglx@linutronix.de>,
"hpa@zytor.com" <hpa@zytor.com>,
"mingo@redhat.com" <mingo@redhat.com>,
"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
"mikelley@microsoft.com" <mikelley@microsoft.com>,
"bp@alien8.de" <bp@alien8.de>
Subject: Re: [PATCH v5 04/15] x86/mtrr: support setting MTRR state for software defined MTRRs
Date: Mon, 3 Apr 2023 09:27:52 +0000 [thread overview]
Message-ID: <ee5a89965a49dab6e6946fe6b6614db60a77c8ca.camel@intel.com> (raw)
In-Reply-To: <45062273-9550-be39-3e53-cb8b35717fa9@suse.com>
> > > /**
> > > * mtrr_type_lookup - look up memory type in MTRR
> > > *
> > > diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c
> > > index 1beb38f7a7a3..1c19d67ddab3 100644
> > > --- a/arch/x86/kernel/cpu/mtrr/mtrr.c
> > > +++ b/arch/x86/kernel/cpu/mtrr/mtrr.c
> > > @@ -666,6 +666,15 @@ void __init mtrr_bp_init(void)
> > > const char *why = "(not available)";
> > > unsigned int phys_addr;
> > >
> > > + if (!generic_mtrrs && mtrr_state.enabled) {
> > > + /* Software overwrite of MTRR state, only for generic case. */
> > ^
> > !generic case?
>
> No. This test just verifies that the (visible) MTRR feature is switched off,
> as there are no ways to modify any MTRR registers in the overwrite case.
>
> I can make this more obvious in a comment.
Should the comment say something like (because it applies to the code inside the
check):
If we have a static (synthetic) MTRR already established for special
VMs, we still need to calculate the physical address bits using
generic
way, because the hardware to run those special VMs indeed has MTRR.
That explains why 'true' is passed to mtrr_calc_physbits().
?
>
>
> Juergen
next prev parent reply other threads:[~2023-04-03 9:28 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-01 6:36 [PATCH v5 00/15] x86/mtrr: fix handling with PAT but without MTRR Juergen Gross
2023-04-01 6:36 ` [PATCH v5 01/15] x86/mtrr: split off physical address size calculation Juergen Gross
2023-04-01 6:36 ` [PATCH v5 02/15] x86/mtrr: optimize mtrr_calc_physbits() Juergen Gross
2023-04-01 6:36 ` [PATCH v5 03/15] x86/mtrr: replace some constants with defines Juergen Gross
2023-04-03 16:03 ` Borislav Petkov
2023-04-05 7:55 ` Juergen Gross
2023-04-05 20:26 ` Borislav Petkov
2023-04-11 13:32 ` Juergen Gross
2023-04-01 6:36 ` [PATCH v5 04/15] x86/mtrr: support setting MTRR state for software defined MTRRs Juergen Gross
2023-04-03 2:25 ` Huang, Kai
2023-04-03 7:10 ` Juergen Gross
2023-04-03 9:27 ` Huang, Kai [this message]
2023-04-03 9:35 ` Juergen Gross
2023-04-03 9:44 ` Huang, Kai
2023-04-03 9:43 ` Huang, Kai
2023-04-11 13:20 ` Borislav Petkov
2023-04-11 13:31 ` Juergen Gross
2023-04-11 17:14 ` Borislav Petkov
2023-04-11 13:59 ` Michael Kelley (LINUX)
2023-04-11 14:04 ` Juergen Gross
2023-04-11 14:26 ` Borislav Petkov
2023-04-11 15:57 ` Juergen Gross
2023-04-11 17:15 ` Borislav Petkov
2023-04-12 8:30 ` Juergen Gross
2023-04-11 14:25 ` Borislav Petkov
2023-04-01 6:36 ` [PATCH v5 05/15] x86/hyperv: set MTRR state when running as SEV-SNP Hyper-V guest Juergen Gross
2023-04-02 2:36 ` Michael Kelley (LINUX)
2023-04-01 6:36 ` [PATCH v5 06/15] x86/xen: set MTRR state when running as Xen PV initial domain Juergen Gross
2023-04-01 6:36 ` [PATCH v5 07/15] x86/mtrr: replace vendor tests in MTRR code Juergen Gross
2023-04-12 8:45 ` Borislav Petkov
2023-04-12 10:25 ` Juergen Gross
2023-04-01 6:36 ` [PATCH v5 08/15] x86/mtrr: have only one set_mtrr() variant Juergen Gross
2023-04-12 12:30 ` Borislav Petkov
2023-04-12 12:56 ` Juergen Gross
2023-04-12 20:09 ` Borislav Petkov
2023-04-01 6:36 ` [PATCH v5 09/15] x86/mtrr: allocate mtrr_value array dynamically Juergen Gross
2023-04-12 21:11 ` Borislav Petkov
2023-04-13 10:07 ` Juergen Gross
2023-04-01 6:36 ` [PATCH v5 10/15] x86/mtrr: add get_effective_type() service function Juergen Gross
2023-04-01 6:36 ` [PATCH v5 11/15] x86/mtrr: construct a memory map with cache modes Juergen Gross
2023-04-20 12:15 ` Borislav Petkov
2023-04-20 12:30 ` Juergen Gross
2023-04-20 12:30 ` Juergen Gross
2023-04-20 13:01 ` Borislav Petkov
2023-04-20 13:57 ` Juergen Gross
2023-04-20 14:54 ` Borislav Petkov
2023-04-20 15:10 ` Juergen Gross
2023-04-21 11:23 ` Borislav Petkov
2023-04-21 14:35 ` Juergen Gross
2023-04-01 6:36 ` [PATCH v5 12/15] x86/mtrr: use new cache_map in mtrr_type_lookup() Juergen Gross
2023-04-01 6:36 ` [PATCH v5 13/15] x86/mtrr: don't let mtrr_type_lookup() return MTRR_TYPE_INVALID Juergen Gross
2023-04-01 6:36 ` [PATCH v5 14/15] x86/mm: only check uniform after calling mtrr_type_lookup() Juergen Gross
2023-04-01 6:36 ` [PATCH v5 15/15] x86/mtrr: remove unused code Juergen Gross
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ee5a89965a49dab6e6946fe6b6614db60a77c8ca.camel@intel.com \
--to=kai.huang@intel.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mikelley@microsoft.com \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®