1
target-arm queue: this clears out a bunch of patches I'd sent over
1
Squashed in a trivial fix for 32-bit hosts:
2
the last coupled of weeks that have now got reviewed. Mostly
3
this is MPS2 device support improvements, put there is also
4
more of the incremental work towards supporting AArch32 Hyp mode,
5
a floating point bugfix, and the raspi framebuffer viewport support.
6
2
7
v2 fixes a "variable used uninitialized" error in a15mpcore.c.
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); \
8
14
9
thanks
10
-- PMM
15
-- PMM
11
16
17
The following changes since commit 53f306f316549d20c76886903181413d20842423:
12
18
13
The following changes since commit 6b699ae1be9f257478d5eca7ef65dcea270a2796:
19
Merge remote-tracking branch 'remotes/ehabkost-gl/tags/x86-next-pull-request' into staging (2021-06-21 11:26:04 +0100)
14
15
tests/vm: Increase timeout waiting for VM to boot to 5 minutes (2018-08-24 11:31:28 +0100)
16
20
17
are available in the Git repository at:
21
are available in the Git repository at:
18
22
19
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20180824-1
23
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210624
20
24
21
for you to fetch changes up to 239cb6feb298a31faa40b7e97ced107bf9c2f2bf:
25
for you to fetch changes up to 90a76c6316cfe6416fc33814a838fb3928f746ee:
22
26
23
hw/arm/mps2: Fix ID register errors on AN511 and AN385 (2018-08-24 13:17:50 +0100)
27
docs/system: arm: Add nRF boards description (2021-06-24 14:58:48 +0100)
24
28
25
----------------------------------------------------------------
29
----------------------------------------------------------------
26
target-arm queue:
30
target-arm queue:
27
* Fix rounding errors in scaling float-to-int and int-to-float operations
31
* Don't require 'virt' board to be compiled in for ACPI GHES code
28
* Connect virtualization-related IRQs and memory regions of GICv2
32
* docs: Document which architecture extensions we emulate
29
in boards that use Cortex-A7 or Cortex-A15
33
* Fix bugs in M-profile FPCXT_NS accesses
30
* Support taking exceptions to AArch32 Hyp mode
34
* First slice of MVE patches
31
* Clear CPSR.IL and CPSR.J on 32-bit exception entry
35
* Implement MTE3
32
(a minor bug fix that won't affect non-buggy guest code)
36
* docs/system: arm: Add nRF boards description
33
* mps2-an505: Implement various missing devices:
34
dual timer, watchdogs, counters in the FPGAIO registers,
35
some missing ID/control registers, TrustZone Master Security
36
Controllers, PL081 DMA controllers, PL022 SPI controllers
37
* correct ID register values for mps2-an385, -an511, -an505
38
* fix some hardcoded tabs in untouched backwaters of the
39
target/arm codebase
40
* raspi: Refactor framebuffer property handling code and implement
41
support for the virtual framebuffer/viewport
42
37
43
----------------------------------------------------------------
38
----------------------------------------------------------------
44
Peter Maydell (48):
39
Alexandre Iooss (1):
45
hw/intc/arm_gic: Make per-cpu GICH memory regions 0x200 bytes large
40
docs/system: arm: Add nRF boards description
46
hw/arm/vexpress: Connect VIRQ and VFIQ
47
hw/arm/highbank: Connect VIRQ and VFIQ
48
hw/arm/fsl-imx6ul: Connect VIRQ and VFIQ
49
hw/arm/fsl-imx6ul: Connect VIRQ and VFIQ
50
hw/cpu/a15mpcore: If CPU has EL2, enable it on the GIC and wire it up
51
hw/arm/vexpress: Don't set info->secure_boot if CPU doesn't have EL3
52
hw/arm/vexpress: Add "virtualization" property controlling presence of EL2
53
target/arm: Implement RAZ/WI HACTLR2
54
target/arm: Implement AArch32 HCR and HCR2
55
target/arm: Factor out code for taking an AArch32 exception
56
target/arm: Implement support for taking exceptions to Hyp mode
57
target/arm: Clear CPSR.IL and CPSR.J on 32-bit exception entry
58
hw/arm/boot: AArch32 kernels should be started in Hyp mode if available
59
hw/misc/mps2-fpgaio: Implement 1Hz and 100Hz counters
60
hw/misc/mps2-fpgaio: Implement PSCNTR and COUNTER
61
hw/timer/cmsdk-apb-dualtimer: Implement CMSDK dual timer module
62
hw/arm/iotkit: Wire up the dualtimer
63
hw/arm/mps2: Wire up dual-timer in mps2-an385 and mps2-an511
64
hw/arm/iotkit: Wire up the watchdogs
65
hw/arm/iotkit: Wire up the S32KTIMER
66
hw/misc/iotkit-sysctl: Implement IoTKit system control element
67
hw/misc/iotkit-sysinfo: Implement IoTKit system information block
68
hw/misc/iotkit: Wire up the sysctl and sysinfo register blocks
69
hw/misc/tz-msc: Model TrustZone Master Security Controller
70
hw/misc/iotkit-secctl: Wire up registers for controlling MSCs
71
hw/arm/iotkit: Wire up the lines for MSCs
72
hw/arm/mps2-tz: Create PL081s and MSCs
73
hw/ssi/pl022: Allow use as embedded-struct device
74
hw/ssi/pl022: Set up reset function in class init
75
hw/ssi/pl022: Don't directly call vmstate_register()
76
hw/ssi/pl022: Use DeviceState::realize rather than SysBusDevice::init
77
hw/ssi/pl022: Correct wrong value for PL022_INT_RT
78
hw/ssi/pl022: Correct wrong DMACR and ICR handling
79
hw/arm/mps2-tz: Instantiate SPI controllers
80
hw/arm/mps2-tz: Fix MPS2 SCC config register values
81
target/arm: Untabify translate.c
82
target/arm: Untabify iwmmxt_helper.c
83
target/arm: Remove a handful of stray tabs
84
hw/misc/bcm2835_fb: Move config fields to their own struct
85
hw/misc/bcm2835_property: Track fb settings using BCM2835FBConfig
86
hw/display/bcm2835_fb: Drop unused size and pitch fields
87
hw/display/bcm2835_fb: Reset resolution, etc correctly
88
hw/display/bcm2835_fb: Abstract out calculation of pitch, size
89
hw/display/bcm2835_fb: Fix handling of virtual framebuffer
90
hw/display/bcm2835_fb: Validate config settings
91
hw/display/bcm2835_fb: Validate bcm2835_fb_mbox_push() config
92
hw/arm/mps2: Fix ID register errors on AN511 and AN385
93
41
94
Richard Henderson (4):
42
Peter Collingbourne (1):
95
softfloat: Add scaling int-to-float routines
43
target/arm: Implement MTE3
96
softfloat: Add scaling float-to-int routines
97
target/arm: Use the int-to-float-scale softfloat routines
98
target/arm: Use the float-to-int-scale softfloat routines
99
44
100
hw/misc/Makefile.objs | 3 +
45
Peter Maydell (55):
101
hw/timer/Makefile.objs | 1 +
46
hw/acpi: Provide stub version of acpi_ghes_record_errors()
102
include/fpu/softfloat.h | 169 +++++++---
47
hw/acpi: Provide function acpi_ghes_present()
103
include/hw/arm/iotkit.h | 25 +-
48
target/arm: Use acpi_ghes_present() to see if we report ACPI memory errors
104
include/hw/display/bcm2835_fb.h | 59 +++-
49
docs/system/arm: Document which architecture extensions we emulate
105
include/hw/misc/iotkit-secctl.h | 14 +
50
target/arm/translate-vfp.c: Whitespace fixes
106
include/hw/misc/iotkit-sysctl.h | 49 +++
51
target/arm: Handle FPU being disabled in FPCXT_NS accesses
107
include/hw/misc/iotkit-sysinfo.h | 37 +++
52
target/arm: Don't NOCP fault for FPCXT_NS accesses
108
include/hw/misc/mps2-fpgaio.h | 10 +
53
target/arm: Handle writeback in VLDR/VSTR sysreg with no memory access
109
include/hw/misc/tz-msc.h | 79 +++++
54
target/arm: Factor FP context update code out into helper function
110
include/hw/ssi/pl022.h | 51 +++
55
target/arm: Split vfp_access_check() into A and M versions
111
include/hw/timer/cmsdk-apb-dualtimer.h | 72 ++++
56
target/arm: Handle FPU check for FPCXT_NS insns via vfp_access_check_m()
112
target/arm/cpu.h | 16 +-
57
target/arm: Implement MVE VLDR/VSTR (non-widening forms)
113
fpu/softfloat.c | 579 ++++++++++++++++++++++++++-------
58
target/arm: Implement widening/narrowing MVE VLDR/VSTR insns
114
hw/arm/boot.c | 11 +
59
target/arm: Implement MVE VCLZ
115
hw/arm/fsl-imx6ul.c | 4 +
60
target/arm: Implement MVE VCLS
116
hw/arm/fsl-imx7.c | 4 +
61
target/arm: Implement MVE VREV16, VREV32, VREV64
117
hw/arm/highbank.c | 6 +
62
target/arm: Implement MVE VMVN (register)
118
hw/arm/iotkit.c | 114 ++++++-
63
target/arm: Implement MVE VABS
119
hw/arm/mps2-tz.c | 142 +++++++-
64
target/arm: Implement MVE VNEG
120
hw/arm/mps2.c | 17 +-
65
tcg: Make gen_dup_i32/i64() public as tcg_gen_dup_i32/i64
121
hw/arm/vexpress.c | 64 +++-
66
target/arm: Implement MVE VDUP
122
hw/cpu/a15mpcore.c | 31 +-
67
target/arm: Implement MVE VAND, VBIC, VORR, VORN, VEOR
123
hw/display/bcm2835_fb.c | 218 ++++++++-----
68
target/arm: Implement MVE VADD, VSUB, VMUL
124
hw/intc/arm_gic.c | 2 +-
69
target/arm: Implement MVE VMULH
125
hw/misc/bcm2835_property.c | 123 ++++---
70
target/arm: Implement MVE VRMULH
126
hw/misc/iotkit-secctl.c | 73 ++++-
71
target/arm: Implement MVE VMAX, VMIN
127
hw/misc/iotkit-sysctl.c | 261 +++++++++++++++
72
target/arm: Implement MVE VABD
128
hw/misc/iotkit-sysinfo.c | 128 ++++++++
73
target/arm: Implement MVE VHADD, VHSUB
129
hw/misc/mps2-fpgaio.c | 146 ++++++++-
74
target/arm: Implement MVE VMULL
130
hw/misc/tz-msc.c | 308 ++++++++++++++++++
75
target/arm: Implement MVE VMLALDAV
131
hw/ssi/pl022.c | 57 ++--
76
target/arm: Implement MVE VMLSLDAV
132
hw/timer/cmsdk-apb-dualtimer.c | 515 +++++++++++++++++++++++++++++
77
target/arm: Implement MVE VRMLALDAVH, VRMLSLDAVH
133
target/arm/arm-semi.c | 2 +-
78
target/arm: Implement MVE VADD (scalar)
134
target/arm/helper.c | 342 +++++++++++++------
79
target/arm: Implement MVE VSUB, VMUL (scalar)
135
target/arm/iwmmxt_helper.c | 234 ++++++-------
80
target/arm: Implement MVE VHADD, VHSUB (scalar)
136
target/arm/translate.c | 122 +++----
81
target/arm: Implement MVE VBRSR
137
MAINTAINERS | 10 +
82
target/arm: Implement MVE VPST
138
default-configs/arm-softmmu.mak | 4 +
83
target/arm: Implement MVE VQADD and VQSUB
139
hw/misc/trace-events | 16 +
84
target/arm: Implement MVE VQDMULH and VQRDMULH (scalar)
140
hw/timer/trace-events | 5 +
85
target/arm: Implement MVE VQDMULL scalar
141
41 files changed, 3405 insertions(+), 718 deletions(-)
86
target/arm: Implement MVE VQDMULH, VQRDMULH (vector)
142
create mode 100644 include/hw/misc/iotkit-sysctl.h
87
target/arm: Implement MVE VQADD, VQSUB (vector)
143
create mode 100644 include/hw/misc/iotkit-sysinfo.h
88
target/arm: Implement MVE VQSHL (vector)
144
create mode 100644 include/hw/misc/tz-msc.h
89
target/arm: Implement MVE VQRSHL
145
create mode 100644 include/hw/ssi/pl022.h
90
target/arm: Implement MVE VSHL insn
146
create mode 100644 include/hw/timer/cmsdk-apb-dualtimer.h
91
target/arm: Implement MVE VRSHL
147
create mode 100644 hw/misc/iotkit-sysctl.c
92
target/arm: Implement MVE VQDMLADH and VQRDMLADH
148
create mode 100644 hw/misc/iotkit-sysinfo.c
93
target/arm: Implement MVE VQDMLSDH and VQRDMLSDH
149
create mode 100644 hw/misc/tz-msc.c
94
target/arm: Implement MVE VQDMULL (vector)
150
create mode 100644 hw/timer/cmsdk-apb-dualtimer.c
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
151
101
102
docs/system/arm/emulation.rst | 103 ++++
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
135
diff view generated by jsdifflib