Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-27 Thread Jan Engelhardt

On Apr 26 2007 11:24, Andi Kleen wrote:
>On Thursday 26 April 2007 07:45:09 Randy Dunlap wrote:
>> From: Randy Dunlap <[EMAIL PROTECTED]>
>> 
>> Eliminate 19439 (!!) sparse warnings like:
>> include/linux/mm.h:321:22: warning: constant 0x8100 is so big it 
>> is unsigned long
>
>Sparse is just wrong here. The C standard does make it unsigned long long
>automatically

Wish it did...

(32bit i386):
08:47 ichi:/dev/shm > cat foo.c
unsigned long long a = 0x123456789;
08:47 ichi:/dev/shm > cc -c foo.c -Wall
foo.c:1: warning: integer constant is too large for ‘long’ type
Or is this something else?

Jan
-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-27 Thread Jan Engelhardt

On Apr 26 2007 11:24, Andi Kleen wrote:
On Thursday 26 April 2007 07:45:09 Randy Dunlap wrote:
 From: Randy Dunlap [EMAIL PROTECTED]
 
 Eliminate 19439 (!!) sparse warnings like:
 include/linux/mm.h:321:22: warning: constant 0x8100 is so big it 
 is unsigned long

Sparse is just wrong here. The C standard does make it unsigned long long
automatically

Wish it did...

(32bit i386):
08:47 ichi:/dev/shm  cat foo.c
unsigned long long a = 0x123456789;
08:47 ichi:/dev/shm  cc -c foo.c -Wall
foo.c:1: warning: integer constant is too large for ‘long’ type
Or is this something else?

Jan
-- 
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-26 Thread Andi Kleen
On Thursday 26 April 2007 07:45:09 Randy Dunlap wrote:
> From: Randy Dunlap <[EMAIL PROTECTED]>
> 
> Eliminate 19439 (!!) sparse warnings like:
> include/linux/mm.h:321:22: warning: constant 0x8100 is so big it 
> is unsigned long

Sparse is just wrong here. The C standard does make it unsigned long long
automatically

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-26 Thread Randy Dunlap

Andrew Morton wrote:

On Wed, 25 Apr 2007 23:21:55 -0700 Randy Dunlap <[EMAIL PROTECTED]> wrote:


Andrew Morton wrote:

On Wed, 25 Apr 2007 23:07:56 -0700 Randy Dunlap <[EMAIL PROTECTED]> wrote:


oh.  there is already an include/asm-x86_64/const.h that will help
with that.  I'll try it out.

No there isn't ;)  There's a sparc64 one which looks good.  Worth promoting
to include/linux?

Did you look in -mm?  I did.



Oh.

Still, duplicating that file seems silly.


Ack.  But that's a different patch.  :)

--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-26 Thread Andrew Morton
On Wed, 25 Apr 2007 23:21:55 -0700 Randy Dunlap <[EMAIL PROTECTED]> wrote:

> Andrew Morton wrote:
> > On Wed, 25 Apr 2007 23:07:56 -0700 Randy Dunlap <[EMAIL PROTECTED]> wrote:
> > 
> >> oh.  there is already an include/asm-x86_64/const.h that will help
> >> with that.  I'll try it out.
> > 
> > No there isn't ;)  There's a sparc64 one which looks good.  Worth promoting
> > to include/linux?
> 
> Did you look in -mm?  I did.
> 

Oh.

Still, duplicating that file seems silly.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-26 Thread Randy Dunlap

Andrew Morton wrote:

On Wed, 25 Apr 2007 23:07:56 -0700 Randy Dunlap <[EMAIL PROTECTED]> wrote:


oh.  there is already an include/asm-x86_64/const.h that will help
with that.  I'll try it out.


No there isn't ;)  There's a sparc64 one which looks good.  Worth promoting
to include/linux?


Did you look in -mm?  I did.

--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-26 Thread Andrew Morton
On Wed, 25 Apr 2007 23:07:56 -0700 Randy Dunlap <[EMAIL PROTECTED]> wrote:

