Re: PATCH

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Pete Popov wrote:
Atsushi Nemoto wrote:

On Sun, 10 Oct 2004 17:47:20 -0700, Pete Popov <ppopov@xxxxxxxxxxxxxxxxx> 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 @@
#ifdef CONFIG_PAGE_SIZE_64KB
#define PAGE_SHIFT    16
#endif
-#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 kernel.org. That will clean up the patch nicely.

Pete




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux