1
Just a few minor bugfixes, but we might as well get them in
1
The following changes since commit e3debd5e7d0ce031356024878a0a18b9d109354a:
2
for rc0 tomorrow.
3
2
4
-- PMM
3
Merge tag 'pull-request-2023-03-24' of https://gitlab.com/thuth/qemu into staging (2023-03-24 16:08:46 +0000)
5
6
The following changes since commit 787f82407c5056a8b1097e39e53d01dd1abe406b:
7
8
Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20200323' into staging (2020-03-23 15:38:30 +0000)
9
4
10
are available in the Git repository at:
5
are available in the Git repository at:
11
6
12
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20200323
7
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20230328
13
8
14
for you to fetch changes up to 550a04893c2bd4442211b353680b9a6408d94dba:
9
for you to fetch changes up to 46e3b237c52e0c48bfd81bce020b51fbe300b23a:
15
10
16
target/arm: Move computation of index in handle_simd_dupe (2020-03-23 17:22:30 +0000)
11
target/arm/gdbstub: Only advertise M-profile features if TCG available (2023-03-28 10:53:40 +0100)
17
12
18
----------------------------------------------------------------
13
----------------------------------------------------------------
19
target-arm queue:
14
target-arm queue:
20
* target/arm: avoid undefined behaviour shift in watchpoint code
15
* fix part of the "TCG-disabled builds are broken" issue
21
* target/arm: avoid undefined behaviour shift in handle_simd_dupe()
22
* target/arm: add assert that immh != 0 in disas_simd_shift_imm()
23
* aspeed/smc: Fix DMA support for AST2600
24
* hw/arm/bcm283x: Correct the license text ('and' vs 'or')
25
16
26
----------------------------------------------------------------
17
----------------------------------------------------------------
27
Cédric Le Goater (1):
18
Philippe Mathieu-Daudé (1):
28
aspeed/smc: Fix DMA support for AST2600
19
target/arm/gdbstub: Only advertise M-profile features if TCG available
29
20
30
Philippe Mathieu-Daudé (1):
21
target/arm/gdbstub.c | 5 +++--
31
hw/arm/bcm283x: Correct the license text
22
1 file changed, 3 insertions(+), 2 deletions(-)
32
23
33
Richard Henderson (3):
34
target/arm: Rearrange disabled check for watchpoints
35
target/arm: Assert immh != 0 in disas_simd_shift_imm
36
target/arm: Move computation of index in handle_simd_dupe
37
38
include/hw/arm/bcm2835_peripherals.h | 3 ++-
39
include/hw/arm/bcm2836.h | 3 ++-
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
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
1
From: Richard Henderson <richard.henderson@linaro.org>
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
2
3
Coverity reports a BAD_SHIFT with ctz32(imm5), with imm5 == 0.
3
Cortex-M profile is only emulable from TCG accelerator. Restrict
4
This is an invalid encoding, but we diagnose that just below
4
the GDBstub features to its availability in order to avoid a link
5
by rejecting size > 3. Avoid the warning by sinking the
5
error when TCG is not enabled:
6
computation of index below the check.
7
6
8
Reported-by: Coverity (CID 1421965)
7
Undefined symbols for architecture arm64:
9
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
8
"_arm_v7m_get_sp_ptr", referenced from:
10
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
9
_m_sysreg_get in target_arm_gdbstub.c.o
11
Message-id: 20200320160622.8040-4-richard.henderson@linaro.org
10
"_arm_v7m_mrs_control", referenced from:
12
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
11
_arm_gdb_get_m_systemreg in target_arm_gdbstub.c.o
12
ld: symbol(s) not found for architecture arm64
13
clang: error: linker command failed with exit code 1 (use -v to see invocation)
14
15
Fixes: 7d8b28b8b5 ("target/arm: Implement gdbstub m-profile systemreg and secext")
16
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
17
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
18
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
19
Message-id: 20230322142902.69511-3-philmd@linaro.org
20
[PMM: add #include since I cherry-picked this patch from the series]
13
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
21
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
14
---
22
---
15
target/arm/translate-a64.c | 3 ++-
23
target/arm/gdbstub.c | 5 +++--
16
1 file changed, 2 insertions(+), 1 deletion(-)
24
1 file changed, 3 insertions(+), 2 deletions(-)
17
25
18
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
26
diff --git a/target/arm/gdbstub.c b/target/arm/gdbstub.c
19
index XXXXXXX..XXXXXXX 100644
27
index XXXXXXX..XXXXXXX 100644
20
--- a/target/arm/translate-a64.c
28
--- a/target/arm/gdbstub.c
21
+++ b/target/arm/translate-a64.c
29
+++ b/target/arm/gdbstub.c
22
@@ -XXX,XX +XXX,XX @@ static void handle_simd_dupe(DisasContext *s, int is_q, int rd, int rn,
30
@@ -XXX,XX +XXX,XX @@
23
int imm5)
31
#include "cpu.h"
24
{
32
#include "exec/gdbstub.h"
25
int size = ctz32(imm5);
33
#include "gdbstub/helpers.h"
26
- int index = imm5 >> (size + 1);
34
+#include "sysemu/tcg.h"
27
+ int index;
35
#include "internals.h"
28
36
#include "cpregs.h"
29
if (size > 3 || (size == 3 && !is_q)) {
37
30
unallocated_encoding(s);
38
@@ -XXX,XX +XXX,XX @@ void arm_cpu_register_gdb_regs_for_features(ARMCPU *cpu)
31
@@ -XXX,XX +XXX,XX @@ static void handle_simd_dupe(DisasContext *s, int is_q, int rd, int rn,
39
2, "arm-vfp-sysregs.xml", 0);
32
return;
40
}
33
}
41
}
34
42
- if (cpu_isar_feature(aa32_mve, cpu)) {
35
+ index = imm5 >> (size + 1);
43
+ if (cpu_isar_feature(aa32_mve, cpu) && tcg_enabled()) {
36
tcg_gen_gvec_dup_mem(size, vec_full_reg_offset(s, rd),
44
gdb_register_coprocessor(cs, mve_gdb_get_reg, mve_gdb_set_reg,
37
vec_reg_offset(s, rn, index, size),
45
1, "arm-m-profile-mve.xml", 0);
38
is_q ? 16 : 8, vec_full_reg_size(s));
46
}
47
@@ -XXX,XX +XXX,XX @@ void arm_cpu_register_gdb_regs_for_features(ARMCPU *cpu)
48
arm_gen_dynamic_sysreg_xml(cs, cs->gdb_num_regs),
49
"system-registers.xml", 0);
50
51
- if (arm_feature(env, ARM_FEATURE_M)) {
52
+ if (arm_feature(env, ARM_FEATURE_M) && tcg_enabled()) {
53
gdb_register_coprocessor(cs,
54
arm_gdb_get_m_systemreg, arm_gdb_set_m_systemreg,
55
arm_gen_dynamic_m_systemreg_xml(cs, cs->gdb_num_regs),
39
--
56
--
40
2.20.1
57
2.34.1
41
58
42
59
diff view generated by jsdifflib