> oh.  there is already an include/asm-x86_64/const.h that will help
> with that.  I'll try it out.

No there isn't ;)  There's a sparc64 one which looks good.  Worth promoting
to include/linux?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-26 Thread Randy Dunlap

Andrew Morton wrote:

On Wed, 25 Apr 2007 22:45:09 -0700 Randy Dunlap <[EMAIL PROTECTED]> wrote:


From: Randy Dunlap <[EMAIL PROTECTED]>

Eliminate 19439 (!!) sparse warnings like:
include/linux/mm.h:321:22: warning: constant 0x8100 is so big it is 
unsigned long

Eliminate 56 sparse warnings like:
arch/x86_64/kernel/setup.c:248:16: warning: constant 0x8000 is so 
big it is unsigned long

Eliminate 5 sparse warnings like:
arch/x86_64/kernel/module.c:49:13: warning: constant 0xfff0 is so 
big it is unsigned long

Eliminate 23 sparse warnings like:
arch/x86_64/mm/init.c:551:37: warning: constant 0xc200 is so big it 
is unsigned long

Eliminate 6 sparse warnings like:
arch/x86_64/kernel/module.c:49:13: warning: constant 0x8800 is so 
big it is unsigned long

Eliminate 23 sparse warnings like:
arch/x86_64/mm/init.c:552:6: warning: constant 0xe1ff is so big it 
is unsigned long

Eliminate 3 sparse warnings like:
arch/x86_64/kernel/e820.c:186:17: warning: constant 0x3fff is so big it 
is long

...

+#ifdef __ASSEMBLY__
 #define MAXMEM  0x3fff
 #define VMALLOC_START0xc200
 #define VMALLOC_END  0xe1ff
 #define MODULES_VADDR0x8800
 #define MODULES_END  0xfff0
 #define MODULES_LEN   (MODULES_END - MODULES_VADDR)
+#else
+#define MAXMEM  0x3fffUL
+#define VMALLOC_START0xc200UL
+#define VMALLOC_END  0xe1ffUL
+#define MODULES_VADDR0x8800UL
+#define MODULES_END  0xfff0UL
+#define MODULES_LEN   (MODULES_END - MODULES_VADDR)
+#endif
 


hm, the duplication is unfortunate.


Yep.


I wonder if it's worth doing a cpp token-pasting trick to avoid having to
do that.


oh.  there is already an include/asm-x86_64/const.h that will help
with that.  I'll try it out.


--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-26 Thread Randy Dunlap

Andrew Morton wrote:

On Wed, 25 Apr 2007 22:45:09 -0700 Randy Dunlap [EMAIL PROTECTED] wrote:


From: Randy Dunlap [EMAIL PROTECTED]

Eliminate 19439 (!!) sparse warnings like:
include/linux/mm.h:321:22: warning: constant 0x8100 is so big it is 
unsigned long

Eliminate 56 sparse warnings like:
arch/x86_64/kernel/setup.c:248:16: warning: constant 0x8000 is so 
big it is unsigned long

Eliminate 5 sparse warnings like:
arch/x86_64/kernel/module.c:49:13: warning: constant 0xfff0 is so 
big it is unsigned long

Eliminate 23 sparse warnings like:
arch/x86_64/mm/init.c:551:37: warning: constant 0xc200 is so big it 
is unsigned long

Eliminate 6 sparse warnings like:
arch/x86_64/kernel/module.c:49:13: warning: constant 0x8800 is so 
big it is unsigned long

Eliminate 23 sparse warnings like:
arch/x86_64/mm/init.c:552:6: warning: constant 0xe1ff is so big it 
is unsigned long

Eliminate 3 sparse warnings like:
arch/x86_64/kernel/e820.c:186:17: warning: constant 0x3fff is so big it 
is long

...

