1
A few last patches to go in for rc3...
1
The following changes since commit e3debd5e7d0ce031356024878a0a18b9d109354a:
2
2
3
The following changes since commit c1e90def01bdb8fcbdbebd9d1eaa8e4827ece620:
3
Merge tag 'pull-request-2023-03-24' of https://gitlab.com/thuth/qemu into staging (2023-03-24 16:08:46 +0000)
4
5
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20210412' into staging (2021-04-12 12:12:09 +0100)
6
4
7
are available in the Git repository at:
5
are available in the Git repository at:
8
6
9
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210413
7
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20230328
10
8
11
for you to fetch changes up to 2d18b4ca023ca1a3aee18064251d6e6e1084f3eb:
9
for you to fetch changes up to 46e3b237c52e0c48bfd81bce020b51fbe300b23a:
12
10
13
sphinx: qapidoc: Wrap "If" section body in a paragraph node (2021-04-13 10:14:58 +0100)
11
target/arm/gdbstub: Only advertise M-profile features if TCG available (2023-03-28 10:53:40 +0100)
14
12
15
----------------------------------------------------------------
13
----------------------------------------------------------------
16
target-arm queue:
14
target-arm queue:
17
* Fix MPC setting for AN524 SRAM block
15
* fix part of the "TCG-disabled builds are broken" issue
18
* sphinx: qapidoc: Wrap "If" section body in a paragraph node
19
16
20
----------------------------------------------------------------
17
----------------------------------------------------------------
21
John Snow (1):
18
Philippe Mathieu-Daudé (1):
22
sphinx: qapidoc: Wrap "If" section body in a paragraph node
19
target/arm/gdbstub: Only advertise M-profile features if TCG available
23
20
24
Peter Maydell (2):
21
target/arm/gdbstub.c | 5 +++--
25
hw/arm/mps2-tz: Fix MPC setting for AN524 SRAM block
22
1 file changed, 3 insertions(+), 2 deletions(-)
26
hw/arm/mps2-tz: Assert if more than one RAM is attached to an MPC
27
23
28
docs/sphinx/qapidoc.py | 4 +++-
29
hw/arm/mps2-tz.c | 10 +++++++---
30
2 files changed, 10 insertions(+), 4 deletions(-)
31
diff view generated by jsdifflib
Deleted patch
1
The AN524 has three MPCs: one for the BRAM, one for the QSPI flash,
2
and one for the DDR. We incorrectly set the .mpc field in the
3
RAMInfo struct for the SRAM block to 1, giving it the same MPC we are
4
using for the QSPI. The effect of this was that the QSPI didn't get
5
mapped into the system address space at all, via an MPC or otherwise,
6
and guest programs which tried to read from the QSPI would get a bus
7
error. Correct the SRAM RAMInfo to indicate that it does not have an
8
associated MPC.
9
1
10
Fixes: 25ff112a8cc ("hw/arm/mps2-tz: Add new mps3-an524 board")
11
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
13
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
14
Message-id: 20210409150527.15053-2-peter.maydell@linaro.org
15
---
16
hw/arm/mps2-tz.c | 2 +-
17
1 file changed, 1 insertion(+), 1 deletion(-)
18
19
diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c
20
index XXXXXXX..XXXXXXX 100644
21
--- a/hw/arm/mps2-tz.c
22
+++ b/hw/arm/mps2-tz.c
23
@@ -XXX,XX +XXX,XX @@ static const RAMInfo an524_raminfo[] = { {
24
.name = "sram",
25
.base = 0x20000000,
26
.size = 32 * 4 * KiB,
27
- .mpc = 1,
28
+ .mpc = -1,
29
.mrindex = 1,
30
}, {
31
/* We don't model QSPI flash yet; for now expose it as simple ROM */
32
--
33
2.20.1
34
35
diff view generated by jsdifflib
Deleted patch
1
Each board in mps2-tz.c specifies a RAMInfo[] array providing
2
information about each RAM in the board. The .mpc field of the
3
RAMInfo struct specifies which MPC, if any, the RAM is attached to.
4
We already assert if the array doesn't have any entry for an MPC, but
5
we don't diagnose the error of using the same MPC number twice (which
6
is quite easy to do by accident if copy-and-pasting structure
7
entries).
8
1
9
Enhance find_raminfo_for_mpc() so that it detects multiple entries
10
for the MPC as well as missing entries.
11
12
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
13
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
14
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
15
Message-id: 20210409150527.15053-3-peter.maydell@linaro.org
16
---
17
hw/arm/mps2-tz.c | 8 ++++++--
18
1 file changed, 6 insertions(+), 2 deletions(-)
19
20
diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c
21
index XXXXXXX..XXXXXXX 100644
22
--- a/hw/arm/mps2-tz.c
23
+++ b/hw/arm/mps2-tz.c
24
@@ -XXX,XX +XXX,XX @@ static const RAMInfo *find_raminfo_for_mpc(MPS2TZMachineState *mms, int mpc)
25
{
26
MPS2TZMachineClass *mmc = MPS2TZ_MACHINE_GET_CLASS(mms);
27
const RAMInfo *p;
28
+ const RAMInfo *found = NULL;
29
30
for (p = mmc->raminfo; p->name; p++) {
31
if (p->mpc == mpc && !(p->flags & IS_ALIAS)) {
32
- return p;
33
+ /* There should only be one entry in the array for this MPC */
34
+ g_assert(!found);
35
+ found = p;
36
}
37
}
38
/* if raminfo array doesn't have an entry for each MPC this is a bug */
39
- g_assert_not_reached();
40
+ assert(found);
41
+ return found;
42
}
43
44
static MemoryRegion *mr_for_raminfo(MPS2TZMachineState *mms,
45
--
46
2.20.1
47
48
diff view generated by jsdifflib
1
From: John Snow <jsnow@redhat.com>
1
From: Philippe Mathieu-Daudé <philmd@linaro.org>
2
2
3
These sections need to be wrapped in a block-level element, such as
3
Cortex-M profile is only emulable from TCG accelerator. Restrict
4
Paragraph in order for them to be rendered into Texinfo correctly.
4
the GDBstub features to its availability in order to avoid a link
5
error when TCG is not enabled:
5
6
6
Before (e.g.):
7
Undefined symbols for architecture arm64:
8
"_arm_v7m_get_sp_ptr", referenced from:
9
_m_sysreg_get in target_arm_gdbstub.c.o
10
"_arm_v7m_mrs_control", referenced from:
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)
7
14
8
<section ids="qapidoc-713">
15
Fixes: 7d8b28b8b5 ("target/arm: Implement gdbstub m-profile systemreg and secext")
9
<title>If</title>
16
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
10
<literal>defined(CONFIG_REPLICATION)</literal>
17
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
11
</section>
18
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
12
19
Message-id: 20230322142902.69511-3-philmd@linaro.org
13
became:
20
[PMM: add #include since I cherry-picked this patch from the series]
14
15
.SS If
16
\fBdefined(CONFIG_REPLICATION)\fP.SS \fBBlockdevOptionsReplication\fP (Object)
17
...
18
19
After:
20
21
<section ids="qapidoc-713">
22
<title>If</title>
23
<paragraph>
24
<literal>defined(CONFIG_REPLICATION)</literal>
25
</paragraph>
26
</section>
27
28
becomes:
29
30
.SS If
31
.sp
32
\fBdefined(CONFIG_REPLICATION)\fP
33
.SS \fBBlockdevOptionsReplication\fP (Object)
34
...
35
36
Reported-by: Markus Armbruster <armbru@redhat.com>
37
Tested-by: Markus Armbruster <armbru@redhat.com>
38
Signed-off-by: John Snow <jsnow@redhat.com>
39
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
40
Message-id: 20210406141909.1992225-2-jsnow@redhat.com
41
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
21
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
42
---
22
---
43
docs/sphinx/qapidoc.py | 4 +++-
23
target/arm/gdbstub.c | 5 +++--
44
1 file changed, 3 insertions(+), 1 deletion(-)
24
1 file changed, 3 insertions(+), 2 deletions(-)
45
25
46
diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py
26
diff --git a/target/arm/gdbstub.c b/target/arm/gdbstub.c
47
index XXXXXXX..XXXXXXX 100644
27
index XXXXXXX..XXXXXXX 100644
48
--- a/docs/sphinx/qapidoc.py
28
--- a/target/arm/gdbstub.c
49
+++ b/docs/sphinx/qapidoc.py
29
+++ b/target/arm/gdbstub.c
50
@@ -XXX,XX +XXX,XX @@ def _nodes_for_if_section(self, ifcond):
30
@@ -XXX,XX +XXX,XX @@
51
nodelist = []
31
#include "cpu.h"
52
if ifcond:
32
#include "exec/gdbstub.h"
53
snode = self._make_section('If')
33
#include "gdbstub/helpers.h"
54
- snode += self._nodes_for_ifcond(ifcond, with_if=False)
34
+#include "sysemu/tcg.h"
55
+ snode += nodes.paragraph(
35
#include "internals.h"
56
+ '', '', *self._nodes_for_ifcond(ifcond, with_if=False)
36
#include "cpregs.h"
57
+ )
37
58
nodelist.append(snode)
38
@@ -XXX,XX +XXX,XX @@ void arm_cpu_register_gdb_regs_for_features(ARMCPU *cpu)
59
return nodelist
39
2, "arm-vfp-sysregs.xml", 0);
60
40
}
41
}
42
- if (cpu_isar_feature(aa32_mve, cpu)) {
43
+ if (cpu_isar_feature(aa32_mve, cpu) && tcg_enabled()) {
44
gdb_register_coprocessor(cs, mve_gdb_get_reg, mve_gdb_set_reg,
45
1, "arm-m-profile-mve.xml", 0);
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),
61
--
56
--
62
2.20.1
57
2.34.1
63
58
64
59
diff view generated by jsdifflib