Re: [PATCH -v7 11/11] Move arch/x86 reboot= handling to generic kernel.

Ingo Molnar
2013-05-02T07:34:10Z

* Robin Holt <holt@sgi.com> wrote:

> Merge together the unicore32, arm, and x86 reboot= command line
> parameter handling.

Nice!

> + switch (*str) {
> +#if defined(CONFIG_X86) || defined(CONFIG_X86_64)
> + case 'w':
> + reboot_mode = REBOOT_WARM;
> + break;
> +
> + case 'c':
> + reboot_mode = REBOOT_COLD;
> + break;
> +
> +#ifdef CONFIG_SMP
> + case 's':
> + if (isdigit(*(str+1))) {
> + reboot_cpu = (int) (*(str+1) - '0');
> + if (isdigit(*(str+2)))
> + reboot_cpu = reboot_cpu*10 + (int)(*(str+2) - '0');
> + }
> + /*
> + * We will leave sorting out the final value
> + * when we are ready to reboot, since we might not
> + * have detected BSP APIC ID or smp_num_cpu
> + */
> + break;
> +#endif /* CONFIG_SMP */
> +
> +#else
> + case 's':
> + reboot_mode = REBOOT_WARM;
> + case 'h':
> + reboot_mode = REBOOT_COLD;
> +#endif

This architecture dependent bit is not so nice.

I doubt the 's' parameter is used widely at all on x86 [it's more like a
debug/hack parameter], so might as well just pick up a new character (for
example capital 'S'?) and have the same parameters on every architecture.

Thanks,

Ingo