On Thu, 18 Oct 2007 13:15:36 +0200 Bernhard Walle <bwalle at suse.de> wrote: > This patch adds the BSS to the resource tree just as kernel text and kernel > data are in the resource tree. The main reason behind this is to avoid > crashkernel reservation in that area. > > While it's not strictly necessary to have the BSS in the resource tree > (the actual collision detection is done in the reserve_bootmem() function > before), the usage of the BSS resource should be presented to the user > in /proc/iomem just as Kernel data and Kernel code. > > Note: The patch currently is only implemented for x86 and ia64 (because > efi_initialize_iomem_resources() has the same signature on i386 and > ia64). > > > ... > > -extern char _text[], _end[], _etext[]; > + > +static struct resource bss_resource = { > + .name = "Kernel bss", > + .flags = IORESOURCE_BUSY | IORESOURCE_MEM > +}; > +extern char _text[], _end[], _etext[], _edata[], _bss[]; These should be in a header file. > --- a/arch/x86/kernel/e820_64.c > +++ b/arch/x86/kernel/e820_64.c > @@ -47,7 +47,7 @@ unsigned long end_pfn_map; > */ > static unsigned long __initdata end_user_pfn = MAXMEM>>PAGE_SHIFT; > > -extern struct resource code_resource, data_resource; > +extern struct resource code_resource, data_resource, bss_resource; As should these. afaik they're the same on all architectures and even if they have different names on some weird arch, an unused declaration won't hurt. > --- a/arch/x86/kernel/setup_32.c > +++ b/arch/x86/kernel/setup_32.c > @@ -73,6 +74,7 @@ int disable_pse __devinitdata = 0; > */ > extern struct resource code_resource; > extern struct resource data_resource; > +extern struct resource bss_resource; See, we keep on adding the same thing over and over again. These problems are not introduced by your changes, of course. But we really should degunk this stuff sometime.