1
A few last patches to go in for rc3...
1
v2: drop pvpanic-pci patches.
2
2
3
The following changes since commit c1e90def01bdb8fcbdbebd9d1eaa8e4827ece620:
3
The following changes since commit f1fcb6851aba6dd9838886dc179717a11e344a1c:
4
4
5
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20210412' into staging (2021-04-12 12:12:09 +0100)
5
Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2021-01-19' into staging (2021-01-19 11:57:07 +0000)
6
6
7
are available in the Git repository at:
7
are available in the Git repository at:
8
8
9
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210413
9
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210119-1
10
10
11
for you to fetch changes up to 2d18b4ca023ca1a3aee18064251d6e6e1084f3eb:
11
for you to fetch changes up to b93f4fbdc48283a39089469c44a5529d79dc40a8:
12
12
13
sphinx: qapidoc: Wrap "If" section body in a paragraph node (2021-04-13 10:14:58 +0100)
13
docs: Build and install all the docs in a single manual (2021-01-19 15:45:14 +0000)
14
14
15
----------------------------------------------------------------
15
----------------------------------------------------------------
16
target-arm queue:
16
target-arm queue:
17
* Fix MPC setting for AN524 SRAM block
17
* Implement IMPDEF pauth algorithm
18
* sphinx: qapidoc: Wrap "If" section body in a paragraph node
18
* Support ARMv8.4-SEL2
19
* Fix bug where we were truncating predicate vector lengths in SVE insns
20
* npcm7xx_adc-test: Fix memleak in adc_qom_set
21
* target/arm/m_helper: Silence GCC 10 maybe-uninitialized error
22
* docs: Build and install all the docs in a single manual
19
23
20
----------------------------------------------------------------
24
----------------------------------------------------------------
21
John Snow (1):
25
Gan Qixin (1):
22
sphinx: qapidoc: Wrap "If" section body in a paragraph node
26
npcm7xx_adc-test: Fix memleak in adc_qom_set
23
27
24
Peter Maydell (2):
28
Peter Maydell (1):
25
hw/arm/mps2-tz: Fix MPC setting for AN524 SRAM block
29
docs: Build and install all the docs in a single manual
26
hw/arm/mps2-tz: Assert if more than one RAM is attached to an MPC
27
30
28
docs/sphinx/qapidoc.py | 4 +++-
31
Philippe Mathieu-Daudé (1):
29
hw/arm/mps2-tz.c | 10 +++++++---
32
target/arm/m_helper: Silence GCC 10 maybe-uninitialized error
30
2 files changed, 10 insertions(+), 4 deletions(-)
31
33
34
Richard Henderson (7):
35
target/arm: Implement an IMPDEF pauth algorithm
36
target/arm: Add cpu properties to control pauth
37
target/arm: Use object_property_add_bool for "sve" property
38
target/arm: Introduce PREDDESC field definitions
39
target/arm: Update PFIRST, PNEXT for pred_desc
40
target/arm: Update ZIP, UZP, TRN for pred_desc
41
target/arm: Update REV, PUNPK for pred_desc
42
43
Rémi Denis-Courmont (19):
44
target/arm: remove redundant tests
45
target/arm: add arm_is_el2_enabled() helper
46
target/arm: use arm_is_el2_enabled() where applicable
47
target/arm: use arm_hcr_el2_eff() where applicable
48
target/arm: factor MDCR_EL2 common handling
49
target/arm: Define isar_feature function to test for presence of SEL2
50
target/arm: add 64-bit S-EL2 to EL exception table
51
target/arm: add MMU stage 1 for Secure EL2
52
target/arm: add ARMv8.4-SEL2 system registers
53
target/arm: handle VMID change in secure state
54
target/arm: do S1_ptw_translate() before address space lookup
55
target/arm: translate NS bit in page-walks
56
target/arm: generalize 2-stage page-walk condition
57
target/arm: secure stage 2 translation regime
58
target/arm: set HPFAR_EL2.NS on secure stage 2 faults
59
target/arm: revector to run-time pick target EL
60
target/arm: Implement SCR_EL2.EEL2
61
target/arm: enable Secure EL2 in max CPU
62
target/arm: refactor vae1_tlbmask()
63
64
docs/conf.py | 46 ++++-
65
docs/devel/conf.py | 15 --
66
docs/index.html.in | 17 --
67
docs/interop/conf.py | 28 ---
68
docs/meson.build | 64 +++---
69
docs/specs/conf.py | 16 --
70
docs/system/arm/cpu-features.rst | 21 ++
71
docs/system/conf.py | 28 ---
72
docs/tools/conf.py | 37 ----
73
docs/user/conf.py | 15 --
74
include/qemu/xxhash.h | 98 +++++++++
75
target/arm/cpu-param.h | 2 +-
76
target/arm/cpu.h | 107 ++++++++--
77
target/arm/internals.h | 45 +++++
78
target/arm/cpu.c | 23 ++-
79
target/arm/cpu64.c | 65 ++++--
80
target/arm/helper-a64.c | 8 +-
81
target/arm/helper.c | 414 ++++++++++++++++++++++++++-------------
82
target/arm/m_helper.c | 2 +-
83
target/arm/monitor.c | 1 +
84
target/arm/op_helper.c | 4 +-
85
target/arm/pauth_helper.c | 27 ++-
86
target/arm/sve_helper.c | 33 ++--
87
target/arm/tlb_helper.c | 3 +
88
target/arm/translate-a64.c | 4 +
89
target/arm/translate-sve.c | 31 ++-
90
target/arm/translate.c | 36 +++-
91
tests/qtest/arm-cpu-features.c | 13 ++
92
tests/qtest/npcm7xx_adc-test.c | 1 +
93
.gitlab-ci.yml | 4 +-
94
30 files changed, 770 insertions(+), 438 deletions(-)
95
delete mode 100644 docs/devel/conf.py
96
delete mode 100644 docs/index.html.in
97
delete mode 100644 docs/interop/conf.py
98
delete mode 100644 docs/specs/conf.py
99
delete mode 100644 docs/system/conf.py
100
delete mode 100644 docs/tools/conf.py
101
delete mode 100644 docs/user/conf.py
102
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
Deleted patch
1
From: John Snow <jsnow@redhat.com>
2
1
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