2.2.13 vs 2.3.22 arch/i386/mm/init.c

nathan.zook@amd.com
Mon, 25 Oct 1999 18:24:16 -0500


start_mem is treated differently in mem_init. This change appears to have
occurred when e820 support was added to 2.3.x, although it could (possibly)
be BIGMEM-related.

>From 2.2.13:
... mem_init(unsigned long start_mem, unsigned long end_mem )

...

start_mem = PAGE_ALIGN(start_mem);

...

while (start_mem < end_mem) {
...
start_mem += PAGE_SIZE;
}

...

else if (tmp >= (unsigned long) &__bss_start
&& tmp < (unsigned long start_mem)
datapages++;
else
reservedpages++;
continue;

>From 2.3.22:
... mem_init(unsigned long start_mem, unsigned long end_mem )

...

start_mem = PAGE_ALIGN(start_mem);

...

else if (tmp >= (unsigned long) &__bss_start
&& tmp < (unsigned long start_mem)
datapages++;
else
reservedpages++;
continue;

Now datapages and reservedpages are local to mem_init, and used only for a
printk which reports memory to dmesg. I shall assume that 2.2.13 is
correct, and my patch will include a fix for 2.3.22.

Nathan Zook

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/