Messages in this thread | | | From | Andreas Fenkart <> | Subject | Make totalhigh_pages of consistent type. | Date | Mon, 19 Oct 2009 00:49:27 +0200 |
| |
Printing the value of totalhigh_pages requires casting, like in this print message:
arch/x86/mm/init_32.c: printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, " "%dk reserved, %dk data, %dk init, %ldk highmem)\n", ... (unsigned long)(totalhigh_pages << (PAGE_SHIFT-10)));
The need for casting is due to totalhigh_pages being of different type, when CONFIG_HIGHMEM is set/unset.
include/linux/highmem.h: #ifdef CONFIG_HIGHMEM
extern unsigned long totalhigh_pages;
#else /* CONFIG_HIGHMEM */ -#define totalhigh_pages 0 +#define totalhigh_pages 0UL ...
For C files there should be no problem, because 0/0UL are both valid C and denote the same value. Assembly files are not affected, since linux/highmem.h can not be included from assembly.
| |