summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/kernel-parameters.txt8
-rw-r--r--arch/i386/kernel/setup.c6
2 files changed, 14 insertions, 0 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index dd5dcfe400d4..eb5c056ad26c 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -516,6 +516,14 @@ running once the system is up.
[KNL,BOOT] Force usage of a specific region of memory
Region of memory to be used, from ss to ss+nn.
+ mem=nn[KMG]#ss[KMG]
+ [KNL,BOOT,ACPI] Mark specific memory as ACPI data.
+ Region of memory to be used, from ss to ss+nn.
+
+ mem=nn[KMG]$ss[KMG]
+ [KNL,BOOT,ACPI] Mark specific memory as reserved.
+ Region of memory to be used, from ss to ss+nn.
+
mem=nopentium [BUGS=IA-32] Disable usage of 4MB pages for kernel
memory.
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c
index 203b37b81679..ba62d7575bd2 100644
--- a/arch/i386/kernel/setup.c
+++ b/arch/i386/kernel/setup.c
@@ -545,6 +545,12 @@ static void __init parse_cmdline_early (char ** cmdline_p)
if (*from == '@') {
start_at = memparse(from+1, &from);
add_memory_region(start_at, mem_size, E820_RAM);
+ } else if (*from == '#') {
+ start_at = memparse(from+1, &from);
+ add_memory_region(start_at, mem_size, E820_ACPI);
+ } else if (*from == '$') {
+ start_at = memparse(from+1, &from);
+ add_memory_region(start_at, mem_size, E820_RESERVED);
} else {
limit_regions(mem_size);
userdef=1;