|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 20/34] x86/mtrr: move is_var_mtrr_overlapped
>>> On 17.08.18 at 17:12, <wei.liu2@xxxxxxxxxx> wrote:
> Move it to x86 generic code. While at it, use proper boolean type.
>
> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
with a couple of cosmetic adjustments beyond the bool
conversion you've already done:
> +bool is_var_mtrr_overlapped(const struct mtrr_state *m)
> +{
> + unsigned int seg, i;
> + unsigned int num_var_ranges = MASK_EXTR(m->mtrr_cap, MTRRcap_VCNT);
> +
> + for ( i = 0; i < num_var_ranges; i++ )
> + {
> + uint64_t base1 = m->var_ranges[i].base >> PAGE_SHIFT;
> + uint64_t mask1 = m->var_ranges[i].mask >> PAGE_SHIFT;
Here and below I wonder whether PFN_DOWN() wouldn't be
appropriate to use. I'll leave that up to you though.
> + if ( !(m->var_ranges[i].mask & MTRR_PHYSMASK_VALID) )
> + continue;
> +
> + for ( seg = i + 1; seg < num_var_ranges; seg ++ )
Stray blank before ++.
> + {
> + uint64_t base2 = m->var_ranges[seg].base >> PAGE_SHIFT;
> + uint64_t mask2 = m->var_ranges[seg].mask >> PAGE_SHIFT;
> +
> + if ( !(m->var_ranges[seg].mask & MTRR_PHYSMASK_VALID) )
> + continue;
> +
> + if ( (base1 & mask1 & mask2) == (base2 & mask2 & mask1) )
> + {
> + /* MTRR is overlapped. */
"MTRRs overlap" or some such.
> + return true;
> + }
> + }
> + }
> + return false;
> +}
Blank line ahead of main "return" please.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |