--- linux/arch/i386/kernel/setup.bak Tue Apr 9 02:52:19 2002
+++ linux/arch/i386/kernel/setup.c Tue Apr 9 03:04:38 2002
@@ -722,6 +722,8 @@
* to <mem>, overriding the bios size.
* "mem=XXX[KkmM]@XXX[KkmM]" defines a memory region from
* <start> to <start>+<mem>, overriding the bios size.
+ * "mem=+start-end" appends a new memory region from <start>
+ * to <end>. Values can be prepended with '0x'.
*/
if (c == ' ' && !memcmp(from, "mem=", 4)) {
if (to != command_line)
@@ -733,6 +735,14 @@
from += 8+4;
e820.nr_map = 0;
usermem = 1;
+ } else if(*(from+4) == '+') {
+ unsigned long long start, end;
+
+ start = simple_strtoull(from+5, &from, 0);
+ if(*from == '-') {
+ end = simple_strtoull(from+1, &from, 0);
+ add_memory_region(start, end-start, E820_RAM);
+ }
} else {
/* If the user specifies memory size, we
* blow away any automatically generated
Size text uses the first 256KB of video ram, and the framebuffer address
started at 0xfc000000, I tried the following option to effectively double
system RAM:
mem=+0xfa040000-0xfc000000
The first time I booted, the kernel said I should compile in HIGHMEM support
and everything booted with the normal memory maps. When compiling with HIGHMEM,
the computer stopped after displaying 'Uncompressing the kernel...done',
probably in a loop dealing with the memory table, since it stopped before
printing out the table.
Does the kernel support noncontiguous main memory like this, or is it just
plain impossible to use PCI-mapped memory as main memory?
Thanks,
-Byron
-- Byron Stanoszek Ph: (330) 644-3059 Systems Programmer Fax: (330) 644-8110 Commercial Timesharing Inc. Email: byron@comtime.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/