diff options
Diffstat (limited to 'results/classifier/118/architecture-risc-v')
| -rw-r--r-- | results/classifier/118/architecture-risc-v/1260 | 61 | ||||
| -rw-r--r-- | results/classifier/118/architecture-risc-v/1915027 | 74 | ||||
| -rw-r--r-- | results/classifier/118/architecture-risc-v/1923629 | 98 | ||||
| -rw-r--r-- | results/classifier/118/architecture-risc-v/1945 | 61 | ||||
| -rw-r--r-- | results/classifier/118/architecture-risc-v/2166 | 61 | ||||
| -rw-r--r-- | results/classifier/118/architecture-risc-v/2952 | 74 | ||||
| -rw-r--r-- | results/classifier/118/architecture-risc-v/435 | 61 | ||||
| -rw-r--r-- | results/classifier/118/architecture-risc-v/493 | 67 | ||||
| -rw-r--r-- | results/classifier/118/architecture-risc-v/783 | 63 |
9 files changed, 0 insertions, 620 deletions
diff --git a/results/classifier/118/architecture-risc-v/1260 b/results/classifier/118/architecture-risc-v/1260 deleted file mode 100644 index 2cef4e76c..000000000 --- a/results/classifier/118/architecture-risc-v/1260 +++ /dev/null @@ -1,61 +0,0 @@ -risc-v: 0.976 -architecture: 0.957 -device: 0.771 -register: 0.697 -debug: 0.617 -graphic: 0.468 -performance: 0.465 -network: 0.436 -arm: 0.372 -mistranslation: 0.230 -semantic: 0.221 -vnc: 0.102 -virtual: 0.095 -hypervisor: 0.093 -ppc: 0.091 -peripherals: 0.086 -kernel: 0.084 -boot: 0.084 -user-level: 0.044 -TCG: 0.034 -PID: 0.034 -i386: 0.027 -permissions: 0.024 -VMM: 0.021 -assembly: 0.019 -x86: 0.018 -KVM: 0.009 -socket: 0.007 -files: 0.005 --------------------- -risc-v: 0.991 -debug: 0.973 -register: 0.969 -virtual: 0.642 -user-level: 0.434 -assembly: 0.175 -hypervisor: 0.087 -architecture: 0.050 -semantic: 0.036 -kernel: 0.034 -files: 0.030 -TCG: 0.026 -performance: 0.020 -VMM: 0.010 -peripherals: 0.007 -device: 0.006 -PID: 0.005 -KVM: 0.004 -boot: 0.004 -graphic: 0.002 -socket: 0.001 -mistranslation: 0.001 -vnc: 0.001 -arm: 0.000 -permissions: 0.000 -network: 0.000 -ppc: 0.000 -i386: 0.000 -x86: 0.000 - -RISC-V sstatus register is missing in qemu console / gdb diff --git a/results/classifier/118/architecture-risc-v/1915027 b/results/classifier/118/architecture-risc-v/1915027 deleted file mode 100644 index c487cb658..000000000 --- a/results/classifier/118/architecture-risc-v/1915027 +++ /dev/null @@ -1,74 +0,0 @@ -architecture: 0.952 -risc-v: 0.916 -assembly: 0.781 -graphic: 0.759 -performance: 0.649 -device: 0.634 -semantic: 0.632 -mistranslation: 0.442 -permissions: 0.288 -vnc: 0.284 -debug: 0.274 -register: 0.245 -virtual: 0.240 -user-level: 0.209 -ppc: 0.207 -network: 0.181 -peripherals: 0.174 -arm: 0.148 -boot: 0.140 -PID: 0.138 -kernel: 0.133 -socket: 0.116 -x86: 0.109 -TCG: 0.107 -VMM: 0.089 -files: 0.081 -hypervisor: 0.070 -i386: 0.054 -KVM: 0.044 --------------------- -risc-v: 0.998 -debug: 0.831 -virtual: 0.450 -performance: 0.070 -register: 0.067 -assembly: 0.067 -architecture: 0.021 -hypervisor: 0.020 -boot: 0.015 -semantic: 0.005 -TCG: 0.004 -PID: 0.004 -files: 0.003 -user-level: 0.003 -kernel: 0.002 -device: 0.002 -socket: 0.001 -KVM: 0.001 -network: 0.001 -graphic: 0.001 -permissions: 0.001 -VMM: 0.000 -peripherals: 0.000 -vnc: 0.000 -mistranslation: 0.000 -arm: 0.000 -x86: 0.000 -i386: 0.000 -ppc: 0.000 - -RISC-V 64, CPUs do ilegal 0x00 write with SMP - -When QEMU is runt like this: - -qemu-system-riscv64 -d unimp,guest_errors -smp 8 - -Other harts will do a illegal write on address 0x00. - -This could be mostly (i think) because the initial assembly code is only loaded on the first hart and the others do a mess because there is no code to execute. - -Even with -smp 1 you will see the same errors. The problem is because there is nothing to run after OpenSBI jumps to the next stage. - -If you load a kernel you will not see the error messages. - diff --git a/results/classifier/118/architecture-risc-v/1923629 b/results/classifier/118/architecture-risc-v/1923629 deleted file mode 100644 index cc32274c4..000000000 --- a/results/classifier/118/architecture-risc-v/1923629 +++ /dev/null @@ -1,98 +0,0 @@ -risc-v: 0.953 -architecture: 0.878 -performance: 0.868 -graphic: 0.795 -user-level: 0.783 -device: 0.773 -files: 0.738 -network: 0.736 -socket: 0.730 -mistranslation: 0.690 -virtual: 0.677 -debug: 0.660 -semantic: 0.652 -hypervisor: 0.637 -ppc: 0.633 -kernel: 0.632 -PID: 0.629 -VMM: 0.610 -x86: 0.595 -boot: 0.569 -permissions: 0.563 -arm: 0.561 -register: 0.509 -TCG: 0.506 -peripherals: 0.501 -vnc: 0.496 -assembly: 0.459 -i386: 0.437 -KVM: 0.396 --------------------- -risc-v: 0.875 -debug: 0.300 -assembly: 0.250 -performance: 0.091 -files: 0.050 -architecture: 0.044 -TCG: 0.023 -PID: 0.014 -virtual: 0.011 -hypervisor: 0.007 -semantic: 0.007 -user-level: 0.004 -register: 0.004 -kernel: 0.004 -VMM: 0.002 -network: 0.002 -device: 0.002 -vnc: 0.001 -boot: 0.001 -permissions: 0.001 -graphic: 0.001 -socket: 0.001 -peripherals: 0.001 -mistranslation: 0.000 -KVM: 0.000 -arm: 0.000 -ppc: 0.000 -i386: 0.000 -x86: 0.000 - -RISC-V Vector Instruction vssub.vv not saturating - -I noticed doing a negate ( 0 – 0x80000000 ) using vssub.vv produces an incorrect result of 0x80000000 (should saturate to 0x7FFFFFFF). - -Here is the bit of the code: - - vmv.v.i v16, 0 - … -8f040457 vssub.vv v8,v16,v8 - -I believe the instruction encoding is correct (vssub.vv with vd = v8, vs2 = v16, rs1 = v8), but the result does not saturate in QEMU. - -I’ve just tested with what I think is the latest branch ( https://github.com/sifive/qemu/tree/rvv-1.0-upstream-v7 commit 26 Feb 2021: 1151361fa7d45cc90d69086ccf1a4d8397931811 ) and the problem still exists. - -Thanks for raising this bug case. A fix should be available soon. - -This should be a quick fix, we will run couple tests again to ensure the fix doesn't break anything. Thanks~ - -This was fixed by commit: - -commit 65606f21243a796537bfe4708720a9bf4bb50169 -Author: LIU Zhiwei <email address hidden> -Date: Fri Feb 12 23:02:21 2021 +0800 - - target/riscv: Fixup saturate subtract function - - The overflow predication ((a - b) ^ a) & (a ^ b) & INT64_MIN is right. - However, when the predication is ture and a is 0, it should return maximum. - - Signed-off-by: LIU Zhiwei <email address hidden> - Reviewed-by: Richard Henderson <email address hidden> - Reviewed-by: Alistair Francis <email address hidden> - Message-id: <email address hidden> - Signed-off-by: Alistair Francis <email address hidden> - - -The fix will be in the QEMU 6.1 release. - diff --git a/results/classifier/118/architecture-risc-v/1945 b/results/classifier/118/architecture-risc-v/1945 deleted file mode 100644 index fc01bd3e7..000000000 --- a/results/classifier/118/architecture-risc-v/1945 +++ /dev/null @@ -1,61 +0,0 @@ -architecture: 0.977 -virtual: 0.920 -risc-v: 0.885 -performance: 0.859 -device: 0.529 -semantic: 0.493 -graphic: 0.464 -mistranslation: 0.450 -permissions: 0.389 -boot: 0.283 -vnc: 0.281 -VMM: 0.225 -network: 0.198 -arm: 0.176 -hypervisor: 0.171 -register: 0.167 -assembly: 0.160 -x86: 0.150 -KVM: 0.141 -socket: 0.140 -kernel: 0.132 -TCG: 0.124 -PID: 0.093 -ppc: 0.091 -debug: 0.081 -i386: 0.051 -peripherals: 0.042 -user-level: 0.040 -files: 0.028 --------------------- -risc-v: 0.992 -hypervisor: 0.952 -virtual: 0.896 -architecture: 0.854 -VMM: 0.669 -performance: 0.598 -semantic: 0.054 -KVM: 0.040 -device: 0.039 -kernel: 0.022 -register: 0.016 -TCG: 0.013 -assembly: 0.009 -files: 0.004 -PID: 0.003 -socket: 0.002 -user-level: 0.002 -graphic: 0.002 -boot: 0.001 -vnc: 0.001 -peripherals: 0.001 -mistranslation: 0.001 -debug: 0.001 -arm: 0.000 -ppc: 0.000 -network: 0.000 -permissions: 0.000 -i386: 0.000 -x86: 0.000 - -More than 8 cores for RISC-V generic `virt` machine diff --git a/results/classifier/118/architecture-risc-v/2166 b/results/classifier/118/architecture-risc-v/2166 deleted file mode 100644 index 6d3eda5b8..000000000 --- a/results/classifier/118/architecture-risc-v/2166 +++ /dev/null @@ -1,61 +0,0 @@ -risc-v: 0.964 -architecture: 0.886 -device: 0.842 -debug: 0.796 -network: 0.480 -performance: 0.428 -register: 0.317 -virtual: 0.306 -arm: 0.302 -boot: 0.286 -graphic: 0.283 -VMM: 0.258 -PID: 0.243 -peripherals: 0.163 -files: 0.161 -semantic: 0.147 -vnc: 0.123 -socket: 0.060 -permissions: 0.058 -mistranslation: 0.057 -hypervisor: 0.038 -user-level: 0.024 -TCG: 0.022 -ppc: 0.017 -assembly: 0.012 -i386: 0.011 -x86: 0.007 -kernel: 0.003 -KVM: 0.001 --------------------- -risc-v: 0.995 -hypervisor: 0.935 -debug: 0.925 -architecture: 0.181 -register: 0.045 -user-level: 0.044 -TCG: 0.036 -assembly: 0.030 -kernel: 0.027 -virtual: 0.024 -semantic: 0.018 -VMM: 0.014 -files: 0.011 -performance: 0.009 -device: 0.005 -PID: 0.005 -KVM: 0.002 -boot: 0.002 -peripherals: 0.002 -graphic: 0.001 -mistranslation: 0.001 -network: 0.001 -socket: 0.001 -vnc: 0.001 -permissions: 0.000 -arm: 0.000 -i386: 0.000 -ppc: 0.000 -x86: 0.000 - -RISC-V qemu has bug on the return value of function qemu_plugin_mem_size_shift() diff --git a/results/classifier/118/architecture-risc-v/2952 b/results/classifier/118/architecture-risc-v/2952 deleted file mode 100644 index 3a2e4aab5..000000000 --- a/results/classifier/118/architecture-risc-v/2952 +++ /dev/null @@ -1,74 +0,0 @@ -risc-v: 0.943 -files: 0.845 -graphic: 0.841 -architecture: 0.819 -device: 0.814 -register: 0.793 -vnc: 0.713 -socket: 0.564 -kernel: 0.500 -performance: 0.468 -semantic: 0.466 -ppc: 0.439 -network: 0.418 -boot: 0.404 -permissions: 0.394 -TCG: 0.354 -assembly: 0.323 -debug: 0.318 -PID: 0.303 -arm: 0.271 -mistranslation: 0.257 -VMM: 0.231 -virtual: 0.171 -user-level: 0.150 -peripherals: 0.109 -hypervisor: 0.063 -KVM: 0.037 -i386: 0.022 -x86: 0.009 --------------------- -risc-v: 0.966 -register: 0.860 -assembly: 0.609 -debug: 0.461 -TCG: 0.350 -virtual: 0.063 -user-level: 0.062 -files: 0.055 -semantic: 0.021 -kernel: 0.018 -hypervisor: 0.015 -architecture: 0.009 -device: 0.008 -performance: 0.008 -peripherals: 0.006 -VMM: 0.006 -PID: 0.004 -boot: 0.003 -graphic: 0.003 -network: 0.002 -socket: 0.001 -KVM: 0.001 -permissions: 0.001 -vnc: 0.001 -mistranslation: 0.001 -arm: 0.000 -i386: 0.000 -ppc: 0.000 -x86: 0.000 - -Truncated bits while writing value to registers of RISC-V -Description of problem: -As mentioned above -Steps to reproduce: -``` -# 1. Compile the `test.S`: -riscv32-unknown-linux-gnu-gcc -g -static -nostartfiles -o test hello.S - -# 2. Execute the binary: -qemu-riscv32 ./test - -# 3. Check exit code -echo $? -``` diff --git a/results/classifier/118/architecture-risc-v/435 b/results/classifier/118/architecture-risc-v/435 deleted file mode 100644 index 82a3d91af..000000000 --- a/results/classifier/118/architecture-risc-v/435 +++ /dev/null @@ -1,61 +0,0 @@ -architecture: 0.988 -risc-v: 0.958 -virtual: 0.798 -mistranslation: 0.733 -performance: 0.690 -device: 0.634 -semantic: 0.582 -graphic: 0.280 -boot: 0.279 -register: 0.261 -x86: 0.237 -vnc: 0.228 -network: 0.169 -arm: 0.148 -kernel: 0.144 -debug: 0.136 -socket: 0.134 -hypervisor: 0.125 -ppc: 0.115 -permissions: 0.112 -i386: 0.101 -PID: 0.086 -assembly: 0.077 -user-level: 0.051 -KVM: 0.044 -TCG: 0.043 -files: 0.034 -VMM: 0.033 -peripherals: 0.022 --------------------- -risc-v: 0.997 -architecture: 0.974 -register: 0.245 -virtual: 0.172 -kernel: 0.094 -files: 0.034 -assembly: 0.033 -TCG: 0.030 -semantic: 0.024 -performance: 0.022 -device: 0.016 -peripherals: 0.013 -VMM: 0.011 -PID: 0.006 -boot: 0.006 -user-level: 0.005 -socket: 0.005 -hypervisor: 0.004 -permissions: 0.004 -debug: 0.003 -graphic: 0.003 -vnc: 0.002 -arm: 0.001 -network: 0.001 -KVM: 0.001 -mistranslation: 0.000 -ppc: 0.000 -i386: 0.000 -x86: 0.000 - -RISC-V: Support more cores diff --git a/results/classifier/118/architecture-risc-v/493 b/results/classifier/118/architecture-risc-v/493 deleted file mode 100644 index 21e555eaf..000000000 --- a/results/classifier/118/architecture-risc-v/493 +++ /dev/null @@ -1,67 +0,0 @@ -risc-v: 0.995 -architecture: 0.955 -graphic: 0.849 -device: 0.810 -performance: 0.696 -semantic: 0.644 -files: 0.588 -kernel: 0.547 -register: 0.533 -vnc: 0.466 -socket: 0.369 -mistranslation: 0.368 -network: 0.353 -debug: 0.295 -boot: 0.272 -VMM: 0.271 -arm: 0.242 -permissions: 0.230 -peripherals: 0.215 -PID: 0.206 -ppc: 0.193 -TCG: 0.157 -user-level: 0.146 -assembly: 0.130 -hypervisor: 0.121 -virtual: 0.099 -i386: 0.079 -KVM: 0.064 -x86: 0.016 --------------------- -risc-v: 0.998 -performance: 0.905 -kernel: 0.184 -register: 0.116 -TCG: 0.113 -debug: 0.104 -files: 0.080 -hypervisor: 0.038 -assembly: 0.032 -architecture: 0.029 -device: 0.021 -virtual: 0.015 -semantic: 0.008 -peripherals: 0.007 -user-level: 0.005 -vnc: 0.003 -PID: 0.003 -network: 0.002 -KVM: 0.002 -boot: 0.002 -VMM: 0.002 -arm: 0.001 -socket: 0.001 -graphic: 0.001 -permissions: 0.001 -mistranslation: 0.000 -i386: 0.000 -ppc: 0.000 -x86: 0.000 - -RISC-V: Setting mtimecmp to -1 immediately triggers an interrupt -Description of problem: -When setting mtimecmp to -1, which should set a timer infinitely far in the future, a timer interrupt is triggered immediately. This happens for most values over 2^61. It is the same for both 32-bit and 64-bit, and for M-mode writing to mtimecmp directly and S-mode using OpenSBI. - -I have looked through the source code, and the problem is in the function `sifive_clint_write_mtimecmp`, in the file `/hw/intc/sifive_clint.c`. First, the muldiv64 multiplies diff with 100, causing an overflow (at least for -M virt, other machines might use a different timebase_freq). Then, the unsigned `next` is passed to `timer_mod`, which takes a signed integer. In `timer_mod_ns_locked` the value is set to `MAX(next, 0)`, which means that if the MSB of `next` was set, the interrupt happens immediately. This means that it is impossible to set timers more than 2^63 nanoseconds in the future. - -This problem basically only affects programs which disable timer interrupts by setting the next one infinitely far in the future. However, the SBI doc specifically says that this is a valid approach, so it should be supported. Using the MSB doesn't work without changing code functionality in QEMU, but it should be sufficient to cap `next` at the maximum signed value. diff --git a/results/classifier/118/architecture-risc-v/783 b/results/classifier/118/architecture-risc-v/783 deleted file mode 100644 index 581891f04..000000000 --- a/results/classifier/118/architecture-risc-v/783 +++ /dev/null @@ -1,63 +0,0 @@ -risc-v: 0.997 -architecture: 0.869 -performance: 0.769 -device: 0.767 -mistranslation: 0.569 -virtual: 0.492 -i386: 0.483 -graphic: 0.370 -x86: 0.369 -semantic: 0.368 -arm: 0.278 -boot: 0.173 -debug: 0.164 -permissions: 0.153 -register: 0.151 -kernel: 0.129 -hypervisor: 0.127 -user-level: 0.123 -network: 0.121 -ppc: 0.121 -vnc: 0.109 -KVM: 0.061 -TCG: 0.054 -files: 0.038 -PID: 0.033 -assembly: 0.031 -socket: 0.025 -peripherals: 0.018 -VMM: 0.011 --------------------- -risc-v: 0.997 -assembly: 0.509 -virtual: 0.175 -architecture: 0.169 -kernel: 0.130 -hypervisor: 0.102 -device: 0.075 -register: 0.035 -x86: 0.028 -boot: 0.018 -files: 0.017 -socket: 0.017 -debug: 0.014 -semantic: 0.013 -TCG: 0.010 -PID: 0.009 -performance: 0.007 -user-level: 0.007 -i386: 0.006 -ppc: 0.005 -arm: 0.004 -KVM: 0.004 -peripherals: 0.004 -permissions: 0.003 -VMM: 0.002 -vnc: 0.001 -graphic: 0.001 -network: 0.001 -mistranslation: 0.001 - -risc-v: provide CPU without MMU -Additional information: - |