1
This bug seemed worth fixing for 8.0 since we need an rc4 anyway:
1
v3: fix test failure on 32-bit hosts due to new board defaulting to 2GB RAM.
2
we were using uninitialized data for the guarded bit when
3
combining stage 1 and stage 2 attrs.
4
2
5
thanks
6
-- PMM
3
-- PMM
7
4
8
The following changes since commit 08dede07030973c1053868bc64de7e10bfa02ad6:
5
The following changes since commit 9a7beaad3dbba982f7a461d676b55a5c3851d312:
9
6
10
Merge tag 'pull-ppc-20230409' of https://github.com/legoater/qemu into staging (2023-04-10 11:47:52 +0100)
7
Merge remote-tracking branch 'remotes/alistair/tags/pull-riscv-to-apply-20210304' into staging (2021-03-05 10:47:46 +0000)
11
8
12
are available in the Git repository at:
9
are available in the Git repository at:
13
10
14
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20230410
11
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210308
15
12
16
for you to fetch changes up to 8539dc00552e8ea60420856fc1262c8299bc6308:
13
for you to fetch changes up to 50b52b18cdb9294ce83dd49bb60b8e55a6526ea0:
17
14
18
target/arm: Copy guarded bit in combine_cacheattrs (2023-04-10 14:31:40 +0100)
15
hw/arm/mps2: Update old infocenter.arm.com URLs (2021-03-08 11:54:16 +0000)
19
16
20
----------------------------------------------------------------
17
----------------------------------------------------------------
21
target-arm: Fix bug where we weren't initializing
18
target-arm queue:
22
guarded bit state when combining S1/S2 attrs
19
* sbsa-ref: remove cortex-a53 from list of supported cpus
20
* sbsa-ref: add 'max' to list of allowed cpus
21
* target/arm: Add support for FEAT_SSBS, Speculative Store Bypass Safe
22
* npcm7xx: add EMC model
23
* xlnx-zynqmp: Remove obsolete 'has_rpu' property
24
* target/arm: Speed up aarch64 TBL/TBX
25
* virtio-mmio: improve virtio-mmio get_dev_path alog
26
* target/arm: Use TCF0 and TFSRE0 for unprivileged tag checks
27
* target/arm: Restrict v8M IDAU to TCG
28
* target/arm/cpu: Update coding style to make checkpatch.pl happy
29
* musicpal, tc6393xb, omap_lcdc, tcx: drop dead code for non-32-bit-RGB surfaces
30
* Add new board: mps3-an524
23
31
24
----------------------------------------------------------------
32
----------------------------------------------------------------
25
Richard Henderson (2):
33
Doug Evans (3):
26
target/arm: PTE bit GP only applies to stage1
34
hw/net: Add npcm7xx emc model
27
target/arm: Copy guarded bit in combine_cacheattrs
35
hw/arm: Add npcm7xx emc model
36
tests/qtests: Add npcm7xx emc model test
28
37
29
target/arm/ptw.c | 11 ++++++-----
38
Marcin Juszkiewicz (2):
30
1 file changed, 6 insertions(+), 5 deletions(-)
39
sbsa-ref: remove cortex-a53 from list of supported cpus
40
sbsa-ref: add 'max' to list of allowed cpus
41
42
Peter Collingbourne (1):
43
target/arm: Use TCF0 and TFSRE0 for unprivileged tag checks
44
45
Peter Maydell (34):
46
hw/arm/musicpal: Remove dead code for non-32-bit-RGB surfaces
47
hw/display/tc6393xb: Remove dead code for handling non-32bpp surfaces
48
hw/display/tc6393xb: Expand out macros in template header
49
hw/display/tc6393xb: Inline tc6393xb_draw_graphic32() at its callsite
50
hw/display/omap_lcdc: Expand out macros in template header
51
hw/display/omap_lcdc: Drop broken bigendian ifdef
52
hw/display/omap_lcdc: Fix coding style issues in template header
53
hw/display/omap_lcdc: Inline template header into C file
54
hw/display/omap_lcdc: Delete unnecessary macro
55
hw/display/tcx: Drop unnecessary code for handling BGR format outputs
56
hw/arm/mps2-tz: Make SYSCLK frequency board-specific
57
hw/misc/mps2-scc: Support configurable number of OSCCLK values
58
hw/arm/mps2-tz: Correct the OSCCLK settings for mps2-an505 and mps2-an511
59
hw/arm/mps2-tz: Make the OSCCLK settings be configurable per-board
60
hw/misc/mps2-fpgaio: Make number of LEDs configurable by board
61
hw/misc/mps2-fpgaio: Support SWITCH register
62
hw/arm/mps2-tz: Make FPGAIO switch and LED config per-board
63
hw/arm/mps2-tz: Condition IRQ splitting on number of CPUs, not board type
64
hw/arm/mps2-tz: Make number of IRQs board-specific
65
hw/misc/mps2-scc: Implement CFG_REG5 and CFG_REG6 for MPS3 AN524
66
hw/arm/mps2-tz: Correct wrong interrupt numbers for DMA and SPI
67
hw/arm/mps2-tz: Allow PPCPortInfo structures to specify device interrupts
68
hw/arm/mps2-tz: Move device IRQ info to data structures
69
hw/arm/mps2-tz: Size the uart-irq-orgate based on the number of UARTs
70
hw/arm/mps2-tz: Allow boards to have different PPCInfo data
71
hw/arm/mps2-tz: Make RAM arrangement board-specific
72
hw/arm/mps2-tz: Set MachineClass default_ram info from RAMInfo data
73
hw/arm/mps2-tz: Support ROMs as well as RAMs
74
hw/arm/mps2-tz: Get armv7m_load_kernel() size argument from RAMInfo
75
hw/arm/mps2-tz: Add new mps3-an524 board
76
hw/arm/mps2-tz: Stub out USB controller for mps3-an524
77
hw/arm/mps2-tz: Provide PL031 RTC on mps3-an524
78
docs/system/arm/mps2.rst: Document the new mps3-an524 board
79
hw/arm/mps2: Update old infocenter.arm.com URLs
80
81
Philippe Mathieu-Daudé (4):
82
hw/arm/xlnx-zynqmp: Remove obsolete 'has_rpu' property
83
hw/i2c/npcm7xx_smbus: Simplify npcm7xx_smbus_init()
84
target/arm: Restrict v8M IDAU to TCG
85
target/arm/cpu: Update coding style to make checkpatch.pl happy
86
87
Rebecca Cran (3):
88
target/arm: Add support for FEAT_SSBS, Speculative Store Bypass Safe
89
target/arm: Enable FEAT_SSBS for "max" AARCH64 CPU
90
target/arm: Set ID_PFR2.SSBS to 1 for "max" 32-bit CPU
91
92
Richard Henderson (1):
93
target/arm: Speed up aarch64 TBL/TBX
94
95
schspa (1):
96
virtio-mmio: improve virtio-mmio get_dev_path alog
97
98
docs/system/arm/mps2.rst | 24 +-
99
docs/system/arm/nuvoton.rst | 3 +-
100
hw/display/omap_lcd_template.h | 169 --------
101
hw/display/tc6393xb_template.h | 72 ----
102
include/hw/arm/armsse.h | 4 +-
103
include/hw/arm/npcm7xx.h | 2 +
104
include/hw/arm/xlnx-zynqmp.h | 2 -
105
include/hw/misc/armsse-cpuid.h | 2 +-
106
include/hw/misc/armsse-mhu.h | 2 +-
107
include/hw/misc/iotkit-secctl.h | 2 +-
108
include/hw/misc/iotkit-sysctl.h | 2 +-
109
include/hw/misc/iotkit-sysinfo.h | 2 +-
110
include/hw/misc/mps2-fpgaio.h | 8 +-
111
include/hw/misc/mps2-scc.h | 10 +-
112
include/hw/net/npcm7xx_emc.h | 286 +++++++++++++
113
target/arm/cpu.h | 15 +-
114
target/arm/helper-a64.h | 2 +-
115
target/arm/internals.h | 6 +
116
hw/arm/mps2-tz.c | 642 ++++++++++++++++++++++++-----
117
hw/arm/mps2.c | 5 +
118
hw/arm/musicpal.c | 64 ++-
119
hw/arm/npcm7xx.c | 50 ++-
120
hw/arm/sbsa-ref.c | 2 +-
121
hw/arm/xlnx-zynqmp.c | 6 -
122
hw/display/omap_lcdc.c | 129 +++++-
123
hw/display/tc6393xb.c | 48 +--
124
hw/display/tcx.c | 31 +-
125
hw/i2c/npcm7xx_smbus.c | 1 -
126
hw/misc/armsse-cpuid.c | 2 +-
127
hw/misc/armsse-mhu.c | 2 +-
128
hw/misc/iotkit-sysctl.c | 2 +-
129
hw/misc/iotkit-sysinfo.c | 2 +-
130
hw/misc/mps2-fpgaio.c | 43 +-
131
hw/misc/mps2-scc.c | 93 ++++-
132
hw/net/npcm7xx_emc.c | 857 ++++++++++++++++++++++++++++++++++++++
133
hw/virtio/virtio-mmio.c | 13 +-
134
target/arm/cpu.c | 23 +-
135
target/arm/cpu64.c | 5 +
136
target/arm/cpu_tcg.c | 8 +
137
target/arm/helper-a64.c | 32 --
138
target/arm/helper.c | 39 +-
139
target/arm/mte_helper.c | 13 +-
140
target/arm/translate-a64.c | 70 +---
141
target/arm/vec_helper.c | 48 +++
142
tests/qtest/npcm7xx_emc-test.c | 862 +++++++++++++++++++++++++++++++++++++++
143
hw/net/meson.build | 1 +
144
hw/net/trace-events | 17 +
145
tests/qtest/meson.build | 3 +-
146
48 files changed, 3108 insertions(+), 618 deletions(-)
147
delete mode 100644 hw/display/omap_lcd_template.h
148
delete mode 100644 hw/display/tc6393xb_template.h
149
create mode 100644 include/hw/net/npcm7xx_emc.h
150
create mode 100644 hw/net/npcm7xx_emc.c
151
create mode 100644 tests/qtest/npcm7xx_emc-test.c
152
diff view generated by jsdifflib
Deleted patch
1
From: Richard Henderson <richard.henderson@linaro.org>
2
1
3
Only perform the extract of GP during the stage1 walk.
4
5
Reported-by: Peter Maydell <peter.maydell@linaro.org>
6
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
7
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
8
Message-id: 20230407185149.3253946-2-richard.henderson@linaro.org
9
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
10
---
11
target/arm/ptw.c | 10 +++++-----
12
1 file changed, 5 insertions(+), 5 deletions(-)
13
14
diff --git a/target/arm/ptw.c b/target/arm/ptw.c
15
index XXXXXXX..XXXXXXX 100644
16
--- a/target/arm/ptw.c
17
+++ b/target/arm/ptw.c
18
@@ -XXX,XX +XXX,XX @@ static bool get_phys_addr_lpae(CPUARMState *env, S1Translate *ptw,
19
result->f.attrs.secure = false;
20
}
21
22
- /* When in aarch64 mode, and BTI is enabled, remember GP in the TLB. */
23
- if (aarch64 && cpu_isar_feature(aa64_bti, cpu)) {
24
- result->f.guarded = extract64(attrs, 50, 1); /* GP */
25
- }
26
-
27
if (regime_is_stage2(mmu_idx)) {
28
result->cacheattrs.is_s2_format = true;
29
result->cacheattrs.attrs = extract32(attrs, 2, 4);
30
@@ -XXX,XX +XXX,XX @@ static bool get_phys_addr_lpae(CPUARMState *env, S1Translate *ptw,
31
assert(attrindx <= 7);
32
result->cacheattrs.is_s2_format = false;
33
result->cacheattrs.attrs = extract64(mair, attrindx * 8, 8);
34
+
35
+ /* When in aarch64 mode, and BTI is enabled, remember GP in the TLB. */
36
+ if (aarch64 && cpu_isar_feature(aa64_bti, cpu)) {
37
+ result->f.guarded = extract64(attrs, 50, 1); /* GP */
38
+ }
39
}
40
41
/*
42
--
43
2.34.1
diff view generated by jsdifflib
Deleted patch
1
From: Richard Henderson <richard.henderson@linaro.org>
2
1
3
The guarded bit comes from the stage1 walk.
4
5
Fixes: Coverity CID 1507929
6
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
7
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
8
Message-id: 20230407185149.3253946-3-richard.henderson@linaro.org
9
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
10
---
11
target/arm/ptw.c | 1 +
12
1 file changed, 1 insertion(+)
13
14
diff --git a/target/arm/ptw.c b/target/arm/ptw.c
15
index XXXXXXX..XXXXXXX 100644
16
--- a/target/arm/ptw.c
17
+++ b/target/arm/ptw.c
18
@@ -XXX,XX +XXX,XX @@ static ARMCacheAttrs combine_cacheattrs(uint64_t hcr,
19
20
assert(!s1.is_s2_format);
21
ret.is_s2_format = false;
22
+ ret.guarded = s1.guarded;
23
24
if (s1.attrs == 0xf0) {
25
tagged = true;
26
--
27
2.34.1
diff view generated by jsdifflib