[PATCH 17/18] KVM: riscv: instructions are little endian
Ben Dooks
ben.dooks at codethink.co.uk
Fri Aug 22 09:52:47 PDT 2025
The instructions are always little endian, so ensure the
correct instruction endian.
Signed-off-by: Ben Dooks <ben.dooks at codethink.co.uk>
---
arch/riscv/kvm/vcpu_insn.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/riscv/kvm/vcpu_insn.c b/arch/riscv/kvm/vcpu_insn.c
index 97dec18e6989..b1edc7b10d7a 100644
--- a/arch/riscv/kvm/vcpu_insn.c
+++ b/arch/riscv/kvm/vcpu_insn.c
@@ -453,6 +453,8 @@ int kvm_riscv_vcpu_virtual_insn(struct kvm_vcpu *vcpu, struct kvm_run *run,
kvm_riscv_vcpu_trap_redirect(vcpu, &utrap);
return 1;
}
+
+ insn = le32_to_cpu(insn);
}
if (INSN_IS_16BIT(insn))
return truly_illegal_insn(vcpu, run, insn);
@@ -509,6 +511,8 @@ int kvm_riscv_vcpu_mmio_load(struct kvm_vcpu *vcpu, struct kvm_run *run,
kvm_riscv_vcpu_trap_redirect(vcpu, &utrap);
return 1;
}
+
+ insn = le32_to_cpu(insn);
insn_len = INSN_LEN(insn);
}
@@ -635,6 +639,8 @@ int kvm_riscv_vcpu_mmio_store(struct kvm_vcpu *vcpu, struct kvm_run *run,
kvm_riscv_vcpu_trap_redirect(vcpu, &utrap);
return 1;
}
+
+ insn = le32_to_cpu(insn);
insn_len = INSN_LEN(insn);
}
--
2.37.2.352.g3c44437643
More information about the linux-riscv
mailing list