Messages in this thread |  | | Date | Mon, 22 Dec 2008 21:52:19 -0800 | | From | "Yinghai Lu" <> | | Subject | Re: linux-next: parsing mem=700M broken |
| |
On Mon, Dec 22, 2008 at 7:06 PM, Hugh Dickins <hugh@veritas.com> wrote: > Hi Rusty, > > I find that bootparam "mem=700M" isn't working in linux-next or mmotm, > and have bisected it down to your patch below; but now I'm off to bed > without working out just what goes wrong (I'll bet it's the "="). > > Hugh > > commit 5c886584a758edba7e25ad9df974cf15a4a1f59d > Author: Rusty Russell <rusty@rustcorp.com.au> > Date: Wed Dec 3 13:34:34 2008 +1030 > > Call early_param earlier. > > We delete all the arch calls: we call it from start_kernel earlier > now. We also no longer take a temporary copy, but parse in place. > > Note: IA64 needs to parse "machvec=" before other commandline options > but machvec_init_from_cmdline() needs efi_init() and io_port_init(), > so they are all moved into arch_get_boot_command_line(). >
yeah, you are right.
static int __init parse_memopt(char *p) { u64 mem_size;
if (!p) return -EINVAL;
#ifdef CONFIG_X86_32 if (!strcmp(p, "nopentium")) { setup_clear_cpu_cap(X86_FEATURE_PSE); return 0; } #endif
userdef = 1; mem_size = memparse(p, &p); e820_remove_range(mem_size, ULLONG_MAX - mem_size, E820_RAM, 1);
return 0; } early_param("mem", parse_memopt);
in x86 we use that param analyser much later ( after we check the e820 table..)
other cpu flag will be overwrite too..
anyway, this patch is not go through x86 tip..., some strange!
YH
|  |