Re: Fwd: [PATCH] x86: Use larger chunks in mtrr_cleanup

Toshi Kani
2015-09-04T00:51:20Z

On Fri, 2015-09-04 at 01:54 +0200, Luis R. Rodriguez wrote:
> On Thu, Sep 03, 2015 at 05:21:14PM -0600, Toshi Kani wrote:
> > On Fri, 2015-09-04 at 00:45 +0200, Luis R. Rodriguez wrote:
> > > On Thu, Sep 03, 2015 at 04:25:31PM -0600, Toshi Kani wrote:
:
> > > > On Xen,
> > >
> > > When Xen is used a platform firmware may still set up MTRR, even if the
> > > hypervisor doesn't set up MTRR right ? So same issue and question here.
> >
> > Right, I meant to say Xen guests.
>
> Ah but its import complicated than that.
>
> > In case of the Xen hypervisor,
> > mtrr_type_lookup() returns a valid type as it runs on a platform.
>
> I am not sure if this happens today, I know MTRR is simply disabled by
> the Xen Hypervisor on the CPU explicitly, it disable it so guests reading
> the MTRR capabilities sees it as disabled when queried.

Oh, I would not let the hypervisor to disable MTRRs...

> Then since the Xen Linux guests cannot speak MTRR through the hypervisor
> (for instance Xen guests cannot ask Xen hypervisor to mtrr_type_lookup() for
> it) if PCI passthrough is used it could mean a guest might set up / use
> incorrect info as well.
>
> If I undestand this correctly then I think we're in a pickle with Xen unless
> we add hypervisor support and hypercall support for mtrr_type_lookup().

I was under assumption that MTRRs are emulated and disabled on guests. Isn't
guest physical address virtualized? I know other proprietary VMMs on IA64,
but know nothing about Xen... So, please disregard my comments to Xen. :-)

Thanks,
-Toshi