diff options
author | Dmitri Vorobiev <dmitri.vorobiev@movial.com> | 2009-11-21 15:34:41 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-12-16 20:57:35 -0500 |
commit | 6acc7d485c24c00e111c61b2e6dff9180faebcae (patch) | |
tree | 7c7519153775b20a87ff1a4745d16b0f1369861a /arch/mips/Kconfig.debug | |
parent | de4148f3ef54b644a181ad75a6fb4b373f2b01f0 (diff) |
MIPS: Fix and enhance built-in kernel command line
Currently, MIPS kernels silently overwrite kernel command-line parameters
hardcoded in CONFIG_CMDLINE by the ones received from firmware. Therefore,
using firmware remains the only reliable method to transfer the
command-line parameters, which is not always desirable or convenient, and
the CONFIG_CMDLINE option is thereby effectively rendered useless.
This patch fixes the problem described above and introduces a more flexible
scheme of handling the kernel command line, in a manner identical to what is
currently used for x86. The default behavior, i.e. when CONFIG_CMDLINE_BOOL
is not defined, retains the existing semantics, and firmware command-line
arguments override the hardcoded ones.
[Ralf: I fixed up all the defconfig files so the stay unaffected by this
change.]
Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
Cc: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/689/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/Kconfig.debug')
-rw-r--r-- | arch/mips/Kconfig.debug | 45 |
1 files changed, 41 insertions, 4 deletions
diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug index 23817bc7a26a..d2b88a0be519 100644 --- a/arch/mips/Kconfig.debug +++ b/arch/mips/Kconfig.debug | |||
@@ -20,15 +20,52 @@ config EARLY_PRINTK | |||
20 | doesn't cooperate with an X server. You should normally say N here, | 20 | doesn't cooperate with an X server. You should normally say N here, |
21 | unless you want to debug such a crash. | 21 | unless you want to debug such a crash. |
22 | 22 | ||
23 | config CMDLINE_BOOL | ||
24 | bool "Built-in kernel command line" | ||
25 | default n | ||
26 | help | ||
27 | For most systems, it is firmware or second stage bootloader that | ||
28 | by default specifies the kernel command line options. However, | ||
29 | it might be necessary or advantageous to either override the | ||
30 | default kernel command line or add a few extra options to it. | ||
31 | For such cases, this option allows you to hardcode your own | ||
32 | command line options directly into the kernel. For that, you | ||
33 | should choose 'Y' here, and fill in the extra boot arguments | ||
34 | in CONFIG_CMDLINE. | ||
35 | |||
36 | The built-in options will be concatenated to the default command | ||
37 | line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default | ||
38 | command line will be ignored and replaced by the built-in string. | ||
39 | |||
40 | Most MIPS systems will normally expect 'N' here and rely upon | ||
41 | the command line from the firmware or the second-stage bootloader. | ||
42 | |||
23 | config CMDLINE | 43 | config CMDLINE |
24 | string "Default kernel command string" | 44 | string "Default kernel command string" |
45 | depends on CMDLINE_BOOL | ||
25 | default "" | 46 | default "" |
26 | help | 47 | help |
27 | On some platforms, there is currently no way for the boot loader to | 48 | On some platforms, there is currently no way for the boot loader to |
28 | pass arguments to the kernel. For these platforms, you can supply | 49 | pass arguments to the kernel. For these platforms, and for the cases |
29 | some command-line options at build time by entering them here. In | 50 | when you want to add some extra options to the command line or ignore |
30 | other cases you can specify kernel args so that you don't have | 51 | the default command line, you can supply some command-line options at |
31 | to set them up in board prom initialization routines. | 52 | build time by entering them here. In other cases you can specify |
53 | kernel args so that you don't have to set them up in board prom | ||
54 | initialization routines. | ||
55 | |||
56 | For more information, see the CMDLINE_BOOL and CMDLINE_OVERRIDE | ||
57 | options. | ||
58 | |||
59 | config CMDLINE_OVERRIDE | ||
60 | bool "Built-in command line overrides firware arguments" | ||
61 | default n | ||
62 | depends on CMDLINE_BOOL | ||
63 | help | ||
64 | By setting this option to 'Y' you will have your kernel ignore | ||
65 | command line arguments from firmware or second stage bootloader. | ||
66 | Instead, the built-in command line will be used exclusively. | ||
67 | |||
68 | Normally, you will choose 'N' here. | ||
32 | 69 | ||
33 | config DEBUG_STACK_USAGE | 70 | config DEBUG_STACK_USAGE |
34 | bool "Enable stack utilization instrumentation" | 71 | bool "Enable stack utilization instrumentation" |