1
v1->v2 changes: drop the "convert FEATURE_THUMB2EE" patch as
1
Squashed in a trivial fix for 32-bit hosts:
2
it broke compilation on arm hosts (conversion of KVM related
3
code had been forgotten)
4
2
5
thanks
3
--- a/target/arm/mve_helper.c
4
+++ b/target/arm/mve_helper.c
5
@@ -XXX,XX +XXX,XX @@ DO_LDAV(vmlsldavxsw, 4, int32_t, true, +=, -=)
6
acc = EVENACC(acc, TO128(n[H##ESIZE(e + 1 * XCHG)] * \
7
m[H##ESIZE(e)])); \
8
} \
9
- acc = int128_add(acc, 1 << 7); \
10
+ acc = int128_add(acc, int128_make64(1 << 7)); \
11
} \
12
} \
13
mve_advance_vpt(env); \
14
6
-- PMM
15
-- PMM
7
16
8
The following changes since commit 13399aad4fa87b2878c49d02a5d3bafa6c966ba3:
17
The following changes since commit 53f306f316549d20c76886903181413d20842423:
9
18
10
Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2018-10-22' into staging (2018-10-23 17:20:23 +0100)
19
Merge remote-tracking branch 'remotes/ehabkost-gl/tags/x86-next-pull-request' into staging (2021-06-21 11:26:04 +0100)
11
20
12
are available in the Git repository at:
21
are available in the Git repository at:
13
22
14
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20181024
23
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210624
15
24
16
for you to fetch changes up to 93f379b0c43617b1361f742f261479eaed4959cb:
25
for you to fetch changes up to 90a76c6316cfe6416fc33814a838fb3928f746ee:
17
26
18
target/arm: Only flush tlb if ASID changes (2018-10-24 07:51:37 +0100)
27
docs/system: arm: Add nRF boards description (2021-06-24 14:58:48 +0100)
19
28
20
----------------------------------------------------------------
29
----------------------------------------------------------------
21
target-arm queue:
30
target-arm queue:
22
* ssi-sd: Make devices picking up backends unavailable with -device
31
* Don't require 'virt' board to be compiled in for ACPI GHES code
23
* Add support for VCPU event states
32
* docs: Document which architecture extensions we emulate
24
* Move towards making ID registers the source of truth for
33
* Fix bugs in M-profile FPCXT_NS accesses
25
whether a guest CPU implements a feature, rather than having
34
* First slice of MVE patches
26
parallel ID registers and feature bit flags
35
* Implement MTE3
27
* Implement various HCR hypervisor trap/config bits
36
* docs/system: arm: Add nRF boards description
28
* Get IL bit correct for v7 syndrome values
29
* Report correct syndrome for FP/SIMD traps to Hyp mode
30
* hw/arm/boot: Increase compliance with kernel arm64 boot protocol
31
* Refactor A32 Neon to use generic vector infrastructure
32
* Fix a bug in A32 VLD2 "(multiple 2-element structures)" insn
33
* net: cadence_gem: Report features correctly in ID register
34
* Avoid some unnecessary TLB flushes on TTBR register writes
35
37
36
----------------------------------------------------------------
38
----------------------------------------------------------------
37
Dongjiu Geng (1):
39
Alexandre Iooss (1):
38
target/arm: Add support for VCPU event states
40
docs/system: arm: Add nRF boards description
39
41
40
Edgar E. Iglesias (2):
42
Peter Collingbourne (1):
41
net: cadence_gem: Announce availability of priority queues
43
target/arm: Implement MTE3
42
net: cadence_gem: Announce 64bit addressing support
43
44
44
Markus Armbruster (1):
45
Peter Maydell (55):
45
ssi-sd: Make devices picking up backends unavailable with -device
46
hw/acpi: Provide stub version of acpi_ghes_record_errors()
47
hw/acpi: Provide function acpi_ghes_present()
48
target/arm: Use acpi_ghes_present() to see if we report ACPI memory errors
49
docs/system/arm: Document which architecture extensions we emulate
50
target/arm/translate-vfp.c: Whitespace fixes
51
target/arm: Handle FPU being disabled in FPCXT_NS accesses
52
target/arm: Don't NOCP fault for FPCXT_NS accesses
53
target/arm: Handle writeback in VLDR/VSTR sysreg with no memory access
54
target/arm: Factor FP context update code out into helper function
55
target/arm: Split vfp_access_check() into A and M versions
56
target/arm: Handle FPU check for FPCXT_NS insns via vfp_access_check_m()
57
target/arm: Implement MVE VLDR/VSTR (non-widening forms)
58
target/arm: Implement widening/narrowing MVE VLDR/VSTR insns
59
target/arm: Implement MVE VCLZ
60
target/arm: Implement MVE VCLS
61
target/arm: Implement MVE VREV16, VREV32, VREV64
62
target/arm: Implement MVE VMVN (register)
63
target/arm: Implement MVE VABS
64
target/arm: Implement MVE VNEG
65
tcg: Make gen_dup_i32/i64() public as tcg_gen_dup_i32/i64
66
target/arm: Implement MVE VDUP
67
target/arm: Implement MVE VAND, VBIC, VORR, VORN, VEOR
68
target/arm: Implement MVE VADD, VSUB, VMUL
69
target/arm: Implement MVE VMULH
70
target/arm: Implement MVE VRMULH
71
target/arm: Implement MVE VMAX, VMIN
72
target/arm: Implement MVE VABD
73
target/arm: Implement MVE VHADD, VHSUB
74
target/arm: Implement MVE VMULL
75
target/arm: Implement MVE VMLALDAV
76
target/arm: Implement MVE VMLSLDAV
77
target/arm: Implement MVE VRMLALDAVH, VRMLSLDAVH
78
target/arm: Implement MVE VADD (scalar)
79
target/arm: Implement MVE VSUB, VMUL (scalar)
80
target/arm: Implement MVE VHADD, VHSUB (scalar)
81
target/arm: Implement MVE VBRSR
82
target/arm: Implement MVE VPST
83
target/arm: Implement MVE VQADD and VQSUB
84
target/arm: Implement MVE VQDMULH and VQRDMULH (scalar)
85
target/arm: Implement MVE VQDMULL scalar
86
target/arm: Implement MVE VQDMULH, VQRDMULH (vector)
87
target/arm: Implement MVE VQADD, VQSUB (vector)
88
target/arm: Implement MVE VQSHL (vector)
89
target/arm: Implement MVE VQRSHL
90
target/arm: Implement MVE VSHL insn
91
target/arm: Implement MVE VRSHL
92
target/arm: Implement MVE VQDMLADH and VQRDMLADH
93
target/arm: Implement MVE VQDMLSDH and VQRDMLSDH
94
target/arm: Implement MVE VQDMULL (vector)
95
target/arm: Implement MVE VRHADD
96
target/arm: Implement MVE VADC, VSBC
97
target/arm: Implement MVE VCADD
98
target/arm: Implement MVE VHCADD
99
target/arm: Implement MVE VADDV
100
target/arm: Make VMOV scalar <-> gpreg beatwise for MVE
46
101
47
Peter Maydell (10):
102
docs/system/arm/emulation.rst | 103 ++++
48
target/arm: Improve debug logging of AArch32 exception return
103
docs/system/arm/nrf.rst | 51 ++
49
target/arm: Make switch_mode() file-local
104
docs/system/target-arm.rst | 7 +
50
target/arm: Implement HCR.FB
105
include/hw/acpi/ghes.h | 9 +
51
target/arm: Implement HCR.DC
106
include/tcg/tcg-op.h | 8 +
52
target/arm: ISR_EL1 bits track virtual interrupts if IMO/FMO set
107
include/tcg/tcg.h | 1 -
53
target/arm: Implement HCR.VI and VF
108
target/arm/helper-mve.h | 357 +++++++++++++
54
target/arm: Implement HCR.PTW
109
target/arm/helper.h | 2 +
55
target/arm: New utility function to extract EC from syndrome
110
target/arm/internals.h | 11 +
56
target/arm: Get IL bit correct for v7 syndrome values
111
target/arm/translate-a32.h | 3 +
57
target/arm: Report correct syndrome for FP/SIMD traps to Hyp mode
112
target/arm/translate.h | 10 +
113
target/arm/m-nocp.decode | 24 +
114
target/arm/mve.decode | 240 +++++++++
115
target/arm/vfp.decode | 14 -
116
hw/acpi/ghes-stub.c | 22 +
117
hw/acpi/ghes.c | 17 +
118
target/arm/cpu64.c | 2 +-
119
target/arm/kvm64.c | 6 +-
120
target/arm/mte_helper.c | 82 +--
121
target/arm/mve_helper.c | 1160 +++++++++++++++++++++++++++++++++++++++++
122
target/arm/translate-m-nocp.c | 550 +++++++++++++++++++
123
target/arm/translate-mve.c | 759 +++++++++++++++++++++++++++
124
target/arm/translate-vfp.c | 741 +++++++-------------------
125
tcg/tcg-op-gvec.c | 20 +-
126
MAINTAINERS | 1 +
127
hw/acpi/meson.build | 6 +-
128
target/arm/meson.build | 1 +
129
27 files changed, 3578 insertions(+), 629 deletions(-)
130
create mode 100644 docs/system/arm/emulation.rst
131
create mode 100644 docs/system/arm/nrf.rst
132
create mode 100644 target/arm/helper-mve.h
133
create mode 100644 hw/acpi/ghes-stub.c
134
create mode 100644 target/arm/mve_helper.c
58
135
59
Richard Henderson (29):
60
target/arm: Move some system registers into a substructure
61
target/arm: V8M should not imply V7VE
62
target/arm: Convert v8 extensions from feature bits to isar tests
63
target/arm: Convert division from feature bits to isar0 tests
64
target/arm: Convert jazelle from feature bit to isar1 test
65
target/arm: Convert sve from feature bit to aa64pfr0 test
66
target/arm: Convert v8.2-fp16 from feature bit to aa64pfr0 test
67
target/arm: Hoist address increment for vector memory ops
68
target/arm: Don't call tcg_clear_temp_count
69
target/arm: Use tcg_gen_gvec_dup_i64 for LD[1-4]R
70
target/arm: Promote consecutive memory ops for aa64
71
target/arm: Mark some arrays const
72
target/arm: Use gvec for NEON VDUP
73
target/arm: Use gvec for NEON VMOV, VMVN, VBIC & VORR (immediate)
74
target/arm: Use gvec for NEON_3R_LOGIC insns
75
target/arm: Use gvec for NEON_3R_VADD_VSUB insns
76
target/arm: Use gvec for NEON_2RM_VMN, NEON_2RM_VNEG
77
target/arm: Use gvec for NEON_3R_VMUL
78
target/arm: Use gvec for VSHR, VSHL
79
target/arm: Use gvec for VSRA
80
target/arm: Use gvec for VSRI, VSLI
81
target/arm: Use gvec for NEON_3R_VML
82
target/arm: Use gvec for NEON_3R_VTST_VCEQ, NEON_3R_VCGT, NEON_3R_VCGE
83
target/arm: Use gvec for NEON VLD all lanes
84
target/arm: Reorg NEON VLD/VST all elements
85
target/arm: Promote consecutive memory ops for aa32
86
target/arm: Reorg NEON VLD/VST single element to one lane
87
target/arm: Remove writefn from TTBR0_EL3
88
target/arm: Only flush tlb if ASID changes
89
90
Stewart Hildebrand (1):
91
hw/arm/boot: Increase compliance with kernel arm64 boot protocol
92
93
target/arm/cpu.h | 221 ++++++-
94
target/arm/internals.h | 45 +-
95
target/arm/kvm_arm.h | 24 +
96
target/arm/translate.h | 21 +
97
hw/arm/boot.c | 18 +
98
hw/intc/armv7m_nvic.c | 12 +-
99
hw/net/cadence_gem.c | 9 +-
100
hw/sd/ssi-sd.c | 2 +
101
linux-user/aarch64/signal.c | 4 +-
102
linux-user/elfload.c | 58 +-
103
linux-user/syscall.c | 10 +-
104
target/arm/cpu.c | 238 +++----
105
target/arm/cpu64.c | 148 +++--
106
target/arm/helper.c | 395 ++++++++----
107
target/arm/kvm.c | 60 ++
108
target/arm/kvm32.c | 13 +
109
target/arm/kvm64.c | 15 +-
110
target/arm/machine.c | 25 +-
111
target/arm/op_helper.c | 2 +-
112
target/arm/translate-a64.c | 715 ++++-----------------
113
target/arm/translate.c | 1451 ++++++++++++++++++++++++++++---------------
114
21 files changed, 2013 insertions(+), 1473 deletions(-)
115
diff view generated by jsdifflib