Skip to content

Commit 3e1dedb

Browse files
kristina-martsenkoctmarinas
authored andcommitted
arm64: mops: allow disabling MOPS from the kernel command line
Make it possible to disable the MOPS extension at runtime using the kernel command line. This can be useful for testing or working around hardware issues. For example it could be used to test new memory copy routines that do not use MOPS instructions (e.g. from Arm Optimized Routines). Reviewed-by: Catalin Marinas <[email protected]> Signed-off-by: Kristina Martsenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Catalin Marinas <[email protected]>
1 parent b756412 commit 3e1dedb

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,9 @@
429429
arm64.nosme [ARM64] Unconditionally disable Scalable Matrix
430430
Extension support
431431

432+
arm64.nomops [ARM64] Unconditionally disable Memory Copy and Memory
433+
Set instructions support
434+
432435
ataflop= [HW,M68k]
433436

434437
atarimouse= [HW,MOUSE] Atari Mouse

arch/arm64/kernel/idreg-override.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ static const struct ftr_set_desc isar2 __initconst = {
123123
.fields = {
124124
FIELD("gpa3", ID_AA64ISAR2_EL1_GPA3_SHIFT, NULL),
125125
FIELD("apa3", ID_AA64ISAR2_EL1_APA3_SHIFT, NULL),
126+
FIELD("mops", ID_AA64ISAR2_EL1_MOPS_SHIFT, NULL),
126127
{}
127128
},
128129
};
@@ -174,6 +175,7 @@ static const struct {
174175
"id_aa64isar1.gpi=0 id_aa64isar1.gpa=0 "
175176
"id_aa64isar1.api=0 id_aa64isar1.apa=0 "
176177
"id_aa64isar2.gpa3=0 id_aa64isar2.apa3=0" },
178+
{ "arm64.nomops", "id_aa64isar2.mops=0" },
177179
{ "arm64.nomte", "id_aa64pfr1.mte=0" },
178180
{ "nokaslr", "kaslr.disabled=1" },
179181
};

0 commit comments

Comments
 (0)