1
v2: fix compile issue when building user-mode emulators with clang
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 4cc10cae64c51e17844dc4358481c393d7bf1ed4:
17
The following changes since commit 53f306f316549d20c76886903181413d20842423:
6
18
7
Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into staging (2021-05-06 18:56:17 +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
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210510-1
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 c3080fbdaa381012666428fef2e5f7ce422ecfee:
25
for you to fetch changes up to 90a76c6316cfe6416fc33814a838fb3928f746ee:
14
26
15
hw/arm/xlnx: Fix PHY address for xilinx-zynq-a9 (2021-05-10 17:21:54 +0100)
27
docs/system: arm: Add nRF boards description (2021-06-24 14:58:48 +0100)
16
28
17
----------------------------------------------------------------
29
----------------------------------------------------------------
18
target-arm queue:
30
target-arm queue:
19
* docs: fix link in sbsa description
31
* Don't require 'virt' board to be compiled in for ACPI GHES code
20
* linux-user/aarch64: Enable hwcap for RND, BTI, and MTE
32
* docs: Document which architecture extensions we emulate
21
* target/arm: Fix tlbbits calculation in tlbi_aa64_vae2is_write()
33
* Fix bugs in M-profile FPCXT_NS accesses
22
* target/arm: Split neon and vfp translation to their own
34
* First slice of MVE patches
23
compilation units
35
* Implement MTE3
24
* target/arm: Make WFI a NOP for userspace emulators
36
* docs/system: arm: Add nRF boards description
25
* hw/sd/omap_mmc: Use device_cold_reset() instead of
26
device_legacy_reset()
27
* include: More fixes for 'extern "C"' block use
28
* hw/arm/imx25_pdk: Fix error message for invalid RAM size
29
* hw/arm/mps2-tz: Implement AN524 memory remapping via machine property
30
* hw/arm/xlnx: Fix PHY address for xilinx-zynq-a9
31
37
32
----------------------------------------------------------------
38
----------------------------------------------------------------
33
Alex Bennée (1):
39
Alexandre Iooss (1):
34
docs: fix link in sbsa description
40
docs/system: arm: Add nRF boards description
35
41
36
Guenter Roeck (1):
42
Peter Collingbourne (1):
37
hw/arm/xlnx: Fix PHY address for xilinx-zynq-a9
43
target/arm: Implement MTE3
38
44
39
Peter Maydell (22):
45
Peter Maydell (55):
40
target/arm: Fix tlbbits calculation in tlbi_aa64_vae2is_write()
46
hw/acpi: Provide stub version of acpi_ghes_record_errors()
41
target/arm: Move constant expanders to translate.h
47
hw/acpi: Provide function acpi_ghes_present()
42
target/arm: Share unallocated_encoding() and gen_exception_insn()
48
target/arm: Use acpi_ghes_present() to see if we report ACPI memory errors
43
target/arm: Make functions used by m-nocp global
49
docs/system/arm: Document which architecture extensions we emulate
44
target/arm: Split m-nocp trans functions into their own file
50
target/arm/translate-vfp.c: Whitespace fixes
45
target/arm: Move gen_aa32 functions to translate-a32.h
51
target/arm: Handle FPU being disabled in FPCXT_NS accesses
46
target/arm: Move vfp_{load, store}_reg{32, 64} to translate-vfp.c.inc
52
target/arm: Don't NOCP fault for FPCXT_NS accesses
47
target/arm: Make functions used by translate-vfp global
53
target/arm: Handle writeback in VLDR/VSTR sysreg with no memory access
48
target/arm: Make translate-vfp.c.inc its own compilation unit
54
target/arm: Factor FP context update code out into helper function
49
target/arm: Move vfp_reg_ptr() to translate-neon.c.inc
55
target/arm: Split vfp_access_check() into A and M versions
50
target/arm: Delete unused typedef
56
target/arm: Handle FPU check for FPCXT_NS insns via vfp_access_check_m()
51
target/arm: Move NeonGenThreeOpEnvFn typedef to translate.h
57
target/arm: Implement MVE VLDR/VSTR (non-widening forms)
52
target/arm: Make functions used by translate-neon global
58
target/arm: Implement widening/narrowing MVE VLDR/VSTR insns
53
target/arm: Make translate-neon.c.inc its own compilation unit
59
target/arm: Implement MVE VCLZ
54
target/arm: Make WFI a NOP for userspace emulators
60
target/arm: Implement MVE VCLS
55
hw/sd/omap_mmc: Use device_cold_reset() instead of device_legacy_reset()
61
target/arm: Implement MVE VREV16, VREV32, VREV64
56
osdep: Make os-win32.h and os-posix.h handle 'extern "C"' themselves
62
target/arm: Implement MVE VMVN (register)
57
include/qemu/bswap.h: Handle being included outside extern "C" block
63
target/arm: Implement MVE VABS
58
include/disas/dis-asm.h: Handle being included outside 'extern "C"'
64
target/arm: Implement MVE VNEG
59
hw/misc/mps2-scc: Add "QEMU interface" comment
65
tcg: Make gen_dup_i32/i64() public as tcg_gen_dup_i32/i64
60
hw/misc/mps2-scc: Support using CFG0 bit 0 for remapping
66
target/arm: Implement MVE VDUP
61
hw/arm/mps2-tz: Implement AN524 memory remapping via machine property
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/imx25_pdk: Fix error message for invalid RAM size
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
Richard Henderson (1):
67
linux-user/aarch64: Enable hwcap for RND, BTI, and MTE
68
69
docs/system/arm/mps2.rst | 10 +
70
docs/system/arm/sbsa.rst | 2 +-
71
include/disas/dis-asm.h | 12 +-
72
include/hw/misc/mps2-scc.h | 21 ++
73
include/qemu/bswap.h | 26 ++-
74
include/qemu/osdep.h | 8 +-
75
include/sysemu/os-posix.h | 8 +
76
include/sysemu/os-win32.h | 8 +
77
target/arm/translate-a32.h | 144 +++++++++++++
78
target/arm/translate-a64.h | 2 -
79
target/arm/translate.h | 29 +++
80
hw/arm/imx25_pdk.c | 5 +-
81
hw/arm/mps2-tz.c | 108 +++++++++-
82
hw/arm/xilinx_zynq.c | 2 +-
83
hw/misc/mps2-scc.c | 13 +-
84
hw/sd/omap_mmc.c | 2 +-
85
linux-user/elfload.c | 13 ++
86
target/arm/helper.c | 2 +-
87
target/arm/op_helper.c | 14 ++
88
target/arm/translate-a64.c | 15 --
89
target/arm/translate-m-nocp.c | 221 ++++++++++++++++++++
90
.../arm/{translate-neon.c.inc => translate-neon.c} | 19 +-
91
.../arm/{translate-vfp.c.inc => translate-vfp.c} | 230 +++------------------
92
target/arm/translate.c | 200 ++++--------------
93
disas/arm-a64.cc | 2 -
94
disas/nanomips.cpp | 2 -
95
target/arm/meson.build | 15 +-
96
27 files changed, 720 insertions(+), 413 deletions(-)
97
create mode 100644 target/arm/translate-a32.h
98
create mode 100644 target/arm/translate-m-nocp.c
99
rename target/arm/{translate-neon.c.inc => translate-neon.c} (99%)
100
rename target/arm/{translate-vfp.c.inc => translate-vfp.c} (94%)
101
diff view generated by jsdifflib