Skip to contentSkip to conversation

documentation - mem=

PATCH New Magnus Damm 1 participant 1 message Dec 1, 2004 Documentation

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 documentation - mem=

Hi All,

I recently learnt that limiting RAM with by using only "mem=xxxM" is no good on machines equipped with PCI. In my case (vanilla 2.6.9) the cardbus bridge on my laptop got mapped to the unused RAM area which resulted in wierd errors due to the collision.

The right solution is to use "mem=" together with "memmap=" to mark the unused RAM area reserved.

Quoted 1 line

From now on I force the kernel to use 2016MiB by passing "mem=2016M

memmap=32M#2016M" instead of just "mem=2016M".

Anyway, this patch tried to document the behaviour. Please comment or apply.

Thanks!

/ magnus

Documentation/kernel-parameters.txt +3 -0
diff -urN linux-2.6.10-rc2-mm4/Documentation/kernel-parameters.txt linux-2.6.10-rc2-mm4-mem_hints/Documentation/kernel-parameters.txt
@@ -704,6 +704,9 @@
 	mem=nn[KMG]	[KNL,BOOT] Force usage of a specific amount of memory
 			Amount of memory to be used when the kernel is not able
 			to see the whole system memory or for test.
+			[IA-32] Use together with memmap= to avoid physical
+			address space collisions. Without memmap= PCI devices
+			could be placed at addresses belonging to unused RAM.
 
 	mem=nopentium	[BUGS=IA-32] Disable usage of 4MB pages for kernel
 			memory.
Documentation/memory.txt +5 -1
diff -urN linux-2.6.10-rc2-mm4/Documentation/memory.txt linux-2.6.10-rc2-mm4-mem_hints/Documentation/memory.txt
@@ -21,6 +21,8 @@
 All of these problems can be addressed with the "mem=XXXM" boot option
 (where XXX is the size of RAM to use in megabytes).  
 It can also tell Linux to use less memory than is actually installed.
+If you use "mem=" on a machine with PCI, consider using "memmap=" to avoid
+physical address space collisions.
 
 See the documentation of your boot loader (LILO, loadlin, etc.) about
 how to pass options to the kernel.
@@ -44,7 +46,9 @@
 	* Disabling the cache from the BIOS.
 
 	* Try passing the "mem=4M" option to the kernel to limit
-	  Linux to using a very small amount of memory.
+	  Linux to using a very small amount of memory. Use "memmap="-option
+	  together with "mem=" on systems with PCI to avoid physical address
+	  space collisions.
 
 
 Other tricks: