1
Third time's the charm...
1
Squashed in a trivial fix for 32-bit hosts:
2
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); \
2
14
3
-- PMM
15
-- PMM
4
16
5
The following changes since commit 98bfaac788be0ca63d7d010c8d4ba100ff1d8278:
17
The following changes since commit 53f306f316549d20c76886903181413d20842423:
6
18
7
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2017-09-01-v3' into staging (2017-09-04 13:28:09 +0100)
19
Merge remote-tracking branch 'remotes/ehabkost-gl/tags/x86-next-pull-request' into staging (2021-06-21 11:26:04 +0100)
8
20
9
are available in the git repository at:
21
are available in the Git repository at:
10
22
11
git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20170904-2
23
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210624
12
24
13
for you to fetch changes up to 7229ec5825df6b933f150b54a8a2bedd2de1864c:
25
for you to fetch changes up to 90a76c6316cfe6416fc33814a838fb3928f746ee:
14
26
15
arm_gicv3_kvm: Fix compile warning (2017-09-04 17:13:53 +0100)
27
docs/system: arm: Add nRF boards description (2021-06-24 14:58:48 +0100)
16
28
17
----------------------------------------------------------------
29
----------------------------------------------------------------
18
target-arm:
30
target-arm queue:
19
* collection of M profile cleanups and minor bugfixes
31
* Don't require 'virt' board to be compiled in for ACPI GHES code
20
* loader: handle ELF files with overlapping zero-init data
32
* docs: Document which architecture extensions we emulate
21
* virt: allow PMU instantiation with userspace irqchip
33
* Fix bugs in M-profile FPCXT_NS accesses
22
* wdt_aspeed: Add support for the reset width register
34
* First slice of MVE patches
23
* cpu: Define new cpu_transaction_failed() hook
35
* Implement MTE3
24
* Mark some SoC devices as not user-creatable
36
* docs/system: arm: Add nRF boards description
25
* arm: Fix aa64 ldp register writeback
26
* arm_gicv3_kvm: Fix compile warning
27
37
28
----------------------------------------------------------------
38
----------------------------------------------------------------
29
Andrew Jeffery (2):
39
Alexandre Iooss (1):
30
watchdog: wdt_aspeed: Add support for the reset width register
40
docs/system: arm: Add nRF boards description
31
aspeed_soc: Propagate silicon-rev to watchdog
32
41
33
Andrew Jones (4):
42
Peter Collingbourne (1):
34
hw/arm/virt: add pmu interrupt state
43
target/arm: Implement MTE3
35
target/arm/kvm: pmu: split init and set-irq stages
36
hw/arm/virt: allow pmu instantiation with userspace irqchip
37
target/arm/kvm: pmu: improve error handling
38
44
39
Peter Maydell (22):
45
Peter Maydell (55):
40
target/arm: Use MMUAccessType enum rather than int
46
hw/acpi: Provide stub version of acpi_ghes_record_errors()
41
target/arm: Don't trap WFI/WFE for M profile
47
hw/acpi: Provide function acpi_ghes_present()
42
target/arm: Consolidate PMSA handling in get_phys_addr()
48
target/arm: Use acpi_ghes_present() to see if we report ACPI memory errors
43
target/arm: Tighten up Thumb decode where new v8M insns will be
49
docs/system/arm: Document which architecture extensions we emulate
44
hw/intc/armv7m_nvic.c: Remove out of date comment
50
target/arm/translate-vfp.c: Whitespace fixes
45
target/arm: Remove incorrect comment about MPU_CTRL
51
target/arm: Handle FPU being disabled in FPCXT_NS accesses
46
target/arm: Fix outdated comment about exception exit
52
target/arm: Don't NOCP fault for FPCXT_NS accesses
47
target/arm: Define and use XPSR bit masks
53
target/arm: Handle writeback in VLDR/VSTR sysreg with no memory access
48
target/arm: Don't store M profile PRIMASK and FAULTMASK in daif
54
target/arm: Factor FP context update code out into helper function
49
target/arm: Don't use cpsr_write/cpsr_read to transfer M profile XPSR
55
target/arm: Split vfp_access_check() into A and M versions
50
target/arm: Make arm_cpu_dump_state() handle the M-profile XPSR
56
target/arm: Handle FPU check for FPCXT_NS insns via vfp_access_check_m()
51
target/arm: Don't calculate lr in arm_v7m_cpu_do_interrupt() until needed
57
target/arm: Implement MVE VLDR/VSTR (non-widening forms)
52
target/arm: Create and use new function arm_v7m_is_handler_mode()
58
target/arm: Implement widening/narrowing MVE VLDR/VSTR insns
53
armv7m_nvic.h: Move from include/hw/arm to include/hw/intc
59
target/arm: Implement MVE VCLZ
54
nvic: Implement "user accesses BusFault" SCS region behaviour
60
target/arm: Implement MVE VCLS
55
loader: Handle ELF files with overlapping zero-initialized data
61
target/arm: Implement MVE VREV16, VREV32, VREV64
56
loader: Ignore zero-sized ELF segments
62
target/arm: Implement MVE VMVN (register)
57
memory.h: Move MemTxResult type to memattrs.h
63
target/arm: Implement MVE VABS
58
cpu: Define new cpu_transaction_failed() hook
64
target/arm: Implement MVE VNEG
59
cputlb: Support generating CPU exceptions on memory transaction failures
65
tcg: Make gen_dup_i32/i64() public as tcg_gen_dup_i32/i64
60
target/arm: Factor out fault delivery code
66
target/arm: Implement MVE VDUP
61
target/arm: Allow deliver_fault() caller to specify EA bit
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
62
101
63
Philippe Mathieu-Daudé (1):
102
docs/system/arm/emulation.rst | 103 ++++
64
hw/arm: use defined type name instead of hard-coded string
103
docs/system/arm/nrf.rst | 51 ++
104
docs/system/target-arm.rst | 7 +
105
include/hw/acpi/ghes.h | 9 +
106
include/tcg/tcg-op.h | 8 +
107
include/tcg/tcg.h | 1 -
108
target/arm/helper-mve.h | 357 +++++++++++++
109
target/arm/helper.h | 2 +
110
target/arm/internals.h | 11 +
111
target/arm/translate-a32.h | 3 +
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
65
135
66
Pranith Kumar (1):
67
arm_gicv3_kvm: Fix compile warning
68
69
Richard Henderson (1):
70
target/arm: Fix aa64 ldp register writeback
71
72
Thomas Huth (2):
73
hw/arm/aspeed_soc: Mark devices as user_creatable = false
74
hw/arm/digic: Mark device with user_creatable = false
75
76
include/exec/memattrs.h | 10 +++
77
include/exec/memory.h | 10 ---
78
include/hw/arm/armv7m.h | 2 +-
79
include/hw/elf_ops.h | 72 +++++++++++++++++--
80
include/hw/{arm => intc}/armv7m_nvic.h | 0
81
include/hw/watchdog/wdt_aspeed.h | 2 +
82
include/qom/cpu.h | 22 ++++++
83
softmmu_template.h | 4 +-
84
target/arm/cpu.h | 56 +++++++++++----
85
target/arm/internals.h | 5 +-
86
target/arm/kvm_arm.h | 9 ++-
87
accel/tcg/cputlb.c | 32 ++++++++-
88
hw/arm/armv7m.c | 4 +-
89
hw/arm/aspeed_soc.c | 4 ++
90
hw/arm/digic.c | 2 +
91
hw/arm/exynos4210.c | 4 +-
92
hw/arm/highbank.c | 11 +--
93
hw/arm/realview.c | 6 +-
94
hw/arm/vexpress.c | 6 +-
95
hw/arm/virt.c | 12 +++-
96
hw/arm/xilinx_zynq.c | 14 ++--
97
hw/intc/arm_gicv3_kvm.c | 2 +-
98
hw/intc/armv7m_nvic.c | 68 +++++++++++-------
99
hw/watchdog/wdt_aspeed.c | 93 ++++++++++++++++++++++---
100
target/arm/cpu.c | 7 +-
101
target/arm/helper.c | 124 ++++++++++++++++-----------------
102
target/arm/kvm.c | 6 +-
103
target/arm/kvm32.c | 8 ++-
104
target/arm/kvm64.c | 63 ++++++++++-------
105
target/arm/machine.c | 54 +++++++++++++-
106
target/arm/op_helper.c | 121 +++++++++++++++++---------------
107
target/arm/translate-a64.c | 29 ++++----
108
target/arm/translate.c | 106 +++++++++++++++++++++-------
109
33 files changed, 677 insertions(+), 291 deletions(-)
110
rename include/hw/{arm => intc}/armv7m_nvic.h (100%)
111
diff view generated by jsdifflib