1
Squashed in a trivial fix for 32-bit hosts:
1
v2 changes: dropped the patch that enables the new 'notcg' CI test:
2
it doesn't pass on our aarch64 runner because the CI runner doesn't
3
have access to /dev/kvm.
2
4
3
--- a/target/arm/mve_helper.c
5
thanks
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
15
-- PMM
6
-- PMM
16
7
17
The following changes since commit 53f306f316549d20c76886903181413d20842423:
8
The following changes since commit 7c18f2d663521f1b31b821a13358ce38075eaf7d:
18
9
19
Merge remote-tracking branch 'remotes/ehabkost-gl/tags/x86-next-pull-request' into staging (2021-06-21 11:26:04 +0100)
10
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2023-04-29 23:07:17 +0100)
20
11
21
are available in the Git repository at:
12
are available in the Git repository at:
22
13
23
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210624
14
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20230502-2
24
15
25
for you to fetch changes up to 90a76c6316cfe6416fc33814a838fb3928f746ee:
16
for you to fetch changes up to a4ae17e5ec512862bf73e40dfbb1e7db71f2c1e7:
26
17
27
docs/system: arm: Add nRF boards description (2021-06-24 14:58:48 +0100)
18
hw/net/allwinner-sun8i-emac: Correctly byteswap descriptor fields (2023-05-02 15:47:41 +0100)
28
19
29
----------------------------------------------------------------
20
----------------------------------------------------------------
30
target-arm queue:
21
target-arm queue:
31
* Don't require 'virt' board to be compiled in for ACPI GHES code
22
* Support building Arm targets with CONFIG_TCG=no (ie KVM only)
32
* docs: Document which architecture extensions we emulate
23
* hw/net: npcm7xx_emc: set MAC in register space
33
* Fix bugs in M-profile FPCXT_NS accesses
24
* hw/arm/bcm2835_property: Implement "get command line" message
34
* First slice of MVE patches
25
* Deprecate the '-singlestep' command line option in favour of
35
* Implement MTE3
26
'-one-insn-per-tb' and '-accel one-insn-per-tb=on'
36
* docs/system: arm: Add nRF boards description
27
* Deprecate 'singlestep' member of QMP StatusInfo struct
28
* docs/about/deprecated.rst: Add "since 7.1" tag to dtb-kaslr-seed deprecation
29
* hw/net/msf2-emac: Don't modify descriptor in-place in emac_store_desc()
30
* raspi, aspeed: Write bootloader code correctly on big-endian hosts
31
* hw/intc/allwinner-a10-pic: Fix bug on big-endian hosts
32
* Fix bug in A32 ERET on big-endian hosts that caused guest crash
33
* hw/sd/allwinner-sdhost: Correctly byteswap descriptor fields
34
* hw/net/allwinner-sun8i-emac: Correctly byteswap descriptor fields
37
35
38
----------------------------------------------------------------
36
----------------------------------------------------------------
39
Alexandre Iooss (1):
37
Claudio Fontana (1):
40
docs/system: arm: Add nRF boards description
38
target/arm: move cpu_tcg to tcg/cpu32.c
41
39
42
Peter Collingbourne (1):
40
Cédric Le Goater (2):
43
target/arm: Implement MTE3
41
hw/arm/boot: Make write_bootloader() public as arm_write_bootloader()
42
hw/arm/aspeed: Use arm_write_bootloader() to write the bootloader
44
43
45
Peter Maydell (55):
44
Daniel Bertalan (1):
46
hw/acpi: Provide stub version of acpi_ghes_record_errors()
45
hw/arm/bcm2835_property: Implement "get command line" message
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
101
46
102
docs/system/arm/emulation.rst | 103 ++++
47
Fabiano Rosas (11):
103
docs/system/arm/nrf.rst | 51 ++
48
target/arm: Move cortex sysregs into a separate file
104
docs/system/target-arm.rst | 7 +
49
target/arm: Remove dead code from cpu_max_set_sve_max_vq
105
include/hw/acpi/ghes.h | 9 +
50
target/arm: Extract TCG -cpu max code into a function
106
include/tcg/tcg-op.h | 8 +
51
target/arm: Do not expose all -cpu max features to qtests
107
include/tcg/tcg.h | 1 -
52
target/arm: Move 64-bit TCG CPUs into tcg/
108
target/arm/helper-mve.h | 357 +++++++++++++
53
tests/qtest: Adjust and document query-cpu-model-expansion test for arm
109
target/arm/helper.h | 2 +
54
tests/qtest: Fix tests when no KVM or TCG are present
110
target/arm/internals.h | 11 +
55
tests/avocado: Pass parameters to migration test
111
target/arm/translate-a32.h | 3 +
56
arm/Kconfig: Always select SEMIHOSTING when TCG is present
112
target/arm/translate.h | 10 +
57
arm/Kconfig: Do not build TCG-only boards on a KVM-only build
113
target/arm/m-nocp.decode | 24 +
58
tests/qtest: Restrict tpm-tis-i2c-test to CONFIG_TCG
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
135
59
60
Patrick Venture (1):
61
hw/net: npcm7xx_emc: set MAC in register space
62
63
Peter Maydell (18):
64
make one-insn-per-tb an accel option
65
softmmu: Don't use 'singlestep' global in QMP and HMP commands
66
accel/tcg: Use one_insn_per_tb global instead of old singlestep global
67
linux-user: Add '-one-insn-per-tb' option equivalent to '-singlestep'
68
bsd-user: Add '-one-insn-per-tb' option equivalent to '-singlestep'
69
Document that -singlestep command line option is deprecated
70
accel/tcg: Report one-insn-per-tb in 'info jit', not 'info status'
71
hmp: Add 'one-insn-per-tb' command equivalent to 'singlestep'
72
qapi/run-state.json: Fix missing newline at end of file
73
qmp: Deprecate 'singlestep' member of StatusInfo
74
docs/about/deprecated.rst: Add "since 7.1" tag to dtb-kaslr-seed deprecation
75
hw/net/msf2-emac: Don't modify descriptor in-place in emac_store_desc()
76
hw/arm/raspi: Use arm_write_bootloader() to write boot code
77
hw/intc/allwinner-a10-pic: Don't use set_bit()/clear_bit()
78
target/arm: Define and use new load_cpu_field_low32()
79
target/arm: Add compile time asserts to load/store_cpu_field macros
80
hw/sd/allwinner-sdhost: Correctly byteswap descriptor fields
81
hw/net/allwinner-sun8i-emac: Correctly byteswap descriptor fields
82
83
docs/about/deprecated.rst | 43 +-
84
docs/user/main.rst | 14 +-
85
configs/devices/aarch64-softmmu/default.mak | 4 -
86
configs/devices/arm-softmmu/default.mak | 39 --
87
qapi/run-state.json | 16 +-
88
accel/tcg/internal.h | 2 +
89
include/exec/cpu-common.h | 2 -
90
include/hw/arm/boot.h | 49 ++
91
include/hw/misc/bcm2835_property.h | 1 +
92
include/monitor/hmp.h | 2 +-
93
target/arm/cpregs.h | 6 +
94
target/arm/internals.h | 10 +-
95
target/arm/translate-a32.h | 24 +-
96
accel/tcg/cpu-exec.c | 2 +-
97
accel/tcg/monitor.c | 14 +
98
accel/tcg/tcg-all.c | 23 +
99
bsd-user/main.c | 14 +-
100
hw/arm/aspeed.c | 38 +-
101
hw/arm/bcm2835_peripherals.c | 2 +
102
hw/arm/bcm2836.c | 2 +
103
hw/arm/boot.c | 35 +-
104
hw/arm/raspi.c | 66 +--
105
hw/arm/virt.c | 6 +-
106
hw/intc/allwinner-a10-pic.c | 7 +-
107
hw/misc/bcm2835_property.c | 13 +-
108
hw/net/allwinner-sun8i-emac.c | 22 +-
109
hw/net/msf2-emac.c | 16 +-
110
hw/net/npcm7xx_emc.c | 32 +-
111
hw/sd/allwinner-sdhost.c | 31 +-
112
linux-user/main.c | 18 +-
113
softmmu/globals.c | 1 -
114
softmmu/runstate-hmp-cmds.c | 25 +-
115
softmmu/runstate.c | 10 +-
116
softmmu/vl.c | 17 +-
117
target/arm/cortex-regs.c | 69 +++
118
target/arm/cpu64.c | 702 +--------------------------
119
target/arm/{cpu_tcg.c => tcg/cpu32.c} | 72 +--
120
target/arm/tcg/cpu64.c | 723 ++++++++++++++++++++++++++++
121
target/arm/tcg/translate.c | 4 +-
122
tests/qtest/arm-cpu-features.c | 20 +-
123
tests/qtest/bios-tables-test.c | 11 +-
124
tests/qtest/boot-serial-test.c | 5 +
125
tests/qtest/migration-test.c | 9 +-
126
tests/qtest/pxe-test.c | 8 +-
127
tests/qtest/test-hmp.c | 1 +
128
tests/qtest/vmgenid-test.c | 9 +-
129
hmp-commands.hx | 25 +-
130
hw/arm/Kconfig | 43 +-
131
qemu-options.hx | 12 +-
132
target/arm/Kconfig | 7 +
133
target/arm/meson.build | 2 +-
134
target/arm/tcg/meson.build | 2 +
135
tcg/tci/README | 2 +-
136
tests/avocado/migration.py | 83 +++-
137
tests/qtest/meson.build | 3 +-
138
55 files changed, 1438 insertions(+), 980 deletions(-)
139
create mode 100644 target/arm/cortex-regs.c
140
rename target/arm/{cpu_tcg.c => tcg/cpu32.c} (93%)
141
create mode 100644 target/arm/tcg/cpu64.c
142
diff view generated by jsdifflib