+#ifdef __ASSEMBLY__
 #define MAXMEM  0x3fff
 #define VMALLOC_START0xc200
 #define VMALLOC_END  0xe1ff
 #define MODULES_VADDR0x8800
 #define MODULES_END  0xfff0
 #define MODULES_LEN   (MODULES_END - MODULES_VADDR)
+#else
+#define MAXMEM  0x3fffUL
+#define VMALLOC_START0xc200UL
+#define VMALLOC_END  0xe1ffUL
+#define MODULES_VADDR0x8800UL
+#define MODULES_END  0xfff0UL
+#define MODULES_LEN   (MODULES_END - MODULES_VADDR)
+#endif
 


hm, the duplication is unfortunate.


Yep.


I wonder if it's worth doing a cpp token-pasting trick to avoid having to
do that.


oh.  there is already an include/asm-x86_64/const.h that will help
with that.  I'll try it out.


--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-26 Thread Andrew Morton
On Wed, 25 Apr 2007 23:07:56 -0700 Randy Dunlap [EMAIL PROTECTED] wrote:

 oh.  there is already an include/asm-x86_64/const.h that will help
 with that.  I'll try it out.

No there isn't ;)  There's a sparc64 one which looks good.  Worth promoting
to include/linux?
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-26 Thread Randy Dunlap

Andrew Morton wrote:

On Wed, 25 Apr 2007 23:07:56 -0700 Randy Dunlap [EMAIL PROTECTED] wrote:


oh.  there is already an include/asm-x86_64/const.h that will help
with that.  I'll try it out.


No there isn't ;)  There's a sparc64 one which looks good.  Worth promoting
to include/linux?


Did you look in -mm?  I did.

--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-26 Thread Andrew Morton
On Wed, 25 Apr 2007 23:21:55 -0700 Randy Dunlap [EMAIL PROTECTED] wrote:

 Andrew Morton wrote:
  On Wed, 25 Apr 2007 23:07:56 -0700 Randy Dunlap [EMAIL PROTECTED] wrote:
  
  oh.  there is already an include/asm-x86_64/const.h that will help
  with that.  I'll try it out.
  
  No there isn't ;)  There's a sparc64 one which looks good.  Worth promoting
  to include/linux?
 
 Did you look in -mm?  I did.
 

Oh.

Still, duplicating that file seems silly.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-26 Thread Randy Dunlap

Andrew Morton wrote:

On Wed, 25 Apr 2007 23:21:55 -0700 Randy Dunlap [EMAIL PROTECTED] wrote:


Andrew Morton wrote:

On Wed, 25 Apr 2007 23:07:56 -0700 Randy Dunlap [EMAIL PROTECTED] wrote:


oh.  there is already an include/asm-x86_64/const.h that will help
with that.  I'll try it out.

No there isn't ;)  There's a sparc64 one which looks good.  Worth promoting
to include/linux?

Did you look in -mm?  I did.



Oh.

Still, duplicating that file seems silly.


Ack.  But that's a different patch.  :)

--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-26 Thread Andi Kleen
On Thursday 26 April 2007 07:45:09 Randy Dunlap wrote:
 From: Randy Dunlap [EMAIL PROTECTED]
 
 Eliminate 19439 (!!) sparse warnings like:
 include/linux/mm.h:321:22: warning: constant 0x8100 is so big it 
 is unsigned long

Sparse is just wrong here. The C standard does make it unsigned long long
automatically

-Andi
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-25 Thread Andrew Morton
On Wed, 25 Apr 2007 22:45:09 -0700 Randy Dunlap <[EMAIL PROTECTED]> wrote:

