>>> On 26.01.17 at 13:39, <dw...@infradead.org> wrote:
> --- a/xen/arch/x86/hvm/mtrr.c
> +++ b/xen/arch/x86/hvm/mtrr.c
> @@ -773,18 +773,20 @@ int epte_get_entry_emt(struct domain *d, unsigned long 
> gfn, mfn_t mfn,
>      if ( v->domain != d )
>          v = d->vcpu ? d->vcpu[0] : NULL;
>  
> -    if ( !mfn_valid(mfn_x(mfn)) ||
> -         rangeset_contains_range(mmio_ro_ranges, mfn_x(mfn),
> -                                 mfn_x(mfn) + (1UL << order) - 1) )
> +    /* Mask, not add, for order so it works with INVALID_MFN on unmapping */
> +    if ( rangeset_overlaps_range(mmio_ro_ranges, mfn_x(mfn),
> +                              mfn_x(mfn) | ((1UL << order) - 1)) )

Hmm, didn't you say you'd take care of the hard tabs?

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to