blob: a5311bae1a84041a98012fd2b1ac9e3144b6fb35 (
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
90
91
92
93
94
95
96
97
|
files: 0.938
ppc: 0.852
socket: 0.848
kernel: 0.843
graphic: 0.816
semantic: 0.802
risc-v: 0.787
PID: 0.776
device: 0.776
register: 0.746
debug: 0.736
arm: 0.687
network: 0.681
user-level: 0.667
peripherals: 0.662
mistranslation: 0.661
VMM: 0.647
vnc: 0.642
permissions: 0.631
performance: 0.614
hypervisor: 0.597
virtual: 0.591
boot: 0.581
KVM: 0.560
x86: 0.531
TCG: 0.530
assembly: 0.495
i386: 0.493
architecture: 0.417
qemu/target/mips/op_helper.c:943:5: style:inconclusive: Found duplicate branches for 'if' and 'else'
Source code is
if (other_tc == other->current_tc) {
tccause = other->CP0_Cause;
} else {
tccause = other->CP0_Cause;
}
Thank you for reporting this!
Believe it or not, this has been a know issue to us for a while. We contacted the original contributor, and he says he can't recall what he actually meant when he wrote the segment. We left it as is until he remembers. However, this seems not likely to happen, and probably we will issue a fix soon. In any case, it is good that you reported it, many thanks!
You already reported that 6 months ago:
https://bugs.launchpad.net/qemu/+bug/1856706
From: Aleksandar Markovic <email address hidden>
Remove the segment:
if (other_tc == other->current_tc) {
tccause = other->CP0_Cause;
} else {
tccause = other->CP0_Cause;
}
Original contributor can't remember what was his intention.
Fixes: 5a25ce9487 ("mips: Hook in more reg accesses via mttr/mftr")
Buglink: https://bugs.launchpad.net/qemu/+bug/1885718
Signed-off-by: Aleksandar Markovic <email address hidden>
Message-Id: <email address hidden>
Signed-off-by: Philippe Mathieu-Daudé <email address hidden>
---
Cc: Bug 1885718 <email address hidden>
target/mips/cp0_helper.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/target/mips/cp0_helper.c b/target/mips/cp0_helper.c
index bbf12e4a97..de64add038 100644
--- a/target/mips/cp0_helper.c
+++ b/target/mips/cp0_helper.c
@@ -375,16 +375,9 @@ target_ulong helper_mftc0_entryhi(CPUMIPSState *env)
target_ulong helper_mftc0_cause(CPUMIPSState *env)
{
int other_tc = env->CP0_VPEControl & (0xff << CP0VPECo_TargTC);
- int32_t tccause;
CPUMIPSState *other = mips_cpu_map_tc(env, &other_tc);
- if (other_tc == other->current_tc) {
- tccause = other->CP0_Cause;
- } else {
- tccause = other->CP0_Cause;
- }
-
- return tccause;
+ return other->CP0_Cause;
}
target_ulong helper_mftc0_status(CPUMIPSState *env)
--
2.21.3
|