1
v2: dropped a couple of cadence_gem changes to ID regs that
1
A few last patches to go in for rc3...
2
caused new clang sanitizer warnings.
3
2
4
-- PMM
3
The following changes since commit c1e90def01bdb8fcbdbebd9d1eaa8e4827ece620:
5
4
6
The following changes since commit dddb37495b844270088e68e3bf30b764d48d863f:
5
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20210412' into staging (2021-04-12 12:12:09 +0100)
7
8
Merge remote-tracking branch 'remotes/awilliam/tags/vfio-updates-20181015.0' into staging (2018-10-15 18:44:04 +0100)
9
6
10
are available in the Git repository at:
7
are available in the Git repository at:
11
8
12
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20181016-1
9
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210413
13
10
14
for you to fetch changes up to 2ef297af07196c29446556537861f8e7dfeeae7b:
11
for you to fetch changes up to 2d18b4ca023ca1a3aee18064251d6e6e1084f3eb:
15
12
16
coccinelle: new inplace-byteswaps.cocci to remove inplace-byteswapping calls (2018-10-16 17:14:55 +0100)
13
sphinx: qapidoc: Wrap "If" section body in a paragraph node (2021-04-13 10:14:58 +0100)
17
14
18
----------------------------------------------------------------
15
----------------------------------------------------------------
19
target-arm queue:
16
target-arm queue:
20
* hw/arm/virt: add DT property /secure-chosen/stdout-path indicating secure UART
17
* Fix MPC setting for AN524 SRAM block
21
* target/arm: Fix aarch64_sve_change_el wrt EL0
18
* sphinx: qapidoc: Wrap "If" section body in a paragraph node
22
* target/arm: Define fields of ISAR registers
23
* target/arm: Align cortex-r5 id_isar0
24
* target/arm: Fix cortex-a7 id_isar0
25
* net/cadence_gem: Fix various bugs, add support for new
26
features that will be used by the Xilinx Versal board
27
* target-arm: powerctl: Enable HVC when starting CPUs to EL2
28
* target/arm: Add the Cortex-A72
29
* target/arm: Mark PMINTENCLR and PMINTENCLR_EL1 accesses as possibly doing IO
30
* target/arm: Mask PMOVSR writes based on supported counters
31
* target/arm: Initialize ARMMMUFaultInfo in v7m_stack_read/write
32
* coccinelle: new inplace-byteswaps.cocci to remove inplace-byteswapping calls
33
19
34
----------------------------------------------------------------
20
----------------------------------------------------------------
35
Aaron Lindsay (2):
21
John Snow (1):
36
target/arm: Mark PMINTENCLR and PMINTENCLR_EL1 accesses as possibly doing IO
22
sphinx: qapidoc: Wrap "If" section body in a paragraph node
37
target/arm: Mask PMOVSR writes based on supported counters
38
39
Edgar E. Iglesias (8):
40
net: cadence_gem: Disable TSU feature bit
41
net: cadence_gem: Use uint32_t for 32bit descriptor words
42
net: cadence_gem: Add macro with max number of descriptor words
43
net: cadence_gem: Add support for extended descriptors
44
net: cadence_gem: Add support for selecting the DMA MemoryRegion
45
net: cadence_gem: Implement support for 64bit descriptor addresses
46
target-arm: powerctl: Enable HVC when starting CPUs to EL2
47
target/arm: Add the Cortex-A72
48
49
Jerome Forissier (1):
50
hw/arm/virt: add DT property /secure-chosen/stdout-path indicating secure UART
51
23
52
Peter Maydell (2):
24
Peter Maydell (2):
53
target/arm: Initialize ARMMMUFaultInfo in v7m_stack_read/write
25
hw/arm/mps2-tz: Fix MPC setting for AN524 SRAM block
54
coccinelle: new inplace-byteswaps.cocci to remove inplace-byteswapping calls
26
hw/arm/mps2-tz: Assert if more than one RAM is attached to an MPC
55
27
56
Richard Henderson (4):
28
docs/sphinx/qapidoc.py | 4 +++-
57
target/arm: Fix aarch64_sve_change_el wrt EL0
29
hw/arm/mps2-tz.c | 10 +++++++---
58
target/arm: Define fields of ISAR registers
30
2 files changed, 10 insertions(+), 4 deletions(-)
59
target/arm: Align cortex-r5 id_isar0
60
target/arm: Fix cortex-a7 id_isar0
61
31
62
include/hw/net/cadence_gem.h | 7 +-
63
target/arm/cpu.h | 95 ++++++++++++++-
64
hw/arm/virt.c | 4 +
65
hw/net/cadence_gem.c | 185 ++++++++++++++++++++---------
66
target/arm/arm-powerctl.c | 10 ++
67
target/arm/cpu.c | 7 +-
68
target/arm/cpu64.c | 66 +++++++++-
69
target/arm/helper.c | 27 +++--
70
target/arm/op_helper.c | 6 +-
71
scripts/coccinelle/inplace-byteswaps.cocci | 65 ++++++++++
72
10 files changed, 402 insertions(+), 70 deletions(-)
73
create mode 100644 scripts/coccinelle/inplace-byteswaps.cocci
74
diff view generated by jsdifflib
New 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.
1
9
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
New 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).
1
8
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
New patch
1
From: John Snow <jsnow@redhat.com>
1
2
3
These sections need to be wrapped in a block-level element, such as
4
Paragraph in order for them to be rendered into Texinfo correctly.
5
6
Before (e.g.):
7
8
<section ids="qapidoc-713">
9
<title>If</title>
10
<literal>defined(CONFIG_REPLICATION)</literal>
11
</section>
12
13
became:
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>
42
---
43
docs/sphinx/qapidoc.py | 4 +++-
44
1 file changed, 3 insertions(+), 1 deletion(-)
45
46
diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py
47
index XXXXXXX..XXXXXXX 100644
48
--- a/docs/sphinx/qapidoc.py
49
+++ b/docs/sphinx/qapidoc.py
50
@@ -XXX,XX +XXX,XX @@ def _nodes_for_if_section(self, ifcond):
51
nodelist = []
52
if ifcond:
53
snode = self._make_section('If')
54
- snode += self._nodes_for_ifcond(ifcond, with_if=False)
55
+ snode += nodes.paragraph(
56
+ '', '', *self._nodes_for_ifcond(ifcond, with_if=False)
57
+ )
58
nodelist.append(snode)
59
return nodelist
60
61
--
62
2.20.1
63
64
diff view generated by jsdifflib