]> git.pld-linux.org Git - packages/kernel.git/blame - jam-08-memparam.patch
- obsolete
[packages/kernel.git] / jam-08-memparam.patch
CommitLineData
e6d11017
JR
1 Fix mem=XXX kernel parameter when user gives a size bigger than what
2 kernel autodetected (kill a previous change)
3 Author: Adrian Bunk <bunk@fs.tum.de>,
4 Leonardo Gomes Figueira <sabbath@planetarium.com.br>
5
6--- linux/arch/i386/kernel/setup.c.original Mon Jul 22 21:44:45 2002
7+++ linux/arch/i386/kernel/setup.c Tue Jul 23 03:38:08 2002
8@@ -770,21 +770,29 @@
9 userdef = 1;
10 } else {
11 /* If the user specifies memory size, we
12- * limit the BIOS-provided memory map to
13- * that size. exactmap can be used to specify
14- * the exact map. mem=number can be used to
15- * trim the existing memory map.
16+ * blow away any automatically generated
17+ * size
18 */
19 unsigned long long start_at, mem_size;
20
21+ if (userdef == 0) {
22+ /* first time in: zap the whitelist
23+ * and reinitialize it with the
24+ * standard low-memory region.
25+ */
26+ e820.nr_map = 0;
27+ userdef = 1;
28+ add_memory_region(0, LOWMEMSIZE(), E820_RAM);
29+ }
30 mem_size = memparse(from+4, &from);
31- if (*from == '@') {
32+ if (*from == '@')
33 start_at = memparse(from+1, &from);
34- add_memory_region(start_at, mem_size, E820_RAM);
35- } else {
36- limit_regions(mem_size);
37+ else {
38+ start_at = HIGH_MEMORY;
39+ mem_size -= HIGH_MEMORY;
40 userdef=1;
41 }
42+ add_memory_region(start_at, mem_size, E820_RAM);
43 }
44 }
45
This page took 0.112116 seconds and 4 git commands to generate.