summary refs log tree commit diff stats
path: root/results/classifier/118/user-level-risc-v/1606
blob: 605d94305f19ce582e9d873d9259db6289e907fd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
user-level: 0.995
risc-v: 0.953
ppc: 0.826
graphic: 0.812
VMM: 0.790
KVM: 0.777
device: 0.740
vnc: 0.739
performance: 0.728
permissions: 0.728
x86: 0.676
PID: 0.623
semantic: 0.602
i386: 0.565
architecture: 0.559
virtual: 0.534
socket: 0.527
network: 0.516
hypervisor: 0.479
TCG: 0.464
kernel: 0.424
register: 0.402
debug: 0.391
files: 0.355
peripherals: 0.344
assembly: 0.316
boot: 0.313
arm: 0.294
mistranslation: 0.266
--------------------
user-level: 0.985
debug: 0.529
x86: 0.209
kernel: 0.158
performance: 0.073
files: 0.040
i386: 0.034
risc-v: 0.031
virtual: 0.021
ppc: 0.020
TCG: 0.018
hypervisor: 0.015
PID: 0.013
arm: 0.011
device: 0.011
register: 0.011
assembly: 0.011
network: 0.009
VMM: 0.006
semantic: 0.006
peripherals: 0.006
boot: 0.005
architecture: 0.004
socket: 0.003
KVM: 0.003
graphic: 0.002
vnc: 0.002
permissions: 0.002
mistranslation: 0.001

riscv: fence.i is not functional
Description of problem:
The attached user-level test is designed to do the following (in iteration):

  - Thread P0 on CPU0 changes some text/code, while

  - Thread P1 on CPU1 checks/reads the code, fence.i, then executes the same code.

Results (in stdout) indicates that CPU1 has read the new code (1:x5=a009) but executed the old one (1:x7=1) (against the specification).
Steps to reproduce:
1. echo 2 > /proc/sys/vm/nr_hugepages
2. ./CoRF+fence.i
Additional information:
Example output:
```[CoRF+fence.i.c](/uploads/c150ca0910783cc4bfc3886789b64c28/CoRF+fence.i.c)
Test CoRF+fence.i Allowed
Histogram (4 states)
25784  :>1:x5=0xa009; 1:x7=2;
24207  *>1:x5=0xa009; 1:x7=1;   <--  THIS LINE
8      :>1:x5=0xa019; 1:x7=1;
1      :>1:x5=0xa019; 1:x7=2;
Ok
Witnesses
Positive: 24207 Negative 25793
Condition exists (1:x5=0xa009 /\ 1:x7=1) is  validated
Observation CoRF+fence.i Sometimes 24207 25793
Time CoRF+fence.i 0.85
Hash=
```