Re: [PATCH] powerpc: Fix mem= cmdline handling on arch/powerpc for !MULTIPLATFORM
From: Kumar Gala <hidden>
Date: 2006-02-27 16:13:05
Also in:
lkml
On Feb 26, 2006, at 2:38 PM, Dave Hansen wrote:
On Fri, 2006-02-24 at 10:54 -0600, Kumar Gala wrote:quoted
+ if (strstr(cmd_line, "mem=")) { + char *p, *q; + unsigned long maxmem = 0; + + for (q = cmd_line; (p = strstr(q, "mem=")) != 0; ) { + q = p + 4; + if (p > cmd_line && p[-1] != ' ') + continue; + maxmem = simple_strtoul(q, &q, 0); + if (*q == 'k' || *q == 'K') { + maxmem <<= 10; + ++q; + } else if (*q == 'm' || *q == 'M') { + maxmem <<= 20; + ++q; + } else if (*q == 'g' || *q == 'G') { + maxmem <<= 30; + ++q; + } + } + memory_limit = maxmem; + }You may want to check out lib/cmdline.c's memparse() function. I think it does this for you.
Yeah, found it after I sent the patch. Since Linus applied this version, I'll provide Paul a version that changes this code to use memparse for post 2.6.16. - kumar