mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@ucw.cz>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Reserving physical memory at boot time
Date: Sat, 8 Mar 2003 00:19:54 +0100	[thread overview]
Message-ID: <20030307231954.GB164@elf.ucw.cz> (raw)
In-Reply-To: <3E67D89B.1010308@zytor.com>

Hi!

> > Really? So user has to know where ACPI tables are and specify less
> > than that on mem= command line? That seems very
> > counter-intuitive. [Ahha, its probaly okay because e820 saves you.]
> > 
> > What do you pass on 4GB machine as mem= parameter? AFAIK those beasts
> > have hole at 3.75G. [Hopefully bigmem machines have working e820
> > tables?]
> > 
> 
> If you pass mem= you have to pass mem=3840M.  Yes, it sucks, but if you
> genuinely have a machine which is so fucked up that you can't rely on
> the memory map the BIOS presents to you, you have problems to begin with.
> 
> Oh yes, this is why GRUB passing the mem= parameter gratuitously was
> beyond total and complete brainfuckage.

Okay; which mem= options you want killed?

What about this?
								Pavel

--- clean/arch/i386/kernel/setup.c	2003-03-06 23:25:14.000000000 +0100
+++ linux/arch/i386/kernel/setup.c	2003-03-08 00:18:21.000000000 +0100
@@ -527,6 +527,9 @@
 		 * to <mem>, overriding the bios size.
 		 * "mem=XXX[KkmM]@XXX[KkmM]" defines a memory region from
 		 * <start> to <start>+<mem>, overriding the bios size.
+		 *
+		 * HPA tells me bootloaders need to parse mem=, so no new
+		 * option should be mem=
 		 */
 		if (c == ' ' && !memcmp(from, "mem=", 4)) {
 			if (to != command_line)
@@ -535,8 +538,24 @@
 				from += 9+4;
 				clear_bit(X86_FEATURE_PSE, boot_cpu_data.x86_capability);
 				disable_pse = 1;
-			} else if (!memcmp(from+4, "exactmap", 8)) {
-				from += 8+4;
+			} else {
+				/* If the user specifies memory size, we
+				 * limit the BIOS-provided memory map to
+				 * that size. exactmap can be used to specify
+				 * the exact map. mem=number can be used to
+				 * trim the existing memory map.
+				 */
+				unsigned long long start_at, mem_size;
+ 
+				mem_size = memparse(from+4, &from);
+			}
+		}
+
+		if (c == ' ' && !memcmp(from, "memmap=", 7)) {
+			if (to != command_line)
+				to--;
+			if (!memcmp(from+7, "exactmap", 8)) {
+				from += 8+7;
 				e820.nr_map = 0;
 				userdef = 1;
 			} else {
@@ -548,7 +567,7 @@
 				 */
 				unsigned long long start_at, mem_size;
  
-				mem_size = memparse(from+4, &from);
+				mem_size = memparse(from+7, &from);
 				if (*from == '@') {
 					start_at = memparse(from+1, &from);
 					add_memory_region(start_at, mem_size, E820_RAM);
@@ -565,6 +584,7 @@
 			}
 		}
 
+
 		/* "acpi=off" disables both ACPI table parsing and interpreter init */
 		if (c == ' ' && !memcmp(from, "acpi=off", 8))
 			acpi_disabled = 1;


-- 
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]

  reply	other threads:[~2003-03-09 18:54 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-03 12:03 Duncan Sands
2002-12-03 21:11 ` Richard B. Johnson
2002-12-03 12:52   ` Duncan Sands
2002-12-03 22:14     ` Alan Cox
2002-12-03 21:58   ` Alan Cox
2002-12-03 22:18     ` bzeeb-lists
2002-12-04 13:25     ` Richard B. Johnson
     [not found]     ` <Pine.LNX.3.95.1021204082313.23777A-100000@chaos.analogic.c om>
2002-12-04 16:44       ` Mike Galbraith
2002-12-04  6:15         ` Duncan Sands
2002-12-05  5:44           ` Mike Galbraith
2002-12-04 17:01         ` Richard B. Johnson
2002-12-04 17:06           ` Randy.Dunlap
2003-03-05  5:44             ` H. Peter Anvin
2003-03-05  6:01               ` Randy.Dunlap
2003-03-05 15:04                 ` H. Peter Anvin
2003-03-05 15:43                   ` Randy.Dunlap
2003-03-05 15:48                     ` H. Peter Anvin
2003-03-06 21:26                   ` Pavel Machek
2003-03-06 23:24                     ` H. Peter Anvin
2003-03-07 23:19                       ` Pavel Machek [this message]
2003-03-09 21:08                         ` H. Peter Anvin
2003-03-09 23:07                           ` Randy.Dunlap
2002-12-03 23:23 ` James Stevenson
2002-12-04  3:53   ` Randy.Dunlap
2002-12-05  8:13 Suparna Bhattacharya

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030307231954.GB164@elf.ucw.cz \
    --to=pavel@ucw.cz \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®