Messages in this thread Patch in this message | | | Date | Wed, 16 May 2007 08:50:34 +1000 | From | "andrew hendry" <> | Subject | Re: Linux 2.6.22-rc1 |
| |
Yes, putting the extern highstart_pfn back compiles clean for that rand config.
Sorry for the attachment, no access to a patch friendly mailer at work.
Andrew.
On 5/16/07, Linus Torvalds <torvalds@linux-foundation.org> wrote: > > > On Tue, 15 May 2007, andrew hendry wrote: > > > > almost, highstart_pfn is used in a few printks > > > > arch/i386/mm/discontig.c: In function 'setup_memory': > > arch/i386/mm/discontig.c:314: error: 'highstart_pfn' undeclared (first > > use in this function) > > arch/i386/mm/discontig.c:314: error: (Each undeclared identifier is > > reported only once > > arch/i386/mm/discontig.c:314: error: for each function it appears in.) > > Gaah. highstart_pfn is declared in <asm/highmem.h>, but that one is > protected by a > > #ifdef CONFIG_HIGHMEM > #include <asm/highmem.h> > > in <linux/highmem.h>, so even though we include highmem.h, we never see > the declaration. > > Your config is insane, but anyway, does it compile if you just add back > the extra "unnecessary" declaration of highstart_pfn? > > Linus > diff -uprN -X dontdiff a/arch/i386/mm/discontig.c b/arch/i386/mm/discontig.c --- a/arch/i386/mm/discontig.c 2007-05-15 15:19:49.000000000 +1000 +++ b/arch/i386/mm/discontig.c 2007-05-15 15:35:26.000000000 +1000 @@ -31,6 +31,7 @@ #include <linux/module.h> #include <linux/kexec.h> #include <linux/pfn.h> +#include <linux/swap.h> #include <asm/e820.h> #include <asm/setup.h> @@ -97,14 +98,9 @@ unsigned long node_memmap_size_bytes(int #endif extern unsigned long find_max_low_pfn(void); -extern void find_max_pfn(void); extern void add_one_highpage_init(struct page *, int, int); -extern struct e820map e820; -extern unsigned long highend_pfn, highstart_pfn; -extern unsigned long max_low_pfn; -extern unsigned long totalram_pages; -extern unsigned long totalhigh_pages; +extern unsigned long highstart_pfn; #define LARGE_PAGE_BYTES (PTRS_PER_PTE * PAGE_SIZE) @@ -360,7 +356,9 @@ void __init zone_sizes_init(void) max_zone_pfns[ZONE_DMA] = virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT; max_zone_pfns[ZONE_NORMAL] = max_low_pfn; +#ifdef CONFIG_HIGHMEM max_zone_pfns[ZONE_HIGHMEM] = highend_pfn; +#endif /* If SRAT has not registered memory, register it now */ if (find_max_pfn_with_active_regions() == 0) { for_each_online_node(nid) { | |