summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2023-04-05 11:41:41 +0100
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2024-01-08 12:33:02 +0000
commit6f9c4de225ec7830b9529eea0d14a84295629408 (patch)
treeddb1b1dbe745327786569d95a8783a2dc43c2174
parent70467dc35196dcbfbed95556abd0e1ec15b8d94b (diff)
arm64: text replication: add Kconfig for default state
Add a kernel configuration option to determine whether kernel text replication should default to being enabled or disabled at boot without a command line specifier. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
-rw-r--r--arch/arm64/Kconfig7
-rw-r--r--arch/arm64/mm/ktext.c11
2 files changed, 9 insertions, 9 deletions
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 5dec115c3033..c14a036bd6dd 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1449,6 +1449,13 @@ config REPLICATE_KTEXT
Say Y here to enable replicating the kernel text across multiple
nodes in a NUMA cluster. This trades memory for speed.
+config REPLICATE_KTEXT_DEFAULT
+ bool "Enable kernel text replication by default"
+ depends on REPLICATE_KTEXT
+ help
+ Determine whether kernel text replication is enabled at boot by
+ default.
+
source "kernel/Kconfig.hz"
config ARCH_SPARSEMEM_ENABLE
diff --git a/arch/arm64/mm/ktext.c b/arch/arm64/mm/ktext.c
index f55bfe29ad28..4ab04f531c81 100644
--- a/arch/arm64/mm/ktext.c
+++ b/arch/arm64/mm/ktext.c
@@ -119,18 +119,11 @@ void ktext_replication_patch_alternative(__le32 *src, int nr_inst)
}
}
-static bool ktext_enabled;
+static bool ktext_enabled = IS_ENABLED(CONFIG_REPLICATE_KTEXT_DEFAULT);
static int __init parse_ktext(char *str)
{
- bool enabled;
- int ret = strtobool(str, &enabled);
-
- if (ret)
- return ret;
-
- ktext_enabled = enabled;
- return 0;
+ return strtobool(str, &ktext_enabled);
}
early_param("ktext", parse_ktext);