> From: Randy Dunlap <[EMAIL PROTECTED]>
> 
> Eliminate 19439 (!!) sparse warnings like:
> include/linux/mm.h:321:22: warning: constant 0x8100 is so big it 
> is unsigned long
> 
> Eliminate 56 sparse warnings like:
> arch/x86_64/kernel/setup.c:248:16: warning: constant 0x8000 is so 
> big it is unsigned long
> 
> Eliminate 5 sparse warnings like:
> arch/x86_64/kernel/module.c:49:13: warning: constant 0xfff0 is so 
> big it is unsigned long
> 
> Eliminate 23 sparse warnings like:
> arch/x86_64/mm/init.c:551:37: warning: constant 0xc200 is so big 
> it is unsigned long
> 
> Eliminate 6 sparse warnings like:
> arch/x86_64/kernel/module.c:49:13: warning: constant 0x8800 is so 
> big it is unsigned long
> 
> Eliminate 23 sparse warnings like:
> arch/x86_64/mm/init.c:552:6: warning: constant 0xe1ff is so big 
> it is unsigned long
> 
> Eliminate 3 sparse warnings like:
> arch/x86_64/kernel/e820.c:186:17: warning: constant 0x3fff is so big 
> it is long
> 
> ...
>
> +#ifdef __ASSEMBLY__
>  #define MAXMEM0x3fff
>  #define VMALLOC_START0xc200
>  #define VMALLOC_END  0xe1ff
>  #define MODULES_VADDR0x8800
>  #define MODULES_END  0xfff0
>  #define MODULES_LEN   (MODULES_END - MODULES_VADDR)
> +#else
> +#define MAXMEM0x3fffUL
> +#define VMALLOC_START0xc200UL
> +#define VMALLOC_END  0xe1ffUL
> +#define MODULES_VADDR0x8800UL
> +#define MODULES_END  0xfff0UL
> +#define MODULES_LEN   (MODULES_END - MODULES_VADDR)
> +#endif
>  

hm, the duplication is unfortunate.

I wonder if it's worth doing a cpp token-pasting trick to avoid having to
do that.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-25 Thread Randy Dunlap
From: Randy Dunlap <[EMAIL PROTECTED]>

Eliminate 19439 (!!) sparse warnings like:
include/linux/mm.h:321:22: warning: constant 0x8100 is so big it is 
unsigned long

Eliminate 56 sparse warnings like:
arch/x86_64/kernel/setup.c:248:16: warning: constant 0x8000 is so 
big it is unsigned long

Eliminate 5 sparse warnings like:
arch/x86_64/kernel/module.c:49:13: warning: constant 0xfff0 is so 
big it is unsigned long

Eliminate 23 sparse warnings like:
arch/x86_64/mm/init.c:551:37: warning: constant 0xc200 is so big it 
is unsigned long

Eliminate 6 sparse warnings like:
arch/x86_64/kernel/module.c:49:13: warning: constant 0x8800 is so 
big it is unsigned long

Eliminate 23 sparse warnings like:
arch/x86_64/mm/init.c:552:6: warning: constant 0xe1ff is so big it 
is unsigned long

Eliminate 3 sparse warnings like:
arch/x86_64/kernel/e820.c:186:17: warning: constant 0x3fff is so big it 
is long

Signed-off-by: Randy Dunlap <[EMAIL PROTECTED]>
---
 include/asm-x86_64/page.h|   11 +++
 include/asm-x86_64/pgtable.h |9 +
 2 files changed, 20 insertions(+)

--- linux-2.6.21-rc7-mm1.orig/include/asm-x86_64/page.h
+++ linux-2.6.21-rc7-mm1/include/asm-x86_64/page.h
@@ -80,9 +80,16 @@ extern unsigned long phys_base;
 
 #define __PHYSICAL_START   CONFIG_PHYSICAL_START
 #define __KERNEL_ALIGN 0x20
+
+#ifdef __ASSEMBLY__
 #define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START)
 #define __START_KERNEL_map 0x8000
 #define __PAGE_OFFSET   0x8100
+#else
+#define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START)
+#define __START_KERNEL_map 0x8000UL
+#define __PAGE_OFFSET   0x8100UL
+#endif
 
 /* to align the pointer to the (next) page boundary */
 #define PAGE_ALIGN(addr)   (((addr)+PAGE_SIZE-1)_MASK)
