1
v2: dropped a couple of cadence_gem changes to ID regs that
1
This pullreq is (1) my GICv4 patches (2) most of the first third of RTH's
2
caused new clang sanitizer warnings.
2
cleanup patchset (3) one patch fixing an smmuv3 bug...
3
3
4
v2 changes: fix build failure on aarch64 hosts by moving the
5
gicv3_add_its() and gicv3_foreach_its() functions to
6
arm_gicv3_its_common.h.
7
8
thanks
4
-- PMM
9
-- PMM
5
10
6
The following changes since commit dddb37495b844270088e68e3bf30b764d48d863f:
7
11
8
Merge remote-tracking branch 'remotes/awilliam/tags/vfio-updates-20181015.0' into staging (2018-10-15 18:44:04 +0100)
12
The following changes since commit a74782936dc6e979ce371dabda4b1c05624ea87f:
13
14
Merge tag 'pull-migration-20220421a' of https://gitlab.com/dagrh/qemu into staging (2022-04-21 18:48:18 -0700)
9
15
10
are available in the Git repository at:
16
are available in the Git repository at:
11
17
12
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20181016-1
18
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20220422-1
13
19
14
for you to fetch changes up to 2ef297af07196c29446556537861f8e7dfeeae7b:
20
for you to fetch changes up to c3ca7d56c4790c2223122f7e84b71161cd36dbce:
15
21
16
coccinelle: new inplace-byteswaps.cocci to remove inplace-byteswapping calls (2018-10-16 17:14:55 +0100)
22
hw/arm/smmuv3: Pass the actual perm to returned IOMMUTLBEntry in smmuv3_translate() (2022-04-22 14:44:55 +0100)
17
23
18
----------------------------------------------------------------
24
----------------------------------------------------------------
19
target-arm queue:
25
target-arm queue:
20
* hw/arm/virt: add DT property /secure-chosen/stdout-path indicating secure UART
26
* Implement GICv4 emulation
21
* target/arm: Fix aarch64_sve_change_el wrt EL0
27
* Some cleanup patches in target/arm
22
* target/arm: Define fields of ISAR registers
28
* hw/arm/smmuv3: Pass the actual perm to returned IOMMUTLBEntry in smmuv3_translate()
23
* target/arm: Align cortex-r5 id_isar0
24
* target/arm: Fix cortex-a7 id_isar0
25
* net/cadence_gem: Fix various bugs, add support for new
26
features that will be used by the Xilinx Versal board
27
* target-arm: powerctl: Enable HVC when starting CPUs to EL2
28
* target/arm: Add the Cortex-A72
29
* target/arm: Mark PMINTENCLR and PMINTENCLR_EL1 accesses as possibly doing IO
30
* target/arm: Mask PMOVSR writes based on supported counters
31
* target/arm: Initialize ARMMMUFaultInfo in v7m_stack_read/write
32
* coccinelle: new inplace-byteswaps.cocci to remove inplace-byteswapping calls
33
29
34
----------------------------------------------------------------
30
----------------------------------------------------------------
35
Aaron Lindsay (2):
31
Peter Maydell (41):
36
target/arm: Mark PMINTENCLR and PMINTENCLR_EL1 accesses as possibly doing IO
32
hw/intc/arm_gicv3_its: Add missing blank line
37
target/arm: Mask PMOVSR writes based on supported counters
33
hw/intc/arm_gicv3: Sanity-check num-cpu property
34
hw/intc/arm_gicv3: Insist that redist region capacity matches CPU count
35
hw/intc/arm_gicv3: Report correct PIDR0 values for ID registers
36
target/arm/cpu.c: ignore VIRQ and VFIQ if no EL2
37
hw/intc/arm_gicv3_its: Factor out "is intid a valid LPI ID?"
38
hw/intc/arm_gicv3_its: Implement GITS_BASER2 for GICv4
39
hw/intc/arm_gicv3_its: Implement VMAPI and VMAPTI
40
hw/intc/arm_gicv3_its: Implement VMAPP
41
hw/intc/arm_gicv3_its: Distinguish success and error cases of CMD_CONTINUE
42
hw/intc/arm_gicv3_its: Factor out "find ITE given devid, eventid"
43
hw/intc/arm_gicv3_its: Factor out CTE lookup sequence
44
hw/intc/arm_gicv3_its: Split out process_its_cmd() physical interrupt code
45
hw/intc/arm_gicv3_its: Handle virtual interrupts in process_its_cmd()
46
hw/intc/arm_gicv3: Keep pointers to every connected ITS
47
hw/intc/arm_gicv3_its: Implement VMOVP
48
hw/intc/arm_gicv3_its: Implement VSYNC
49
hw/intc/arm_gicv3_its: Implement INV command properly
50
hw/intc/arm_gicv3_its: Implement INV for virtual interrupts
51
hw/intc/arm_gicv3_its: Implement VMOVI
52
hw/intc/arm_gicv3_its: Implement VINVALL
53
hw/intc/arm_gicv3: Implement GICv4's new redistributor frame
54
hw/intc/arm_gicv3: Implement new GICv4 redistributor registers
55
hw/intc/arm_gicv3_cpuif: Split "update vIRQ/vFIQ" from gicv3_cpuif_virt_update()
56
hw/intc/arm_gicv3_cpuif: Support vLPIs
57
hw/intc/arm_gicv3_cpuif: Don't recalculate maintenance irq unnecessarily
58
hw/intc/arm_gicv3_redist: Factor out "update hpplpi for one LPI" logic
59
hw/intc/arm_gicv3_redist: Factor out "update hpplpi for all LPIs" logic
60
hw/intc/arm_gicv3_redist: Recalculate hppvlpi on VPENDBASER writes
61
hw/intc/arm_gicv3_redist: Factor out "update bit in pending table" code
62
hw/intc/arm_gicv3_redist: Implement gicv3_redist_process_vlpi()
63
hw/intc/arm_gicv3_redist: Implement gicv3_redist_vlpi_pending()
64
hw/intc/arm_gicv3_redist: Use set_pending_table_bit() in mov handling
65
hw/intc/arm_gicv3_redist: Implement gicv3_redist_mov_vlpi()
66
hw/intc/arm_gicv3_redist: Implement gicv3_redist_vinvall()
67
hw/intc/arm_gicv3_redist: Implement gicv3_redist_inv_vlpi()
68
hw/intc/arm_gicv3: Update ID and feature registers for GICv4
69
hw/intc/arm_gicv3: Allow 'revision' property to be set to 4
70
hw/arm/virt: Use VIRT_GIC_VERSION_* enum values in create_gic()
71
hw/arm/virt: Abstract out calculation of redistributor region capacity
72
hw/arm/virt: Support TCG GICv4
38
73
39
Edgar E. Iglesias (8):
74
Richard Henderson (19):
40
net: cadence_gem: Disable TSU feature bit
75
target/arm: Update ISAR fields for ARMv8.8
41
net: cadence_gem: Use uint32_t for 32bit descriptor words
76
target/arm: Update SCR_EL3 bits to ARMv8.8
42
net: cadence_gem: Add macro with max number of descriptor words
77
target/arm: Update SCTLR bits to ARMv9.2
43
net: cadence_gem: Add support for extended descriptors
78
target/arm: Change DisasContext.aarch64 to bool
44
net: cadence_gem: Add support for selecting the DMA MemoryRegion
79
target/arm: Change CPUArchState.aarch64 to bool
45
net: cadence_gem: Implement support for 64bit descriptor addresses
80
target/arm: Extend store_cpu_offset to take field size
46
target-arm: powerctl: Enable HVC when starting CPUs to EL2
81
target/arm: Change DisasContext.thumb to bool
47
target/arm: Add the Cortex-A72
82
target/arm: Change CPUArchState.thumb to bool
83
target/arm: Remove fpexc32_access
84
target/arm: Split out set_btype_raw
85
target/arm: Split out gen_rebuild_hflags
86
target/arm: Simplify GEN_SHIFT in translate.c
87
target/arm: Simplify gen_sar
88
target/arm: Simplify aa32 DISAS_WFI
89
target/arm: Use tcg_constant in translate-m-nocp.c
90
target/arm: Use tcg_constant in translate-neon.c
91
target/arm: Use smin/smax for do_sat_addsub_32
92
target/arm: Use tcg_constant in translate-vfp.c
93
target/arm: Use tcg_constant_i32 in translate.h
48
94
49
Jerome Forissier (1):
95
Xiang Chen (1):
50
hw/arm/virt: add DT property /secure-chosen/stdout-path indicating secure UART
96
hw/arm/smmuv3: Pass the actual perm to returned IOMMUTLBEntry in smmuv3_translate()
51
97
52
Peter Maydell (2):
98
docs/system/arm/virt.rst | 5 +-
53
target/arm: Initialize ARMMMUFaultInfo in v7m_stack_read/write
99
hw/intc/gicv3_internal.h | 213 +++++++-
54
coccinelle: new inplace-byteswaps.cocci to remove inplace-byteswapping calls
100
include/hw/arm/virt.h | 19 +-
55
101
include/hw/intc/arm_gicv3_common.h | 13 +
56
Richard Henderson (4):
102
include/hw/intc/arm_gicv3_its_common.h | 19 +
57
target/arm: Fix aarch64_sve_change_el wrt EL0
103
target/arm/cpu.h | 59 ++-
58
target/arm: Define fields of ISAR registers
104
target/arm/translate-a32.h | 13 +-
59
target/arm: Align cortex-r5 id_isar0
105
target/arm/translate.h | 17 +-
60
target/arm: Fix cortex-a7 id_isar0
106
hw/arm/smmuv3.c | 2 +-
61
107
hw/arm/virt.c | 102 +++-
62
include/hw/net/cadence_gem.h | 7 +-
108
hw/intc/arm_gicv3_common.c | 54 +-
63
target/arm/cpu.h | 95 ++++++++++++++-
109
hw/intc/arm_gicv3_cpuif.c | 195 ++++++--
64
hw/arm/virt.c | 4 +
110
hw/intc/arm_gicv3_dist.c | 7 +-
65
hw/net/cadence_gem.c | 185 ++++++++++++++++++++---------
111
hw/intc/arm_gicv3_its.c | 876 +++++++++++++++++++++++++++------
66
target/arm/arm-powerctl.c | 10 ++
112
hw/intc/arm_gicv3_its_kvm.c | 2 +
67
target/arm/cpu.c | 7 +-
113
hw/intc/arm_gicv3_kvm.c | 5 +
68
target/arm/cpu64.c | 66 +++++++++-
114
hw/intc/arm_gicv3_redist.c | 480 +++++++++++++++---
69
target/arm/helper.c | 27 +++--
115
linux-user/arm/cpu_loop.c | 2 +-
70
target/arm/op_helper.c | 6 +-
116
target/arm/cpu.c | 16 +-
71
scripts/coccinelle/inplace-byteswaps.cocci | 65 ++++++++++
117
target/arm/helper-a64.c | 4 +-
72
10 files changed, 402 insertions(+), 70 deletions(-)
118
target/arm/helper.c | 19 +-
73
create mode 100644 scripts/coccinelle/inplace-byteswaps.cocci
119
target/arm/hvf/hvf.c | 2 +-
74
120
target/arm/m_helper.c | 6 +-
121
target/arm/op_helper.c | 13 -
122
target/arm/translate-a64.c | 50 +-
123
target/arm/translate-m-nocp.c | 12 +-
124
target/arm/translate-neon.c | 21 +-
125
target/arm/translate-sve.c | 9 +-
126
target/arm/translate-vfp.c | 76 +--
127
target/arm/translate.c | 101 ++--
128
hw/intc/trace-events | 18 +-
129
31 files changed, 1890 insertions(+), 540 deletions(-)
diff view generated by jsdifflib