[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] PVH and mtrr/PAT.........

> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxx
> [mailto:xen-devel-bounces@xxxxxxxxxxxxx] On Behalf Of Mukesh Rathor
> Sent: Wednesday, November 20, 2013 10:12 AM
> To: Xen-devel@xxxxxxxxxxxxxxxxxxx; Jan Beulich
> Subject: [Xen-devel] PVH and mtrr/PAT.........
> After rebasing my dom0 on latest, it didn't boot. After debugging
> couple days, it turned out to be :
> +    if ( is_pvh_domain(d) )
> +    {
> +        if ( direct_mmio )
> +            return MTRR_TYPE_UNCACHABLE;
> +        return MTRR_TYPE_WRBACK;
> +    }
> +
> I had in my patches, missing in epte_get_entry_emt() in latest.
> So, since I don't know much about this, is an HVM guest setting MTRR
> range types? Looking for suggestions on best way to do this for PVH.

When using EPT for HVM guest, the MTRRs have no effect on the memory type used 
for an access to an guest physical address.
Instead, the EMT (EPT memory type) in EPT entry acts as the role. 
epte_get_entry_emt() demonstrates how to determine the EMT for a certain 

> I thought from EPT standpoint, either RAM or IO region, so either
> the guest just writes to it natively. I'm confused between PAT and
> MTRRs, reading now that I can just focus on this fixme. Should I look
> where guest is parsing e820 and setting MTRRs on baremetal?

If "IPAT" bit in EPT entry is set to 1, PAT will not take effect and only EMT 
controls the memory type.
Otherwise if PAT and MTRR/EMT are both enabled, you can refer to a detailed 
table in SDM to see which memory type really takes effect.


> thanks
> Mukesh
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.