@@ -94,7 +101,11 @@ extern unsigned long phys_base;
 #define __VIRTUAL_MASK ((_AC(1,UL) << __VIRTUAL_MASK_SHIFT) - 1)
 
 #define KERNEL_TEXT_SIZE  (40*1024*1024)
+#ifdef __ASSEMBLY__
 #define KERNEL_TEXT_START 0x8000
+#else
+#define KERNEL_TEXT_START 0x8000UL
+#endif
 
 #ifndef __ASSEMBLY__
 
--- linux-2.6.21-rc7-mm1.orig/include/asm-x86_64/pgtable.h
+++ linux-2.6.21-rc7-mm1/include/asm-x86_64/pgtable.h
@@ -134,12 +134,21 @@ static inline pte_t ptep_get_and_clear_f
 #define USER_PTRS_PER_PGD  ((TASK_SIZE-1)/PGDIR_SIZE+1)
 #define FIRST_USER_ADDRESS 0
 
+#ifdef __ASSEMBLY__
 #define MAXMEM  0x3fff
 #define VMALLOC_START0xc200
 #define VMALLOC_END  0xe1ff
 #define MODULES_VADDR0x8800
 #define MODULES_END  0xfff0
 #define MODULES_LEN   (MODULES_END - MODULES_VADDR)
+#else
+#define MAXMEM  0x3fffUL
+#define VMALLOC_START0xc200UL
+#define VMALLOC_END  0xe1ffUL
+#define MODULES_VADDR0x8800UL
+#define MODULES_END  0xfff0UL
+#define MODULES_LEN   (MODULES_END - MODULES_VADDR)
+#endif
 
 #define _PAGE_BIT_PRESENT  0
 #define _PAGE_BIT_RW   1
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-25 Thread Randy Dunlap
From: Randy Dunlap [EMAIL PROTECTED]

Eliminate 19439 (!!) sparse warnings like:
include/linux/mm.h:321:22: warning: constant 0x8100 is so big it is 
unsigned long

Eliminate 56 sparse warnings like:
arch/x86_64/kernel/setup.c:248:16: warning: constant 0x8000 is so 
big it is unsigned long

Eliminate 5 sparse warnings like:
arch/x86_64/kernel/module.c:49:13: warning: constant 0xfff0 is so 
big it is unsigned long

Eliminate 23 sparse warnings like:
arch/x86_64/mm/init.c:551:37: warning: constant 0xc200 is so big it 
is unsigned long

Eliminate 6 sparse warnings like:
arch/x86_64/kernel/module.c:49:13: warning: constant 0x8800 is so 
big it is unsigned long

Eliminate 23 sparse warnings like:
arch/x86_64/mm/init.c:552:6: warning: constant 0xe1ff is so big it 
is unsigned long

Eliminate 3 sparse warnings like:
arch/x86_64/kernel/e820.c:186:17: warning: constant 0x3fff is so big it 
is long

Signed-off-by: Randy Dunlap [EMAIL PROTECTED]
---
 include/asm-x86_64/page.h|   11 +++
 include/asm-x86_64/pgtable.h |9 +
 2 files changed, 20 insertions(+)

--- linux-2.6.21-rc7-mm1.orig/include/asm-x86_64/page.h
+++ linux-2.6.21-rc7-mm1/include/asm-x86_64/page.h
@@ -80,9 +80,16 @@ extern unsigned long phys_base;
 
 #define __PHYSICAL_START   CONFIG_PHYSICAL_START
 #define __KERNEL_ALIGN 0x20
+
+#ifdef __ASSEMBLY__
 #define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START)
 #define __START_KERNEL_map 0x8000
 #define __PAGE_OFFSET   0x8100
+#else
+#define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START)
+#define __START_KERNEL_map 0x8000UL
+#define __PAGE_OFFSET   0x8100UL
+#endif
 
 /* to align the pointer to the (next) page boundary */
 #define PAGE_ALIGN(addr)   (((addr)+PAGE_SIZE-1)PAGE_MASK)
