summary refs log tree commit diff stats
path: root/results/classifier/118/KVM/1688
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/KVM/1688')
-rw-r--r--results/classifier/118/KVM/168863
1 files changed, 63 insertions, 0 deletions
diff --git a/results/classifier/118/KVM/1688 b/results/classifier/118/KVM/1688
new file mode 100644
index 000000000..a16443462
--- /dev/null
+++ b/results/classifier/118/KVM/1688
@@ -0,0 +1,63 @@
+KVM: 0.978
+kernel: 0.965
+graphic: 0.899
+risc-v: 0.885
+virtual: 0.838
+semantic: 0.835
+device: 0.835
+register: 0.828
+performance: 0.789
+network: 0.740
+files: 0.706
+architecture: 0.699
+socket: 0.684
+PID: 0.678
+VMM: 0.655
+vnc: 0.628
+mistranslation: 0.627
+hypervisor: 0.578
+debug: 0.568
+arm: 0.547
+peripherals: 0.492
+ppc: 0.485
+boot: 0.459
+permissions: 0.452
+i386: 0.408
+x86: 0.385
+TCG: 0.343
+assembly: 0.330
+user-level: 0.307
+
+target/riscv KVM_RISCV_SET_TIMER macro is not configured correctly
+Description of problem:
+When riscv kvm vm state changed, guest virtual time would stop/continue. But KVM_RISCV_SET_TIMER is wrong, qemu-kvm can only set 'time'.
+Steps to reproduce:
+1.start host kernel
+2.start qemu-kvm
+Additional information:
+Below code has some probelm:
+```
+===================================================================
+#define KVM_RISCV_SET_TIMER(cs, env, name, reg) \
+    do { \
+        int ret = kvm_set_one_reg(cs, RISCV_TIMER_REG(env, time), &reg); \
+
+===================================================================
+```
+I think it should be like this:
+
+```
+diff --git a/target/riscv/kvm.c b/target/riscv/kvm.c
+index 30f21453d6..0c567f668c 100644
+--- a/target/riscv/kvm.c
++++ b/target/riscv/kvm.c
+@@ -99,7 +99,7 @@ static uint64_t kvm_riscv_reg_id(CPURISCVState *env, uint64_t type,
+
+ #define KVM_RISCV_SET_TIMER(cs, env, name, reg) \
+     do { \
+-        int ret = kvm_set_one_reg(cs, RISCV_TIMER_REG(env, time), &reg); \
++        int ret = kvm_set_one_reg(cs, RISCV_TIMER_REG(env, name), &reg); \
+         if (ret) { \
+             abort(); \
+         } \
+```