1
Just a few minor bugfixes, but we might as well get them in
1
Massively slimmed down v2: MemTag broke bsd-user, and the npcm7xx
2
for rc0 tomorrow.
2
ethernet device failed 'make check' on big-endian hosts.
3
3
4
-- PMM
4
-- PMM
5
5
6
The following changes since commit 787f82407c5056a8b1097e39e53d01dd1abe406b:
6
The following changes since commit 83339e21d05c824ebc9131d644f25c23d0e41ecf:
7
7
8
Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20200323' into staging (2020-03-23 15:38:30 +0000)
8
Merge remote-tracking branch 'remotes/stefanha-gitlab/tags/block-pull-request' into staging (2021-02-10 15:42:20 +0000)
9
9
10
are available in the Git repository at:
10
are available in the Git repository at:
11
11
12
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20200323
12
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210211-1
13
13
14
for you to fetch changes up to 550a04893c2bd4442211b353680b9a6408d94dba:
14
for you to fetch changes up to d3c1183ffeb71ca3a783eae3d7e1c51e71e8a621:
15
15
16
target/arm: Move computation of index in handle_simd_dupe (2020-03-23 17:22:30 +0000)
16
target/arm: Correctly initialize MDCR_EL2.HPMN (2021-02-11 19:48:09 +0000)
17
17
18
----------------------------------------------------------------
18
----------------------------------------------------------------
19
target-arm queue:
19
target-arm queue:
20
* target/arm: avoid undefined behaviour shift in watchpoint code
20
* Correctly initialize MDCR_EL2.HPMN
21
* target/arm: avoid undefined behaviour shift in handle_simd_dupe()
21
* versal: Use nr_apu_cpus in favor of hard coding 2
22
* target/arm: add assert that immh != 0 in disas_simd_shift_imm()
22
* accel/tcg: Add URL of clang bug to comment about our workaround
23
* aspeed/smc: Fix DMA support for AST2600
23
* Add support for FEAT_DIT, Data Independent Timing
24
* hw/arm/bcm283x: Correct the license text ('and' vs 'or')
24
* Remove GPIO from unimplemented NPCM7XX
25
* Fix SCR RES1 handling
26
* Don't migrate CPUARMState.features
25
27
26
----------------------------------------------------------------
28
----------------------------------------------------------------
27
Cédric Le Goater (1):
29
Aaron Lindsay (1):
28
aspeed/smc: Fix DMA support for AST2600
30
target/arm: Don't migrate CPUARMState.features
29
31
30
Philippe Mathieu-Daudé (1):
32
Daniel Müller (1):
31
hw/arm/bcm283x: Correct the license text
33
target/arm: Correctly initialize MDCR_EL2.HPMN
32
34
33
Richard Henderson (3):
35
Edgar E. Iglesias (1):
34
target/arm: Rearrange disabled check for watchpoints
36
hw/arm: versal: Use nr_apu_cpus in favor of hard coding 2
35
target/arm: Assert immh != 0 in disas_simd_shift_imm
36
target/arm: Move computation of index in handle_simd_dupe
37
37
38
include/hw/arm/bcm2835_peripherals.h | 3 ++-
38
Hao Wu (1):
39
include/hw/arm/bcm2836.h | 3 ++-
39
hw/arm: Remove GPIO from unimplemented NPCM7XX
40
include/hw/char/bcm2835_aux.h | 3 ++-
41
include/hw/display/bcm2835_fb.h | 3 ++-
42
include/hw/dma/bcm2835_dma.h | 4 +++-
43
include/hw/intc/bcm2835_ic.h | 4 +++-
44
include/hw/intc/bcm2836_control.h | 3 ++-
45
include/hw/misc/bcm2835_mbox.h | 4 +++-
46
include/hw/misc/bcm2835_mbox_defs.h | 4 +++-
47
include/hw/misc/bcm2835_property.h | 4 +++-
48
hw/arm/aspeed_ast2600.c | 6 ++++++
49
hw/arm/bcm2835_peripherals.c | 3 ++-
50
hw/arm/bcm2836.c | 3 ++-
51
hw/arm/raspi.c | 3 ++-
52
hw/display/bcm2835_fb.c | 1 -
53
hw/dma/bcm2835_dma.c | 4 +++-
54
hw/intc/bcm2835_ic.c | 4 ++--
55
hw/intc/bcm2836_control.c | 4 +++-
56
hw/misc/bcm2835_mbox.c | 4 +++-
57
hw/misc/bcm2835_property.c | 4 +++-
58
hw/ssi/aspeed_smc.c | 15 +++++++++++++--
59
target/arm/helper.c | 11 ++++++-----
60
target/arm/translate-a64.c | 6 +++++-
61
hw/ssi/trace-events | 1 +
62
24 files changed, 76 insertions(+), 28 deletions(-)
63
40
41
Mike Nawrocki (1):
42
target/arm: Fix SCR RES1 handling
43
44
Peter Maydell (2):
45
arm: Update infocenter.arm.com URLs
46
accel/tcg: Add URL of clang bug to comment about our workaround
47
48
Rebecca Cran (4):
49
target/arm: Add support for FEAT_DIT, Data Independent Timing
50
target/arm: Support AA32 DIT by moving PSTATE_SS from cpsr into env->pstate
51
target/arm: Set ID_AA64PFR0.DIT and ID_PFR0.DIT to 1 for "max" AA64 CPU
52
target/arm: Set ID_PFR0.DIT to 1 for "max" 32-bit CPU
53
54
include/hw/dma/pl080.h | 7 ++--
55
include/hw/misc/arm_integrator_debug.h | 2 +-
56
include/hw/ssi/pl022.h | 5 ++-
57
target/arm/cpu.h | 17 ++++++++
58
target/arm/internals.h | 6 +++
59
accel/tcg/cpu-exec.c | 25 +++++++++---
60
hw/arm/aspeed_ast2600.c | 2 +-
61
hw/arm/musca.c | 4 +-
62
hw/arm/npcm7xx.c | 8 ----
63
hw/arm/xlnx-versal.c | 4 +-
64
hw/misc/arm_integrator_debug.c | 2 +-
65
hw/timer/arm_timer.c | 7 ++--
66
target/arm/cpu.c | 4 ++
67
target/arm/cpu64.c | 5 +++
68
target/arm/helper-a64.c | 27 +++++++++++--
69
target/arm/helper.c | 71 +++++++++++++++++++++++++++-------
70
target/arm/machine.c | 2 +-
71
target/arm/op_helper.c | 9 +----
72
target/arm/translate-a64.c | 12 ++++++
73
19 files changed, 164 insertions(+), 55 deletions(-)
74
diff view generated by jsdifflib
Deleted patch
1
From: Philippe Mathieu-Daudé <philmd@redhat.com>
2
1
3
The license is the 'GNU General Public License v2.0 or later',
4
not 'and':
5
6
This program is free software; you can redistribute it and/ori
7
modify it under the terms of the GNU General Public License as
8
published by the Free Software Foundation; either version 2 of
9
the License, or (at your option) any later version.
10
11
Fix the license comment.
12
13
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
14
Message-id: 20200312213455.15854-1-philmd@redhat.com
15
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
16
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
17
---
18
include/hw/arm/bcm2835_peripherals.h | 3 ++-
19
include/hw/arm/bcm2836.h | 3 ++-
20
include/hw/char/bcm2835_aux.h | 3 ++-
21
include/hw/display/bcm2835_fb.h | 3 ++-
22
include/hw/dma/bcm2835_dma.h | 4 +++-
23
include/hw/intc/bcm2835_ic.h | 4 +++-
24
include/hw/intc/bcm2836_control.h | 3 ++-
25
include/hw/misc/bcm2835_mbox.h | 4 +++-
26
include/hw/misc/bcm2835_mbox_defs.h | 4 +++-
27
include/hw/misc/bcm2835_property.h | 4 +++-
28
hw/arm/bcm2835_peripherals.c | 3 ++-
29
hw/arm/bcm2836.c | 3 ++-
30
hw/arm/raspi.c | 3 ++-
31
hw/display/bcm2835_fb.c | 1 -
32
hw/dma/bcm2835_dma.c | 4 +++-
33
hw/intc/bcm2835_ic.c | 4 ++--
34
hw/intc/bcm2836_control.c | 4 +++-
35
hw/misc/bcm2835_mbox.c | 4 +++-
36
hw/misc/bcm2835_property.c | 4 +++-
37
19 files changed, 45 insertions(+), 20 deletions(-)
38
39
diff --git a/include/hw/arm/bcm2835_peripherals.h b/include/hw/arm/bcm2835_peripherals.h
40
index XXXXXXX..XXXXXXX 100644
41
--- a/include/hw/arm/bcm2835_peripherals.h
42
+++ b/include/hw/arm/bcm2835_peripherals.h
43
@@ -XXX,XX +XXX,XX @@
44
* Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft
45
* Written by Andrew Baumann
46
*
47
- * This code is licensed under the GNU GPLv2 and later.
48
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
49
+ * See the COPYING file in the top-level directory.
50
*/
51
52
#ifndef BCM2835_PERIPHERALS_H
53
diff --git a/include/hw/arm/bcm2836.h b/include/hw/arm/bcm2836.h
54
index XXXXXXX..XXXXXXX 100644
55
--- a/include/hw/arm/bcm2836.h
56
+++ b/include/hw/arm/bcm2836.h
57
@@ -XXX,XX +XXX,XX @@
58
* Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft
59
* Written by Andrew Baumann
60
*
61
- * This code is licensed under the GNU GPLv2 and later.
62
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
63
+ * See the COPYING file in the top-level directory.
64
*/
65
66
#ifndef BCM2836_H
67
diff --git a/include/hw/char/bcm2835_aux.h b/include/hw/char/bcm2835_aux.h
68
index XXXXXXX..XXXXXXX 100644
69
--- a/include/hw/char/bcm2835_aux.h
70
+++ b/include/hw/char/bcm2835_aux.h
71
@@ -XXX,XX +XXX,XX @@
72
* Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft
73
* Written by Andrew Baumann
74
*
75
- * This code is licensed under the GNU GPLv2 and later.
76
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
77
+ * See the COPYING file in the top-level directory.
78
*/
79
80
#ifndef BCM2835_AUX_H
81
diff --git a/include/hw/display/bcm2835_fb.h b/include/hw/display/bcm2835_fb.h
82
index XXXXXXX..XXXXXXX 100644
83
--- a/include/hw/display/bcm2835_fb.h
84
+++ b/include/hw/display/bcm2835_fb.h
85
@@ -XXX,XX +XXX,XX @@
86
* Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft
87
* Written by Andrew Baumann
88
*
89
- * This code is licensed under the GNU GPLv2 and later.
90
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
91
+ * See the COPYING file in the top-level directory.
92
*/
93
94
#ifndef BCM2835_FB_H
95
diff --git a/include/hw/dma/bcm2835_dma.h b/include/hw/dma/bcm2835_dma.h
96
index XXXXXXX..XXXXXXX 100644
97
--- a/include/hw/dma/bcm2835_dma.h
98
+++ b/include/hw/dma/bcm2835_dma.h
99
@@ -XXX,XX +XXX,XX @@
100
/*
101
* Raspberry Pi emulation (c) 2012 Gregory Estrade
102
- * This code is licensed under the GNU GPLv2 and later.
103
+ *
104
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
105
+ * See the COPYING file in the top-level directory.
106
*/
107
108
#ifndef BCM2835_DMA_H
109
diff --git a/include/hw/intc/bcm2835_ic.h b/include/hw/intc/bcm2835_ic.h
110
index XXXXXXX..XXXXXXX 100644
111
--- a/include/hw/intc/bcm2835_ic.h
112
+++ b/include/hw/intc/bcm2835_ic.h
113
@@ -XXX,XX +XXX,XX @@
114
/*
115
* Raspberry Pi emulation (c) 2012 Gregory Estrade
116
- * This code is licensed under the GNU GPLv2 and later.
117
+ *
118
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
119
+ * See the COPYING file in the top-level directory.
120
*/
121
122
#ifndef BCM2835_IC_H
123
diff --git a/include/hw/intc/bcm2836_control.h b/include/hw/intc/bcm2836_control.h
124
index XXXXXXX..XXXXXXX 100644
125
--- a/include/hw/intc/bcm2836_control.h
126
+++ b/include/hw/intc/bcm2836_control.h
127
@@ -XXX,XX +XXX,XX @@
128
* ARM Local Timer IRQ Copyright (c) 2019. Zoltán Baldaszti
129
* Added basic IRQ_TIMER interrupt support
130
*
131
- * This code is licensed under the GNU GPLv2 and later.
132
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
133
+ * See the COPYING file in the top-level directory.
134
*/
135
136
#ifndef BCM2836_CONTROL_H
137
diff --git a/include/hw/misc/bcm2835_mbox.h b/include/hw/misc/bcm2835_mbox.h
138
index XXXXXXX..XXXXXXX 100644
139
--- a/include/hw/misc/bcm2835_mbox.h
140
+++ b/include/hw/misc/bcm2835_mbox.h
141
@@ -XXX,XX +XXX,XX @@
142
/*
143
* Raspberry Pi emulation (c) 2012 Gregory Estrade
144
- * This code is licensed under the GNU GPLv2 and later.
145
+ *
146
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
147
+ * See the COPYING file in the top-level directory.
148
*/
149
150
#ifndef BCM2835_MBOX_H
151
diff --git a/include/hw/misc/bcm2835_mbox_defs.h b/include/hw/misc/bcm2835_mbox_defs.h
152
index XXXXXXX..XXXXXXX 100644
153
--- a/include/hw/misc/bcm2835_mbox_defs.h
154
+++ b/include/hw/misc/bcm2835_mbox_defs.h
155
@@ -XXX,XX +XXX,XX @@
156
/*
157
* Raspberry Pi emulation (c) 2012 Gregory Estrade
158
- * This code is licensed under the GNU GPLv2 and later.
159
+ *
160
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
161
+ * See the COPYING file in the top-level directory.
162
*/
163
164
#ifndef BCM2835_MBOX_DEFS_H
165
diff --git a/include/hw/misc/bcm2835_property.h b/include/hw/misc/bcm2835_property.h
166
index XXXXXXX..XXXXXXX 100644
167
--- a/include/hw/misc/bcm2835_property.h
168
+++ b/include/hw/misc/bcm2835_property.h
169
@@ -XXX,XX +XXX,XX @@
170
/*
171
* Raspberry Pi emulation (c) 2012 Gregory Estrade
172
- * This code is licensed under the GNU GPLv2 and later.
173
+ *
174
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
175
+ * See the COPYING file in the top-level directory.
176
*/
177
178
#ifndef BCM2835_PROPERTY_H
179
diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c
180
index XXXXXXX..XXXXXXX 100644
181
--- a/hw/arm/bcm2835_peripherals.c
182
+++ b/hw/arm/bcm2835_peripherals.c
183
@@ -XXX,XX +XXX,XX @@
184
* Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft
185
* Written by Andrew Baumann
186
*
187
- * This code is licensed under the GNU GPLv2 and later.
188
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
189
+ * See the COPYING file in the top-level directory.
190
*/
191
192
#include "qemu/osdep.h"
193
diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c
194
index XXXXXXX..XXXXXXX 100644
195
--- a/hw/arm/bcm2836.c
196
+++ b/hw/arm/bcm2836.c
197
@@ -XXX,XX +XXX,XX @@
198
* Rasperry Pi 2 emulation and refactoring Copyright (c) 2015, Microsoft
199
* Written by Andrew Baumann
200
*
201
- * This code is licensed under the GNU GPLv2 and later.
202
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
203
+ * See the COPYING file in the top-level directory.
204
*/
205
206
#include "qemu/osdep.h"
207
diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
208
index XXXXXXX..XXXXXXX 100644
209
--- a/hw/arm/raspi.c
210
+++ b/hw/arm/raspi.c
211
@@ -XXX,XX +XXX,XX @@
212
* Raspberry Pi 3 emulation Copyright (c) 2018 Zoltán Baldaszti
213
* Upstream code cleanup (c) 2018 Pekka Enberg
214
*
215
- * This code is licensed under the GNU GPLv2 and later.
216
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
217
+ * See the COPYING file in the top-level directory.
218
*/
219
220
#include "qemu/osdep.h"
221
diff --git a/hw/display/bcm2835_fb.c b/hw/display/bcm2835_fb.c
222
index XXXXXXX..XXXXXXX 100644
223
--- a/hw/display/bcm2835_fb.c
224
+++ b/hw/display/bcm2835_fb.c
225
@@ -XXX,XX +XXX,XX @@
226
/*
227
* Raspberry Pi emulation (c) 2012 Gregory Estrade
228
* Refactoring for Pi2 Copyright (c) 2015, Microsoft. Written by Andrew Baumann.
229
- * This code is licensed under the GNU GPLv2 and later.
230
*
231
* Heavily based on milkymist-vgafb.c, copyright terms below:
232
* QEMU model of the Milkymist VGA framebuffer.
233
diff --git a/hw/dma/bcm2835_dma.c b/hw/dma/bcm2835_dma.c
234
index XXXXXXX..XXXXXXX 100644
235
--- a/hw/dma/bcm2835_dma.c
236
+++ b/hw/dma/bcm2835_dma.c
237
@@ -XXX,XX +XXX,XX @@
238
/*
239
* Raspberry Pi emulation (c) 2012 Gregory Estrade
240
- * This code is licensed under the GNU GPLv2 and later.
241
+ *
242
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
243
+ * See the COPYING file in the top-level directory.
244
*/
245
246
#include "qemu/osdep.h"
247
diff --git a/hw/intc/bcm2835_ic.c b/hw/intc/bcm2835_ic.c
248
index XXXXXXX..XXXXXXX 100644
249
--- a/hw/intc/bcm2835_ic.c
250
+++ b/hw/intc/bcm2835_ic.c
251
@@ -XXX,XX +XXX,XX @@
252
/*
253
* Raspberry Pi emulation (c) 2012 Gregory Estrade
254
* Refactoring for Pi2 Copyright (c) 2015, Microsoft. Written by Andrew Baumann.
255
- * This code is licensed under the GNU GPLv2 and later.
256
* Heavily based on pl190.c, copyright terms below:
257
*
258
* Arm PrimeCell PL190 Vector Interrupt Controller
259
@@ -XXX,XX +XXX,XX @@
260
* Copyright (c) 2006 CodeSourcery.
261
* Written by Paul Brook
262
*
263
- * This code is licensed under the GPL.
264
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
265
+ * See the COPYING file in the top-level directory.
266
*/
267
268
#include "qemu/osdep.h"
269
diff --git a/hw/intc/bcm2836_control.c b/hw/intc/bcm2836_control.c
270
index XXXXXXX..XXXXXXX 100644
271
--- a/hw/intc/bcm2836_control.c
272
+++ b/hw/intc/bcm2836_control.c
273
@@ -XXX,XX +XXX,XX @@
274
* Written by Andrew Baumann
275
*
276
* Based on bcm2835_ic.c (Raspberry Pi emulation) (c) 2012 Gregory Estrade
277
- * This code is licensed under the GNU GPLv2 and later.
278
*
279
* At present, only implements interrupt routing, and mailboxes (i.e.,
280
* not PMU interrupt, or AXI counters).
281
@@ -XXX,XX +XXX,XX @@
282
*
283
* Ref:
284
* https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2836/QA7_rev3.4.pdf
285
+ *
286
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
287
+ * See the COPYING file in the top-level directory.
288
*/
289
290
#include "qemu/osdep.h"
291
diff --git a/hw/misc/bcm2835_mbox.c b/hw/misc/bcm2835_mbox.c
292
index XXXXXXX..XXXXXXX 100644
293
--- a/hw/misc/bcm2835_mbox.c
294
+++ b/hw/misc/bcm2835_mbox.c
295
@@ -XXX,XX +XXX,XX @@
296
/*
297
* Raspberry Pi emulation (c) 2012 Gregory Estrade
298
- * This code is licensed under the GNU GPLv2 and later.
299
*
300
* This file models the system mailboxes, which are used for
301
* communication with low-bandwidth GPU peripherals. Refs:
302
* https://github.com/raspberrypi/firmware/wiki/Mailboxes
303
* https://github.com/raspberrypi/firmware/wiki/Accessing-mailboxes
304
+ *
305
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
306
+ * See the COPYING file in the top-level directory.
307
*/
308
309
#include "qemu/osdep.h"
310
diff --git a/hw/misc/bcm2835_property.c b/hw/misc/bcm2835_property.c
311
index XXXXXXX..XXXXXXX 100644
312
--- a/hw/misc/bcm2835_property.c
313
+++ b/hw/misc/bcm2835_property.c
314
@@ -XXX,XX +XXX,XX @@
315
/*
316
* Raspberry Pi emulation (c) 2012 Gregory Estrade
317
- * This code is licensed under the GNU GPLv2 and later.
318
+ *
319
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
320
+ * See the COPYING file in the top-level directory.
321
*/
322
323
#include "qemu/osdep.h"
324
--
325
2.20.1
326
327
diff view generated by jsdifflib
Deleted patch
1
From: Cédric Le Goater <clg@kaod.org>
2
1
3
Recent firmwares uses SPI DMA transfers in U-Boot to load the
4
different images (kernel, initrd, dtb) in the SoC DRAM. The AST2600
5
FMC model is missing the masks to be applied on the DMA registers
6
which resulted in incorrect values. Fix that and wire the SPI
7
controllers which have DMA support on the AST2600.
8
9
Fixes: bcaa8ddd081c ("aspeed/smc: Add AST2600 support")
10
Signed-off-by: Cédric Le Goater <clg@kaod.org>
11
Reviewed-by: Joel Stanley <joel@jms.id.au>
12
Message-id: 20200320053923.20565-1-clg@kaod.org
13
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
14
---
15
hw/arm/aspeed_ast2600.c | 6 ++++++
16
hw/ssi/aspeed_smc.c | 15 +++++++++++++--
17
hw/ssi/trace-events | 1 +
18
3 files changed, 20 insertions(+), 2 deletions(-)
19
20
diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c
21
index XXXXXXX..XXXXXXX 100644
22
--- a/hw/arm/aspeed_ast2600.c
23
+++ b/hw/arm/aspeed_ast2600.c
24
@@ -XXX,XX +XXX,XX @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
25
26
/* SPI */
27
for (i = 0; i < sc->spis_num; i++) {
28
+ object_property_set_link(OBJECT(&s->spi[i]), OBJECT(s->dram_mr),
29
+ "dram", &err);
30
+ if (err) {
31
+ error_propagate(errp, err);
32
+ return;
33
+ }
34
object_property_set_int(OBJECT(&s->spi[i]), 1, "num-cs", &err);
35
object_property_set_bool(OBJECT(&s->spi[i]), true, "realized",
36
&local_err);
37
diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c
38
index XXXXXXX..XXXXXXX 100644
39
--- a/hw/ssi/aspeed_smc.c
40
+++ b/hw/ssi/aspeed_smc.c
41
@@ -XXX,XX +XXX,XX @@ static const AspeedSMCController controllers[] = {
42
.flash_window_base = ASPEED26_SOC_FMC_FLASH_BASE,
43
.flash_window_size = 0x10000000,
44
.has_dma = true,
45
+ .dma_flash_mask = 0x0FFFFFFC,
46
+ .dma_dram_mask = 0x3FFFFFFC,
47
.nregs = ASPEED_SMC_R_MAX,
48
.segment_to_reg = aspeed_2600_smc_segment_to_reg,
49
.reg_to_segment = aspeed_2600_smc_reg_to_segment,
50
@@ -XXX,XX +XXX,XX @@ static const AspeedSMCController controllers[] = {
51
.segments = aspeed_segments_ast2600_spi1,
52
.flash_window_base = ASPEED26_SOC_SPI_FLASH_BASE,
53
.flash_window_size = 0x10000000,
54
- .has_dma = false,
55
+ .has_dma = true,
56
+ .dma_flash_mask = 0x0FFFFFFC,
57
+ .dma_dram_mask = 0x3FFFFFFC,
58
.nregs = ASPEED_SMC_R_MAX,
59
.segment_to_reg = aspeed_2600_smc_segment_to_reg,
60
.reg_to_segment = aspeed_2600_smc_reg_to_segment,
61
@@ -XXX,XX +XXX,XX @@ static const AspeedSMCController controllers[] = {
62
.segments = aspeed_segments_ast2600_spi2,
63
.flash_window_base = ASPEED26_SOC_SPI2_FLASH_BASE,
64
.flash_window_size = 0x10000000,
65
- .has_dma = false,
66
+ .has_dma = true,
67
+ .dma_flash_mask = 0x0FFFFFFC,
68
+ .dma_dram_mask = 0x3FFFFFFC,
69
.nregs = ASPEED_SMC_R_MAX,
70
.segment_to_reg = aspeed_2600_smc_segment_to_reg,
71
.reg_to_segment = aspeed_2600_smc_reg_to_segment,
72
@@ -XXX,XX +XXX,XX @@ static void aspeed_smc_dma_rw(AspeedSMCState *s)
73
MemTxResult result;
74
uint32_t data;
75
76
+ trace_aspeed_smc_dma_rw(s->regs[R_DMA_CTRL] & DMA_CTRL_WRITE ?
77
+ "write" : "read",
78
+ s->regs[R_DMA_FLASH_ADDR],
79
+ s->regs[R_DMA_DRAM_ADDR],
80
+ s->regs[R_DMA_LEN]);
81
while (s->regs[R_DMA_LEN]) {
82
if (s->regs[R_DMA_CTRL] & DMA_CTRL_WRITE) {
83
data = address_space_ldl_le(&s->dram_as, s->regs[R_DMA_DRAM_ADDR],
84
diff --git a/hw/ssi/trace-events b/hw/ssi/trace-events
85
index XXXXXXX..XXXXXXX 100644
86
--- a/hw/ssi/trace-events
87
+++ b/hw/ssi/trace-events
88
@@ -XXX,XX +XXX,XX @@ aspeed_smc_do_snoop(int cs, int index, int dummies, int data) "CS%d index:0x%x d
89
aspeed_smc_flash_write(int cs, uint64_t addr, uint32_t size, uint64_t data, int mode) "CS%d @0x%" PRIx64 " size %u: 0x%" PRIx64" mode:%d"
90
aspeed_smc_read(uint64_t addr, uint32_t size, uint64_t data) "@0x%" PRIx64 " size %u: 0x%" PRIx64
91
aspeed_smc_dma_checksum(uint32_t addr, uint32_t data) "0x%08x: 0x%08x"
92
+aspeed_smc_dma_rw(const char *dir, uint32_t flash_addr, uint32_t dram_addr, uint32_t size) "%s flash:@0x%08x dram:@0x%08x size:0x%08x"
93
aspeed_smc_write(uint64_t addr, uint32_t size, uint64_t data) "@0x%" PRIx64 " size %u: 0x%" PRIx64
94
aspeed_smc_flash_select(int cs, const char *prefix) "CS%d %sselect"
95
--
96
2.20.1
97
98
diff view generated by jsdifflib
Deleted patch
1
From: Richard Henderson <richard.henderson@linaro.org>
2
1
3
Coverity rightly notes that ctz32(bas) on 0 will return 32,
4
which makes the len calculation a BAD_SHIFT.
5
6
A value of 0 in DBGWCR<n>_EL1.BAS is reserved. Simply move
7
the existing check we have for this case.
8
9
Reported-by: Coverity (CID 1421964)
10
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
11
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
12
Message-id: 20200320160622.8040-2-richard.henderson@linaro.org
13
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
14
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
15
---
16
target/arm/helper.c | 11 ++++++-----
17
1 file changed, 6 insertions(+), 5 deletions(-)
18
19
diff --git a/target/arm/helper.c b/target/arm/helper.c
20
index XXXXXXX..XXXXXXX 100644
21
--- a/target/arm/helper.c
22
+++ b/target/arm/helper.c
23
@@ -XXX,XX +XXX,XX @@ void hw_watchpoint_update(ARMCPU *cpu, int n)
24
int bas = extract64(wcr, 5, 8);
25
int basstart;
26
27
- if (bas == 0) {
28
- /* This must act as if the watchpoint is disabled */
29
- return;
30
- }
31
-
32
if (extract64(wvr, 2, 1)) {
33
/* Deprecated case of an only 4-aligned address. BAS[7:4] are
34
* ignored, and BAS[3:0] define which bytes to watch.
35
*/
36
bas &= 0xf;
37
}
38
+
39
+ if (bas == 0) {
40
+ /* This must act as if the watchpoint is disabled */
41
+ return;
42
+ }
43
+
44
/* The BAS bits are supposed to be programmed to indicate a contiguous
45
* range of bytes. Otherwise it is CONSTRAINED UNPREDICTABLE whether
46
* we fire for each byte in the word/doubleword addressed by the WVR.
47
--
48
2.20.1
49
50
diff view generated by jsdifflib
Deleted patch
1
From: Richard Henderson <richard.henderson@linaro.org>
2
1
3
Coverity raised a shed-load of errors cascading from inferring
4
that clz32(immh) might yield 32, from immh might be 0.
5
6
While immh cannot be 0 from encoding, it is not obvious even to
7
a human how we've checked that: via the filtering provided by
8
data_proc_simd[].
9
10
Reported-by: Coverity (CID 1421923, and more)
11
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
12
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
13
Message-id: 20200320160622.8040-3-richard.henderson@linaro.org
14
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
15
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
16
---
17
target/arm/translate-a64.c | 3 +++
18
1 file changed, 3 insertions(+)
19
20
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
21
index XXXXXXX..XXXXXXX 100644
22
--- a/target/arm/translate-a64.c
23
+++ b/target/arm/translate-a64.c
24
@@ -XXX,XX +XXX,XX @@ static void disas_simd_shift_imm(DisasContext *s, uint32_t insn)
25
bool is_u = extract32(insn, 29, 1);
26
bool is_q = extract32(insn, 30, 1);
27
28
+ /* data_proc_simd[] has sent immh == 0 to disas_simd_mod_imm. */
29
+ assert(immh != 0);
30
+
31
switch (opcode) {
32
case 0x08: /* SRI */
33
if (!is_u) {
34
--
35
2.20.1
36
37
diff view generated by jsdifflib
Deleted patch
1
From: Richard Henderson <richard.henderson@linaro.org>
2
1
3
Coverity reports a BAD_SHIFT with ctz32(imm5), with imm5 == 0.
4
This is an invalid encoding, but we diagnose that just below
5
by rejecting size > 3. Avoid the warning by sinking the
6
computation of index below the check.
7
8
Reported-by: Coverity (CID 1421965)
9
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
10
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
11
Message-id: 20200320160622.8040-4-richard.henderson@linaro.org
12
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
13
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
14
---
15
target/arm/translate-a64.c | 3 ++-
16
1 file changed, 2 insertions(+), 1 deletion(-)
17
18
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
19
index XXXXXXX..XXXXXXX 100644
20
--- a/target/arm/translate-a64.c
21
+++ b/target/arm/translate-a64.c
22
@@ -XXX,XX +XXX,XX @@ static void handle_simd_dupe(DisasContext *s, int is_q, int rd, int rn,
23
int imm5)
24
{
25
int size = ctz32(imm5);
26
- int index = imm5 >> (size + 1);
27
+ int index;
28
29
if (size > 3 || (size == 3 && !is_q)) {
30
unallocated_encoding(s);
31
@@ -XXX,XX +XXX,XX @@ static void handle_simd_dupe(DisasContext *s, int is_q, int rd, int rn,
32
return;
33
}
34
35
+ index = imm5 >> (size + 1);
36
tcg_gen_gvec_dup_mem(size, vec_full_reg_offset(s, rd),
37
vec_reg_offset(s, rn, index, size),
38
is_q ? 16 : 8, vec_full_reg_size(s));
39
--
40
2.20.1
41
42
diff view generated by jsdifflib