@@ -94,7 +101,11 @@ extern unsigned long phys_base;
 #define __VIRTUAL_MASK ((_AC(1,UL)  __VIRTUAL_MASK_SHIFT) - 1)
 
 #define KERNEL_TEXT_SIZE  (40*1024*1024)
+#ifdef __ASSEMBLY__
 #define KERNEL_TEXT_START 0x8000
+#else
+#define KERNEL_TEXT_START 0x8000UL
+#endif
 
 #ifndef __ASSEMBLY__
 
--- linux-2.6.21-rc7-mm1.orig/include/asm-x86_64/pgtable.h
+++ linux-2.6.21-rc7-mm1/include/asm-x86_64/pgtable.h
@@ -134,12 +134,21 @@ static inline pte_t ptep_get_and_clear_f
 #define USER_PTRS_PER_PGD  ((TASK_SIZE-1)/PGDIR_SIZE+1)
 #define FIRST_USER_ADDRESS 0
 
+#ifdef __ASSEMBLY__
 #define MAXMEM  0x3fff
 #define VMALLOC_START0xc200
 #define VMALLOC_END  0xe1ff
 #define MODULES_VADDR0x8800
 #define MODULES_END  0xfff0
 #define MODULES_LEN   (MODULES_END - MODULES_VADDR)
+#else
+#define MAXMEM  0x3fffUL
+#define VMALLOC_START0xc200UL
+#define VMALLOC_END  0xe1ffUL
+#define MODULES_VADDR0x8800UL
+#define MODULES_END  0xfff0UL
+#define MODULES_LEN   (MODULES_END - MODULES_VADDR)
+#endif
 
 #define _PAGE_BIT_PRESENT  0
 #define _PAGE_BIT_RW   1
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH -mm] x86_64: kill 19000+ sparse warnings

2007-04-25 Thread Andrew Morton
On Wed, 25 Apr 2007 22:45:09 -0700 Randy Dunlap [EMAIL PROTECTED] wrote:

 From: Randy Dunlap [EMAIL PROTECTED]
 
 Eliminate 19439 (!!) sparse warnings like:
 include/linux/mm.h:321:22: warning: constant 0x8100 is so big it 
 is unsigned long
 
 Eliminate 56 sparse warnings like:
 arch/x86_64/kernel/setup.c:248:16: warning: constant 0x8000 is so 
 big it is unsigned long
 
 Eliminate 5 sparse warnings like:
 arch/x86_64/kernel/module.c:49:13: warning: constant 0xfff0 is so 
 big it is unsigned long
 
 Eliminate 23 sparse warnings like:
 arch/x86_64/mm/init.c:551:37: warning: constant 0xc200 is so big 
 it is unsigned long
 
 Eliminate 6 sparse warnings like:
 arch/x86_64/kernel/module.c:49:13: warning: constant 0x8800 is so 
 big it is unsigned long
 
 Eliminate 23 sparse warnings like:
 arch/x86_64/mm/init.c:552:6: warning: constant 0xe1ff is so big 
 it is unsigned long
 
 Eliminate 3 sparse warnings like:
 arch/x86_64/kernel/e820.c:186:17: warning: constant 0x3fff is so big 
 it is long
 
 ...

 +#ifdef __ASSEMBLY__
  #define MAXMEM0x3fff
  #define VMALLOC_START0xc200
  #define VMALLOC_END  0xe1ff
  #define MODULES_VADDR0x8800
  #define MODULES_END  0xfff0
  #define MODULES_LEN   (MODULES_END - MODULES_VADDR)
 +#else
 +#define MAXMEM0x3fffUL
 +#define VMALLOC_START0xc200UL
 +#define VMALLOC_END  0xe1ffUL
 +#define MODULES_VADDR0x8800UL
 +#define MODULES_END  0xfff0UL
 +#define MODULES_LEN   (MODULES_END - MODULES_VADDR)
 +#endif
  

hm, the duplication is unfortunate.

I wonder if it's worth doing a cpp token-pasting trick to avoid having to
do that.

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/