On Fri, Dec 19, 2008 at 12:39:31PM -0500, Kyle McMartin wrote: > On Fri, Dec 19, 2008 at 12:36:15PM -0500, Carlos O'Donell wrote: > > On Fri, Dec 19, 2008 at 12:33 PM, Kyle McMartin <kyle@xxxxxxxxxxxxx> wrote: > > > On Fri, Dec 19, 2008 at 12:28:40PM -0500, Carlos O'Donell wrote: > > >> On Fri, Dec 19, 2008 at 11:44 AM, Kyle McMartin <kyle@xxxxxxxxxxxxx> wrote: > > >> > SPACEID_SHIFT is the number of spaceid bits, which is 32 on 64-bit. > > >> > > >> On 64-bit SPACEID_SHIFT is 11 bits. Verified by hand and by gcc -E/-dM > > >> and test program. > > >> > > >> On 32-bit SPACEID_SHIFT is 0 bits. Verified by hand. > > >> > > > > > > I just assumed MAX_ADDRBITS was 64. Anyway the point is moot. > > > > > > > I was just crossing the T's and dotting the I's. In case we need to > > remember what SPACEID_SHIFT value was if we see something sketchy. > > > > On 64-bit if you are not using 4kb pages, then SPACEID_SHIFT is 0 bits > > like a 32-bit kernel. > > > > That's a bug, and explains one of the reasons why !4K pages are broken. > Or rather not, my thinking being that context << 1 might end up being 33-bits, but I forgot we clip spaceids to the width of the protection registers, so this can't happen. -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html