1
This bug seemed worth fixing for 8.0 since we need an rc4 anyway:
1
v1->v2 changes: dropped the last 6 patches from rth as there's
2
we were using uninitialized data for the guarded bit when
2
a problem with one of them that's too complicated to try to
3
combining stage 1 and stage 2 attrs.
3
fix up.
4
4
5
thanks
5
thanks
6
-- PMM
6
-- PMM
7
7
8
The following changes since commit 08dede07030973c1053868bc64de7e10bfa02ad6:
8
The following changes since commit a8c6af67e1e8d460e2c6e87070807e0a02c0fec2:
9
9
10
Merge tag 'pull-ppc-20230409' of https://github.com/legoater/qemu into staging (2023-04-10 11:47:52 +0100)
10
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-5.0-20200221' into staging (2020-02-21 14:20:42 +0000)
11
11
12
are available in the Git repository at:
12
are available in the Git repository at:
13
13
14
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20230410
14
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20200221-1
15
15
16
for you to fetch changes up to 8539dc00552e8ea60420856fc1262c8299bc6308:
16
for you to fetch changes up to 9eb4f58918a851fb46895fd9b7ce579afeac9d02:
17
17
18
target/arm: Copy guarded bit in combine_cacheattrs (2023-04-10 14:31:40 +0100)
18
target/arm: Set MVFR0.FPSP for ARMv5 cpus (2020-02-21 16:07:03 +0000)
19
19
20
----------------------------------------------------------------
20
----------------------------------------------------------------
21
target-arm: Fix bug where we weren't initializing
21
target-arm queue:
22
guarded bit state when combining S1/S2 attrs
22
* aspeed/scu: Implement chip ID register
23
* hw/misc/iotkit-secctl: Fix writing to 'PPC Interrupt Clear' register
24
* mainstone: Make providing flash images non-mandatory
25
* z2: Make providing flash images non-mandatory
26
* Fix failures to flush SVE high bits after AdvSIMD INS/ZIP/UZP/TRN/TBL/TBX/EXT
27
* Minor performance improvement: spend less time recalculating hflags values
28
* Code cleanup to isar_feature function tests
29
* Implement ARMv8.1-PMU and ARMv8.4-PMU extensions
30
* Bugfix: correct handling of PMCR_EL0.LC bit
31
* Bugfix: correct definition of PMCRDP
32
* Correctly implement ACTLR2, HACTLR2
33
* allwinner: Wire up USB ports
34
* Vectorize emulation of USHL, SSHL, PMUL*
35
* xilinx_spips: Correct the number of dummy cycles for the FAST_READ_4 cmd
36
* sh4: Fix PCI ISA IO memory subregion
23
37
24
----------------------------------------------------------------
38
----------------------------------------------------------------
25
Richard Henderson (2):
39
Francisco Iglesias (1):
26
target/arm: PTE bit GP only applies to stage1
40
xilinx_spips: Correct the number of dummy cycles for the FAST_READ_4 cmd
27
target/arm: Copy guarded bit in combine_cacheattrs
28
41
29
target/arm/ptw.c | 11 ++++++-----
42
Guenter Roeck (6):
30
1 file changed, 6 insertions(+), 5 deletions(-)
43
mainstone: Make providing flash images non-mandatory
44
z2: Make providing flash images non-mandatory
45
hw: usb: hcd-ohci: Move OHCISysBusState and TYPE_SYSBUS_OHCI to include file
46
hcd-ehci: Introduce "companion-enable" sysbus property
47
arm: allwinner: Wire up USB ports
48
sh4: Fix PCI ISA IO memory subregion
49
50
Joel Stanley (2):
51
aspeed/scu: Create separate write callbacks
52
aspeed/scu: Implement chip ID register
53
54
Peter Maydell (21):
55
target/arm: Add _aa32_ to isar_feature functions testing 32-bit ID registers
56
target/arm: Check aa32_pan in take_aarch32_exception(), not aa64_pan
57
target/arm: Add isar_feature_any_fp16 and document naming/usage conventions
58
target/arm: Define and use any_predinv isar_feature test
59
target/arm: Factor out PMU register definitions
60
target/arm: Add and use FIELD definitions for ID_AA64DFR0_EL1
61
target/arm: Use FIELD macros for clearing ID_DFR0 PERFMON field
62
target/arm: Define an aa32_pmu_8_1 isar feature test function
63
target/arm: Add _aa64_ and _any_ versions of pmu_8_1 isar checks
64
target/arm: Stop assuming DBGDIDR always exists
65
target/arm: Move DBGDIDR into ARMISARegisters
66
target/arm: Read debug-related ID registers from KVM
67
target/arm: Implement ARMv8.1-PMU extension
68
target/arm: Implement ARMv8.4-PMU extension
69
target/arm: Provide ARMv8.4-PMU in '-cpu max'
70
target/arm: Correct definition of PMCRDP
71
target/arm: Correct handling of PMCR_EL0.LC bit
72
target/arm: Test correct register in aa32_pan and aa32_ats1e1 checks
73
target/arm: Use isar_feature function for testing AA32HPD feature
74
target/arm: Use FIELD_EX32 for testing 32-bit fields
75
target/arm: Correctly implement ACTLR2, HACTLR2
76
77
Philippe Mathieu-Daudé (1):
78
hw/misc/iotkit-secctl: Fix writing to 'PPC Interrupt Clear' register
79
80
Richard Henderson (15):
81
target/arm: Flush high bits of sve register after AdvSIMD EXT
82
target/arm: Flush high bits of sve register after AdvSIMD TBL/TBX
83
target/arm: Flush high bits of sve register after AdvSIMD ZIP/UZP/TRN
84
target/arm: Flush high bits of sve register after AdvSIMD INS
85
target/arm: Use bit 55 explicitly for pauth
86
target/arm: Fix select for aa64_va_parameters_both
87
target/arm: Remove ttbr1_valid check from get_phys_addr_lpae
88
target/arm: Split out aa64_va_parameter_tbi, aa64_va_parameter_tbid
89
target/arm: Vectorize USHL and SSHL
90
target/arm: Convert PMUL.8 to gvec
91
target/arm: Convert PMULL.64 to gvec
92
target/arm: Convert PMULL.8 to gvec
93
target/arm: Rename isar_feature_aa32_simd_r32
94
target/arm: Use isar_feature_aa32_simd_r32 more places
95
target/arm: Set MVFR0.FPSP for ARMv5 cpus
96
97
hw/usb/hcd-ohci.h | 16 ++
98
include/hw/arm/allwinner-a10.h | 6 +
99
target/arm/cpu.h | 145 ++++++++++---
100
target/arm/helper-sve.h | 2 +
101
target/arm/helper.h | 21 +-
102
target/arm/internals.h | 47 ++++-
103
target/arm/translate.h | 6 +
104
hw/arm/allwinner-a10.c | 43 ++++
105
hw/arm/mainstone.c | 11 +-
106
hw/arm/z2.c | 6 -
107
hw/intc/armv7m_nvic.c | 10 +-
108
hw/misc/aspeed_scu.c | 93 ++++++--
109
hw/misc/iotkit-secctl.c | 2 +-
110
hw/sh4/sh_pci.c | 11 +-
111
hw/ssi/xilinx_spips.c | 2 +-
112
hw/usb/hcd-ehci-sysbus.c | 2 +
113
hw/usb/hcd-ohci.c | 15 --
114
linux-user/elfload.c | 4 +-
115
target/arm/cpu.c | 169 +++++++--------
116
target/arm/cpu64.c | 58 +++--
117
target/arm/debug_helper.c | 6 +-
118
target/arm/helper.c | 468 +++++++++++++++++++++++------------------
119
target/arm/kvm32.c | 25 +++
120
target/arm/kvm64.c | 46 ++++
121
target/arm/neon_helper.c | 117 -----------
122
target/arm/pauth_helper.c | 3 +-
123
target/arm/translate-a64.c | 92 ++++----
124
target/arm/translate-vfp.inc.c | 53 ++---
125
target/arm/translate.c | 356 ++++++++++++++++++++++++++-----
126
target/arm/vec_helper.c | 211 +++++++++++++++++++
127
target/arm/vfp_helper.c | 2 +-
128
31 files changed, 1377 insertions(+), 671 deletions(-)
129
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