From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Date: Mon, 15 Jun 2015 06:20:10 +0000 Subject: Re: [Xen-devel] RIP MTRR - status update for upcoming v4.2 Message-Id: <557E8ABA02000078000849A8@mail.emea.novell.com> List-Id: References: <1434064996.11808.64.camel@misato.fc.hp.com> <557AAD910200007800084014@mail.emea.novell.com> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Andy Lutomirski Cc: "Luis R. Rodriguez" , Bjorn Helgaas , Jej B , Toshi Kani , X86 ML , Andrew Morton , ville.syrjala@linux.intel.com, Julia Lawall , "xen-devel@lists.xenproject.org" , Dave Airlie , syrjala@sci.fi, Juergen Gross , Luis Rodriguez , Borislav Petkov , Tomi Valkeinen , linux-fbdev , "linux-kernel@vger.kernel.org" , linux-media@vger.kernel.org, "linux-pci@vger.kernel.org" >>> On 13.06.15 at 01:15, wrote: > On Jun 12, 2015 12:59 AM, "Jan Beulich" wrote: >> >> >>> On 12.06.15 at 01:23, wrote: >> > There are two usages on MTRRs: >> > 1) MTRR entries set by firmware >> > 2) MTRR entries set by OS drivers >> > >> > We can obsolete 2), but we have no control over 1). As UEFI firmwares >> > also set this up, this usage will continue to stay. So, we should not >> > get rid of the MTRR code that looks up the MTRR entries, while we have >> > no need to modify them. >> > >> > Such MTRR entries provide safe guard to /dev/mem, which allows >> > privileged user to access a range that may require UC mapping while >> > the /dev/mem driver blindly maps it with WB. MTRRs converts WB to UC in >> > such a case. >> >> But it wouldn't be impossible to simply read the MTRRs upon boot, >> store the information, disable MTRRs, and correctly use PAT to >> achieve the same effect (i.e. the "blindly maps" part of course >> would need fixing). > > This may crash and burn badly when we call a UEFI function or an SMI > happens. I think we should just leave the MTRRs alone. I buy the SMI part, but UEFI runtime calls are being done on page tables we construct and control, so attributes could be kept correct without relying on MTRRs. Jan