Messages in this thread | | | Date | Tue, 15 Jan 2008 09:16:50 -0800 | From | Jeremy Fitzhardinge <> | Subject | Folding _PAGE_PWT into _PAGE_PCD (was Re: unify pagetable accessors patch causes double fault II) |
| |
Ingo Molnar wrote: > -#define _PAGE_PRESENT (_AC(1, UL)<<_PAGE_BIT_PRESENT) > -#define _PAGE_RW (_AC(1, UL)<<_PAGE_BIT_RW) > -#define _PAGE_USER (_AC(1, UL)<<_PAGE_BIT_USER) > -#define _PAGE_PWT (_AC(1, UL)<<_PAGE_BIT_PWT) > -#define _PAGE_PCD ((_AC(1, UL)<<_PAGE_BIT_PCD) | _PAGE_PWT) >
BTW, I just noticed that _PAGE_PWT has been folded into _PAGE_PCD. This seems like a really bad idea to me, since it breaks the rule that _PAGE_X == 1 << _PAGE_BIT_X. I can't think of a specific place where this would cause problems, but this kind of non-uniformity always ends up biting someone in the arse.
I think having a specific _PAGE_NOCACHE which combines these bits is a better approach.
J
| |