On Sat, Feb 24, 2001 at 10:25:42AM -0700, Jeff Lessem wrote:
> In your message of: Sat, 24 Feb 2001 09:54:47 CST, you write:
> >Jeff, are you using the e820 memory map at all ?  In particular, are you
> >using grub or some other buggy bootloader that insists on specifying a
> >mem= option on the kernel command line ?  There should be a kernel command
> >line message very early on, what does that say ?
> 
> Yes, I am using grub, the buggy bootloader.  The relevant chunk of
> kernal messages are:
> 
>  BIOS-provided physical RAM map:
>   BIOS-e820: 000000000009f800 @ 0000000000000000 (usable)
>   BIOS-e820: 0000000000000800 @ 000000000009f800 (reserved)
>   BIOS-e820: 0000000000019800 @ 00000000000e6800 (reserved)
>   BIOS-e820: 0000000013ef0000 @ 0000000000100000 (usable)
>   BIOS-e820: 000000000000fc00 @ 0000000013ff0000 (ACPI data)
>   BIOS-e820: 0000000000000400 @ 0000000013fffc00 (ACPI NVS)
>   BIOS-e820: 0000000000080000 @ 00000000fff80000 (reserved)
>  On node 0 totalpages: 81904
>  zone(0): 4096 pages.
>  zone(1): 77808 pages.
>  zone(2): 0 pages.
>  Kernel command line: root=/dev/hda1 mem=327616K
> 
> You are dead on, mem= seems a bit small.  Forcing mem=320M on the
> command line fixes the problem completely.

Careful, you're overwriting ACPI data now (and using it as normal RAM).

Can you try one of a) LILO b) a fixed version of grub c) this patch ?

diff -ur linux/arch/i386/kernel/setup.c linux-prumpf/arch/i386/kernel/setup.c
--- linux/arch/i386/kernel/setup.c      Fri Feb 23 13:37:38 2001
+++ linux-prumpf/arch/i386/kernel/setup.c       Sat Feb 24 09:49:50 2001
@@ -555,30 +555,9 @@
                                e820.nr_map = 0;
                                usermem = 1;
                        } else {
-                               /* If the user specifies memory size, we
-                                * blow away any automatically generated
-                                * size
-                                */
-                               unsigned long start_at, mem_size;
- 
-                               if (usermem == 0) {
-                                       /* first time in: zap the whitelist
-                                        * and reinitialize it with the
-                                        * standard low-memory region.
-                                        */
-                                       e820.nr_map = 0;
-                                       usermem = 1;
-                                       add_memory_region(0, LOWMEMSIZE(), E820_RAM);
-                               }
-                               mem_size = memparse(from+4, &from);
+                               memparse(from+4, &from);
                                if (*from == '@')
-                                       start_at = memparse(from+1, &from);
-                               else {
-                                       start_at = HIGH_MEMORY;
-                                       mem_size -= HIGH_MEMORY;
-                                       usermem=0;
-                               }
-                               add_memory_region(start_at, mem_size, E820_RAM);
+                                       memparse(from+1, &from);
                        }
                }
                c = *(from++);
-
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/

Reply via email to