Re: [PATCH v4 2/7] mtrr, x86: Fix MTRR lookup to handle inclusive entry

Toshi Kani
2015-05-05T20:25:59Z

On Tue, 2015-05-05 at 22:09 +0200, Borislav Petkov wrote:
> On Tue, May 05, 2015 at 01:31:32PM -0600, Toshi Kani wrote:
> > Well, the comment kinda says it already, but I will try to clarify it.
> >
> > /*
> > * We have start:end spanning across an MTRR.
> > * We split the region into either
> > * - start_state:1
> > * (start:mtrr_end) (mtrr_end:end)
> > * - end_state:1 or inclusive:1
> > * (start:mtrr_start) (mtrr_start:end)
>
> What I mean is this:
>
> * - start_state:1
> * (start:mtrr_end) (mtrr_end:end)
> * - end_state:1
> * (start:mtrr_start) (mtrr_start:end)
> * - inclusive:1
> * (start:mtrr_start) (mtrr_start:mtrr_end) (mtrr_end:end)
> *
> * depending on kind of overlap.
> *
> * Return the type of the first region and a pointer to the start
> * of next region so that caller will be advised to lookup again
> * after having adjusted start and end.
> *
> * Note: This way we handle multiple overlaps as well.
> */
>
> We add comments so that people can read them and can quickly understand
> what the function does. Not to make them parse it and wonder why
> inclusive:1 is listed together with end_state:1 which returns two
> intervals.
>
> Note that I changed the text to talk about the *next* region and not
> about the *second* region, to make it even more clear.

Thanks for the suggestion. I see your point. I will update it
accordingly.
-Toshi