1
v2: drop pvpanic-pci patches.
1
This pullreq is (1) my GICv4 patches (2) most of the first third of RTH's
2
cleanup patchset (3) one patch fixing an smmuv3 bug...
2
3
3
The following changes since commit f1fcb6851aba6dd9838886dc179717a11e344a1c:
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.
4
7
5
Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2021-01-19' into staging (2021-01-19 11:57:07 +0000)
8
thanks
9
-- PMM
10
11
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)
6
15
7
are available in the Git repository at:
16
are available in the Git repository at:
8
17
9
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210119-1
18
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20220422-1
10
19
11
for you to fetch changes up to b93f4fbdc48283a39089469c44a5529d79dc40a8:
20
for you to fetch changes up to c3ca7d56c4790c2223122f7e84b71161cd36dbce:
12
21
13
docs: Build and install all the docs in a single manual (2021-01-19 15:45:14 +0000)
22
hw/arm/smmuv3: Pass the actual perm to returned IOMMUTLBEntry in smmuv3_translate() (2022-04-22 14:44:55 +0100)
14
23
15
----------------------------------------------------------------
24
----------------------------------------------------------------
16
target-arm queue:
25
target-arm queue:
17
* Implement IMPDEF pauth algorithm
26
* Implement GICv4 emulation
18
* Support ARMv8.4-SEL2
27
* Some cleanup patches in target/arm
19
* Fix bug where we were truncating predicate vector lengths in SVE insns
28
* hw/arm/smmuv3: Pass the actual perm to returned IOMMUTLBEntry in smmuv3_translate()
20
* npcm7xx_adc-test: Fix memleak in adc_qom_set
21
* target/arm/m_helper: Silence GCC 10 maybe-uninitialized error
22
* docs: Build and install all the docs in a single manual
23
29
24
----------------------------------------------------------------
30
----------------------------------------------------------------
25
Gan Qixin (1):
31
Peter Maydell (41):
26
npcm7xx_adc-test: Fix memleak in adc_qom_set
32
hw/intc/arm_gicv3_its: Add missing blank line
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
27
73
28
Peter Maydell (1):
74
Richard Henderson (19):
29
docs: Build and install all the docs in a single manual
75
target/arm: Update ISAR fields for ARMv8.8
76
target/arm: Update SCR_EL3 bits to ARMv8.8
77
target/arm: Update SCTLR bits to ARMv9.2
78
target/arm: Change DisasContext.aarch64 to bool
79
target/arm: Change CPUArchState.aarch64 to bool
80
target/arm: Extend store_cpu_offset to take field size
81
target/arm: Change DisasContext.thumb to bool
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
30
94
31
Philippe Mathieu-Daudé (1):
95
Xiang Chen (1):
32
target/arm/m_helper: Silence GCC 10 maybe-uninitialized error
96
hw/arm/smmuv3: Pass the actual perm to returned IOMMUTLBEntry in smmuv3_translate()
33
97
34
Richard Henderson (7):
98
docs/system/arm/virt.rst | 5 +-
35
target/arm: Implement an IMPDEF pauth algorithm
99
hw/intc/gicv3_internal.h | 213 +++++++-
36
target/arm: Add cpu properties to control pauth
100
include/hw/arm/virt.h | 19 +-
37
target/arm: Use object_property_add_bool for "sve" property
101
include/hw/intc/arm_gicv3_common.h | 13 +
38
target/arm: Introduce PREDDESC field definitions
102
include/hw/intc/arm_gicv3_its_common.h | 19 +
39
target/arm: Update PFIRST, PNEXT for pred_desc
103
target/arm/cpu.h | 59 ++-
40
target/arm: Update ZIP, UZP, TRN for pred_desc
104
target/arm/translate-a32.h | 13 +-
41
target/arm: Update REV, PUNPK for pred_desc
105
target/arm/translate.h | 17 +-
42
106
hw/arm/smmuv3.c | 2 +-
43
Rémi Denis-Courmont (19):
107
hw/arm/virt.c | 102 +++-
44
target/arm: remove redundant tests
108
hw/intc/arm_gicv3_common.c | 54 +-
45
target/arm: add arm_is_el2_enabled() helper
109
hw/intc/arm_gicv3_cpuif.c | 195 ++++++--
46
target/arm: use arm_is_el2_enabled() where applicable
110
hw/intc/arm_gicv3_dist.c | 7 +-
47
target/arm: use arm_hcr_el2_eff() where applicable
111
hw/intc/arm_gicv3_its.c | 876 +++++++++++++++++++++++++++------
48
target/arm: factor MDCR_EL2 common handling
112
hw/intc/arm_gicv3_its_kvm.c | 2 +
49
target/arm: Define isar_feature function to test for presence of SEL2
113
hw/intc/arm_gicv3_kvm.c | 5 +
50
target/arm: add 64-bit S-EL2 to EL exception table
114
hw/intc/arm_gicv3_redist.c | 480 +++++++++++++++---
51
target/arm: add MMU stage 1 for Secure EL2
115
linux-user/arm/cpu_loop.c | 2 +-
52
target/arm: add ARMv8.4-SEL2 system registers
116
target/arm/cpu.c | 16 +-
53
target/arm: handle VMID change in secure state
117
target/arm/helper-a64.c | 4 +-
54
target/arm: do S1_ptw_translate() before address space lookup
118
target/arm/helper.c | 19 +-
55
target/arm: translate NS bit in page-walks
119
target/arm/hvf/hvf.c | 2 +-
56
target/arm: generalize 2-stage page-walk condition
120
target/arm/m_helper.c | 6 +-
57
target/arm: secure stage 2 translation regime
121
target/arm/op_helper.c | 13 -
58
target/arm: set HPFAR_EL2.NS on secure stage 2 faults
122
target/arm/translate-a64.c | 50 +-
59
target/arm: revector to run-time pick target EL
123
target/arm/translate-m-nocp.c | 12 +-
60
target/arm: Implement SCR_EL2.EEL2
124
target/arm/translate-neon.c | 21 +-
61
target/arm: enable Secure EL2 in max CPU
125
target/arm/translate-sve.c | 9 +-
62
target/arm: refactor vae1_tlbmask()
126
target/arm/translate-vfp.c | 76 +--
63
127
target/arm/translate.c | 101 ++--
64
docs/conf.py | 46 ++++-
128
hw/intc/trace-events | 18 +-
65
docs/devel/conf.py | 15 --
129
31 files changed, 1890 insertions(+), 540 deletions(-)
66
docs/index.html.in | 17 --
67
docs/interop/conf.py | 28 ---
68
docs/meson.build | 64 +++---
69
docs/specs/conf.py | 16 --
70
docs/system/arm/cpu-features.rst | 21 ++
71
docs/system/conf.py | 28 ---
72
docs/tools/conf.py | 37 ----
73
docs/user/conf.py | 15 --
74
include/qemu/xxhash.h | 98 +++++++++
75
target/arm/cpu-param.h | 2 +-
76
target/arm/cpu.h | 107 ++++++++--
77
target/arm/internals.h | 45 +++++
78
target/arm/cpu.c | 23 ++-
79
target/arm/cpu64.c | 65 ++++--
80
target/arm/helper-a64.c | 8 +-
81
target/arm/helper.c | 414 ++++++++++++++++++++++++++-------------
82
target/arm/m_helper.c | 2 +-
83
target/arm/monitor.c | 1 +
84
target/arm/op_helper.c | 4 +-
85
target/arm/pauth_helper.c | 27 ++-
86
target/arm/sve_helper.c | 33 ++--
87
target/arm/tlb_helper.c | 3 +
88
target/arm/translate-a64.c | 4 +
89
target/arm/translate-sve.c | 31 ++-
90
target/arm/translate.c | 36 +++-
91
tests/qtest/arm-cpu-features.c | 13 ++
92
tests/qtest/npcm7xx_adc-test.c | 1 +
93
.gitlab-ci.yml | 4 +-
94
30 files changed, 770 insertions(+), 438 deletions(-)
95
delete mode 100644 docs/devel/conf.py
96
delete mode 100644 docs/index.html.in
97
delete mode 100644 docs/interop/conf.py
98
delete mode 100644 docs/specs/conf.py
99
delete mode 100644 docs/system/conf.py
100
delete mode 100644 docs/tools/conf.py
101
delete mode 100644 docs/user/conf.py
102
diff view generated by jsdifflib