1
Just one bugfix patch for this rc:
1
Massively slimmed down v2: MemTag broke bsd-user, and the npcm7xx
2
ethernet device failed 'make check' on big-endian hosts.
2
3
3
The following changes since commit ca5f3d4df1b47d7f66a109cdb504e83dfd7ec433:
4
-- PMM
4
5
5
Merge tag 'pull-la-20220808' of https://gitlab.com/rth7680/qemu into staging (2022-08-08 19:51:12 -0700)
6
The following changes since commit 83339e21d05c824ebc9131d644f25c23d0e41ecf:
7
8
Merge remote-tracking branch 'remotes/stefanha-gitlab/tags/block-pull-request' into staging (2021-02-10 15:42:20 +0000)
6
9
7
are available in the Git repository at:
10
are available in the Git repository at:
8
11
9
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20220809
12
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210211-1
10
13
11
for you to fetch changes up to c7f26ded6d5065e4116f630f6a490b55f6c5f58e:
14
for you to fetch changes up to d3c1183ffeb71ca3a783eae3d7e1c51e71e8a621:
12
15
13
icount: Take iothread lock when running QEMU timers (2022-08-09 10:55:14 +0100)
16
target/arm: Correctly initialize MDCR_EL2.HPMN (2021-02-11 19:48:09 +0000)
14
17
15
----------------------------------------------------------------
18
----------------------------------------------------------------
16
target-arm queue:
19
target-arm queue:
17
* icount: Take iothread lock when running QEMU timers
20
* Correctly initialize MDCR_EL2.HPMN
21
* versal: Use nr_apu_cpus in favor of hard coding 2
22
* accel/tcg: Add URL of clang bug to comment about our workaround
23
* Add support for FEAT_DIT, Data Independent Timing
24
* Remove GPIO from unimplemented NPCM7XX
25
* Fix SCR RES1 handling
26
* Don't migrate CPUARMState.features
18
27
19
----------------------------------------------------------------
28
----------------------------------------------------------------
20
Peter Maydell (1):
29
Aaron Lindsay (1):
21
icount: Take iothread lock when running QEMU timers
30
target/arm: Don't migrate CPUARMState.features
22
31
23
accel/tcg/tcg-accel-ops-icount.c | 6 ++++++
32
Daniel Müller (1):
24
1 file changed, 6 insertions(+)
33
target/arm: Correctly initialize MDCR_EL2.HPMN
34
35
Edgar E. Iglesias (1):
36
hw/arm: versal: Use nr_apu_cpus in favor of hard coding 2
37
38
Hao Wu (1):
39
hw/arm: Remove GPIO from unimplemented NPCM7XX
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
The function icount_prepare_for_run() is called with the iothread
2
unlocked, but it can call icount_notify_aio_contexts() which will
3
run qemu timer handlers. Those are supposed to be run only with
4
the iothread lock held, so take the lock while we do that.
5
1
6
Since icount mode runs everything on a single thread anyway,
7
not holding the lock is likely mostly not going to introduce
8
races, but it can cause us to trip over assertions that we
9
do hold the lock, such as the one reported in issue 1130.
10
11
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1130
12
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
13
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
14
Tested-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
15
Message-id: 20220801164527.3134765-1-peter.maydell@linaro.org
16
---
17
accel/tcg/tcg-accel-ops-icount.c | 6 ++++++
18
1 file changed, 6 insertions(+)
19
20
diff --git a/accel/tcg/tcg-accel-ops-icount.c b/accel/tcg/tcg-accel-ops-icount.c
21
index XXXXXXX..XXXXXXX 100644
22
--- a/accel/tcg/tcg-accel-ops-icount.c
23
+++ b/accel/tcg/tcg-accel-ops-icount.c
24
@@ -XXX,XX +XXX,XX @@ void icount_prepare_for_run(CPUState *cpu)
25
replay_mutex_lock();
26
27
if (cpu->icount_budget == 0) {
28
+ /*
29
+ * We're called without the iothread lock, so must take it while
30
+ * we're calling timer handlers.
31
+ */
32
+ qemu_mutex_lock_iothread();
33
icount_notify_aio_contexts();
34
+ qemu_mutex_unlock_iothread();
35
}
36
}
37
38
--
39
2.25.1
diff view generated by jsdifflib