[Top] [All Lists]


To: Pete Popov <>
Subject: Re: PATCH
From: Pete Popov <>
Date: Mon, 11 Oct 2004 11:04:05 -0700
Cc: Atsushi Nemoto <>,,
In-reply-to: <>
Original-recipient: rfc822;
References: <1097452888.4627.25.camel@localhost.localdomain> <> <> <> <>
User-agent: Mozilla Thunderbird 0.7.3 (X11/20040803)
Pete Popov wrote:
Atsushi Nemoto wrote:

On Sun, 10 Oct 2004 17:47:20 -0700, Pete Popov <> said:

ppopov> Clearly a buglet, carried over from 2.4. That section of the
ppopov> code wouldn't even be compiled, since CONFIG_MIPS64 is not
ppopov> defined. I'll remove that and send a new patch. Anything else
ppopov> you see that's suspicious :)?

Hi.  I wonder why following change is needed.

--- include/asm-mips/page.h    20 Aug 2004 12:02:18 -0000    1.44
+++ include/asm-mips/page.h    19 Sep 2004 22:51:29 -0000
@@ -32,7 +32,7 @@
#define PAGE_SHIFT    16
-#define PAGE_SIZE    (1UL << PAGE_SHIFT)
+#define PAGE_SIZE    (1L << PAGE_SHIFT)
#define PAGE_MASK    (~(PAGE_SIZE-1))

#ifdef __KERNEL__

It was related to some compiler problem I mentioned to Ralf sometime ago. Perhaps it's not needed anymore, I'll take a look.

Turns out the problem is with the #define PAGE_MASK, when (1UL << PAGE_SHIFT) is used for PAGE_SIZE. The correct fix is already in the PPC tree and it doesn't use PAGE_SIZE to define PAGE_MASK. From the PPC tree:

 * Subtle: this is an int (not an unsigned long) and so it
 * gets extended to 64 bits the way [we] want (i.e. with 1s).  -- paulus
#define PAGE_MASK       (~((1 << PAGE_SHIFT) - 1))

I updated the patch and put a new version in my directory (v1.3). The diff is:

-#define PAGE_MASK      (~(PAGE_SIZE-1))
+#define PAGE_MASK       (~((1 << PAGE_SHIFT) - 1))

I'll work on the remap_pfn_range after those bits get to That will clean up the patch nicely.


<Prev in Thread] Current Thread [Next in Thread>