[RFC PATCH 3/3] arm64: add a new config option KTEST_RUNNABLE

From: Anders Roxell
Date: Thu Dec 13 2018 - 07:29:57 EST


With this new config option, we can boot a allmodconfig kernel in qemu.
Config options SERIAL_AMBA_PL011, SERIAL_AMBA_PL011_CONSOLE, UNIX needs
to be enabled in order to get a console. Options like CPU_BIG_ENDIAN,
CMDLINE_FORCE, CMDLINE_OVERRIDE and HVC_DCC needs to be disabled.

Co-developed-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Anders Roxell <anders.roxell@xxxxxxxxxx>
---
arch/arm64/Kconfig | 8 ++++++++
drivers/tty/hvc/Kconfig | 1 +
init/Kconfig | 1 +
3 files changed, 10 insertions(+)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 1f52362f8d99..bb17ccb7bab2 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -292,6 +292,12 @@ config ARCH_SUPPORTS_UPROBES
config ARCH_PROC_KCORE_TEXT
def_bool y

+config KTEST_RUNNABLE
+ bool "Test build kernels that run in qemu for ktest"
+ select SERIAL_AMBA_PL011
+ select SERIAL_AMBA_PL011_CONSOLE
+ select UNIX
+
source "arch/arm64/Kconfig.platforms"

menu "Kernel Features"
@@ -773,6 +779,7 @@ config ARM64_PA_BITS

config CPU_BIG_ENDIAN
bool "Build big-endian kernel"
+ depends on !KTEST_RUNNABLE
help
Say Y if you plan on running a kernel in big-endian mode.

@@ -1381,6 +1388,7 @@ config CMDLINE

config CMDLINE_FORCE
bool "Always use the default kernel command string"
+ depends on !KTEST_RUNNABLE
help
Always use the default kernel command string, even if the boot
loader passes other arguments to the kernel.
diff --git a/drivers/tty/hvc/Kconfig b/drivers/tty/hvc/Kconfig
index 4293c172e120..44e23c2388bd 100644
--- a/drivers/tty/hvc/Kconfig
+++ b/drivers/tty/hvc/Kconfig
@@ -82,6 +82,7 @@ config HVC_UDBG
config HVC_DCC
bool "ARM JTAG DCC console"
depends on ARM || ARM64
+ depends on !KTEST_RUNNABLE
select HVC_DRIVER
help
This console uses the JTAG DCC on ARM to create a console under the HVC
diff --git a/init/Kconfig b/init/Kconfig
index b633716e48f5..3ea5297b7305 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1844,6 +1844,7 @@ config CMDLINE_PREPEND
config CMDLINE_OVERRIDE
bool "Built-in command line overrides boot loader arguments"
depends on CMDLINE_BOOL
+ depends on !KTEST_RUNNABLE
help
Set this option to 'Y' to have the kernel ignore the boot loader
command line, and use ONLY the built-in command line. In this case
--
2.19.2