]> www.infradead.org Git - nvme.git/commitdiff
KVM: arm64: Fix hvhe/nvhe early alias parsing
authorWill Deacon <will@kernel.org>
Wed, 1 May 2024 16:33:59 +0000 (17:33 +0100)
committerMarc Zyngier <maz@kernel.org>
Wed, 8 May 2024 06:05:53 +0000 (07:05 +0100)
Booting a kernel with "arm64_sw.hvhe=1 kvm-arm.mode=nvhe" on the
command-line results in KVM initialising using hVHE, whereas one might
expect the latter option to override the former.

Fix this by adding "arm64_sw.hvhe=0" to the alias expansion for
"kvm-arm.mode=nvhe".

Signed-off-by: Will Deacon <will@kernel.org>
Acked-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20240501163400.15838-2-will@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kernel/pi/idreg-override.c

index aad399796e812180aa4e8e244d30a97fb29950d9..39c9253fcf23f74eee51025fdd64ffef4aadd764 100644 (file)
@@ -209,7 +209,7 @@ static const struct {
        char    alias[FTR_ALIAS_NAME_LEN];
        char    feature[FTR_ALIAS_OPTION_LEN];
 } aliases[] __initconst = {
-       { "kvm_arm.mode=nvhe",          "id_aa64mmfr1.vh=0" },
+       { "kvm_arm.mode=nvhe",          "arm64_sw.hvhe=0 id_aa64mmfr1.vh=0" },
        { "kvm_arm.mode=protected",     "id_aa64mmfr1.vh=0" },
        { "arm64.nosve",                "id_aa64pfr0.sve=0" },
        { "arm64.nosme",                "id_aa64pfr1.sme=0" },