Keith Mannthey said:
  The parameter hotadd_percent is setup right but there is a "Malformed
  early option 'numa'" message.
Rusty Russell said:
  This happens when the function registered with early_param() returns
  non-zero.  __setup() functions return 1 if OK, module_param() and
  early_param() return 0 or a -ve error code.
For instance:
Linux version 2.6.25-rc3-t (raa@steel) (gcc version 4.1.3 
20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)) #22 SMP PREEMPT Tue Feb 26
BIOS-provided physical RAM map:
 BIOS-e820: 
0000000000000000 - 
00000000000a0000 (usable)
 BIOS-e820: 
00000000000f0000 - 
0000000000100000 (reserved)
 BIOS-e820: 
0000000000100000 - 
000000003fff0000 (usable)
 BIOS-e820: 
000000003fff0000 - 
000000003fff3000 (ACPI NVS)
 BIOS-e820: 
000000003fff3000 - 
0000000040000000 (ACPI data)
 BIOS-e820: 
00000000fec00000 - 
0000000100000000 (reserved)
Malformed early option 'loglevel'
127MB HIGHMEM available.
896MB LOWMEM available.
Command line:
BOOT_IMAGE=2.6.25-t ro root=809 ro console=ttyS0,57600n8 console=tty0 loglevel=5
Acked-by: Yinghai Lu <yhlu.kernel@gmai.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Keith Mannthey <kmannth@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 static int __init loglevel(char *str)
 {
        get_option(&str, &console_loglevel);
-       return 1;
+       return 0;
 }
 
 early_param("loglevel", loglevel);