qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH V3 08/14] KVM: MIPS: Let indexed cacheops cause guest exit on Loo


From: Huacai Chen
Subject: [PATCH V3 08/14] KVM: MIPS: Let indexed cacheops cause guest exit on Loongson-3
Date: Sun, 3 May 2020 18:06:01 +0800

Loongson-3's indexed cache operations need a node-id in the address,
but in KVM guest the node-id may be incorrect. So, let indexed cache
operations cause guest exit on Loongson-3.

Signed-off-by: Huacai Chen <address@hidden>
Co-developed-by: Jiaxun Yang <address@hidden>
---
 arch/mips/kvm/vz.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/mips/kvm/vz.c b/arch/mips/kvm/vz.c
index f9fbbc16..ab320f0 100644
--- a/arch/mips/kvm/vz.c
+++ b/arch/mips/kvm/vz.c
@@ -2853,8 +2853,12 @@ static int kvm_vz_hardware_enable(void)
        write_c0_guestctl0(MIPS_GCTL0_CP0 |
                           (MIPS_GCTL0_AT_GUEST << MIPS_GCTL0_AT_SHIFT) |
                           MIPS_GCTL0_CG | MIPS_GCTL0_CF);
-       if (cpu_has_guestctl0ext)
-               set_c0_guestctl0ext(MIPS_GCTL0EXT_CGI);
+       if (cpu_has_guestctl0ext) {
+               if (current_cpu_type() != CPU_LOONGSON64)
+                       set_c0_guestctl0ext(MIPS_GCTL0EXT_CGI);
+               else
+                       clear_c0_guestctl0ext(MIPS_GCTL0EXT_CGI);
+       }
 
        if (cpu_has_guestid) {
                write_c0_guestctl1(0);
-- 
2.7.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]