cmd_line and cmd_preset in arch/ppc/boot/simple/misc.c
Leigh Brown
leigh at solinno.co.uk
Fri Jan 28 02:40:04 EST 2005
Rob Baxter said:
> On Wed, Jan 26, 2005 at 06:55:13PM -0000, Leigh Brown wrote:
>> Could someone please confirm that I'm not going mad? At least wrt
>> this ;-) We have this code in misc.c:
>>
>> #ifdef CONFIG_GEMINI
>> /*
>> * If cmd_line is empty and cmd_preset is not, copy cmd_preset
>> * to cmd_line. This way we can override cmd_preset with the
>> * command line from Smon.
>> */
>>
>> if ( (cmd_line[0] == '\0') && (cmd_preset[0] != '\0'))
>> memcpy (cmd_line, cmd_preset, sizeof(cmd_preset));
>> #endif
>>
>> /* Display standard Linux/PPC boot prompt for kernel args */
>> puts("\nLinux/PPC load: ");
>> cp = cmd_line;
>> memcpy (cmd_line, cmd_preset, sizeof(cmd_preset));
>>
>>
>> Surely the bit in the #ifdef is ineffective? Also, as cmd_line is
>> initialised to zeros, I think this is better:
>>
>> /*
>> * If cmd_line is empty and cmd_preset is not, copy cmd_preset
>> * to cmd_line. This way we can override cmd_preset with the
>> * command line from Smon.
>> */
>>
>> if ( (cmd_line[0] == '\0') && (cmd_preset[0] != '\0'))
>> memcpy (cmd_line, cmd_preset, sizeof(cmd_preset));
>>
>> /* Display standard Linux/PPC boot prompt for kernel args */
>> puts("\nLinux/PPC load: ");
>> cp = cmd_line;
>>
>> As, in the general case, cmd_line[0] will always be zero and
>> cmd_preset[0] will always be filled, so no need for an #ifdef.
>>
>> If someone can confirm I'm not mistaken, I can send a patch...
>
> No, you're not going mad...
>
> This piece code, CONFIG_GEMINI, complements a piece code in the GEMINI
> specific boot code. This piece of code is not part of the standard
> distribution. What this compliment piece of code did was to pass an
> optional command line from the firmware to misc.c.
Hi Rob, thanks for the answer. It was more the suggestion that the
code doesn't work: the bit in the #ifdef doesn't achieve anything
because just a few lines below it will *always* overwrite the
contents of cmd_line with the contents of cmd_preset...
Cheers,
Leigh.
More information about the Linuxppc-dev
mailing list