Re: RIP MTRR - status update for upcoming v4.2

From: Luis R. Rodriguez
Date: Thu Jun 11 2015 - 20:52:36 EST


On Thu, Jun 11, 2015 at 05:23:16PM -0600, Toshi Kani wrote:
> On Thu, 2015-06-11 at 13:36 -0700, Luis R. Rodriguez wrote:
> :
> > Pending RIP MTRR patches
> > ====================
> >
> > There are a few pending series so I wanted to provide a status update
> > on those series.
> >
> > mtrr: bury MTRR - unexport mtrr_add() and mtrr_del()
> >
> > This is the nail on the MTRR coffin, it will prevent future direct
> > access to MTRR code. This will not be posted until all of the below
> > patches are in and merged. A possible next step here might be to
> > consider separating PAT code from MTRR code and making PAT a first
> > class citizen, enabling distributions to disable MTRR code in the
> > future. I thought this was possible but for some reason I recently
> > thought that there was one possible issue to make this happen. I
> > suppose we won't know unless we try, unless of course someone already
> > knows, Toshi?
>
> 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.
>
> UEFI memory table has memory attribute, which describes cache types
> supported in physical memory ranges. However, this information gets
> lost when it it is converted to e820 table.

Is there no way to modify CPU capability bits upon boot and kick UEFI
to re-evaluate ? In such UEFI cases what happens for instance when
Xen is used which does not support MTRR?

Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/