1
ARM queue, mostly bug fixes to go into rc0.
1
v2: fix format-string issue in a test case.
2
The integratorcp and fsl_imx* changes are migration
3
compat breakers but that's ok for these boards.
4
2
5
thanks
6
-- PMM
3
-- PMM
7
4
5
The following changes since commit 6f34661b6c97a37a5efc27d31c037ddeda4547e2:
8
6
9
The following changes since commit ce1d20aac8533357650774c2c240e30de87dc122:
7
Merge remote-tracking branch 'remotes/vivier2/tags/trivial-branch-for-6.0-pull-request' into staging (2021-03-11 18:55:27 +0000)
10
8
11
Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2017-07-24' into staging (2017-07-24 16:20:47 +0100)
9
are available in the Git repository at:
12
10
13
are available in the git repository at:
11
https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20210314
14
12
15
git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20170724
13
for you to fetch changes up to 6500ac13ff8e5c64ca69f5ef5d456028cfda6139:
16
14
17
for you to fetch changes up to b2d1b0507d1b80f23da12dd8aab56944fe380a09:
15
hw/display/pxa2xx: Inline template header (2021-03-14 13:14:56 +0000)
18
19
integratorcp: Don't migrate flash using vmstate_register_ram_global() (2017-07-24 17:59:28 +0100)
20
16
21
----------------------------------------------------------------
17
----------------------------------------------------------------
22
target-arm queue:
18
target-arm queue:
23
* fix a TCG temporary leak in aarch64 rev16
19
* versal: Support XRAMs and XRAM controller
24
* fsl_imx*: migrate the ROM contents
20
* smmu: Various minor bug fixes
25
* integratorcp: don't use vmstate_register_ram_global for flash
21
* SVE emulation: fix bugs handling odd vector lengths
26
* mps2: Correctly set parent bus for SCC device
22
* allwinner-sun8i-emac: traverse transmit queue using TX_CUR_DESC register value
23
* tests/acceptance: fix orangepi-pc acceptance tests
24
* hw/timer/sse-timer: Propagate eventual error in sse_timer_realize()
25
* hw/arm/virt: KVM: The IPA lower bound is 32
26
* npcm7xx: support MFT module
27
* pl110, pxa2xx_lcd: tidy up template headers
27
28
28
----------------------------------------------------------------
29
----------------------------------------------------------------
29
Emilio G. Cota (1):
30
Andrew Jones (2):
30
target/arm: fix TCG temp leak in aarch64 rev16
31
accel: kvm: Fix kvm_type invocation
32
hw/arm/virt: KVM: The IPA lower bound is 32
31
33
32
Peter Maydell (3):
34
Edgar E. Iglesias (2):
33
fsl_imx*: Migrate ROM contents
35
hw/misc: versal: Add a model of the XRAM controller
34
mps2: Correctly set parent bus for SCC device
36
hw/arm: versal: Add support for the XRAMs
35
integratorcp: Don't migrate flash using vmstate_register_ram_global()
36
37
37
hw/arm/fsl-imx25.c | 4 ++--
38
Eric Auger (7):
38
hw/arm/fsl-imx31.c | 4 ++--
39
intel_iommu: Fix mask may be uninitialized in vtd_context_device_invalidate
39
hw/arm/fsl-imx6.c | 4 ++--
40
dma: Introduce dma_aligned_pow2_mask()
40
hw/arm/integratorcp.c | 3 +--
41
virtio-iommu: Handle non power of 2 range invalidations
41
hw/arm/mps2.c | 2 +-
42
hw/arm/smmu-common: Fix smmu_iotlb_inv_iova when asid is not set
42
target/arm/translate-a64.c | 1 +
43
hw/arm/smmuv3: Enforce invalidation on a power of two range
43
6 files changed, 9 insertions(+), 9 deletions(-)
44
hw/arm/smmuv3: Fix SMMU_CMD_CFGI_STE_RANGE handling
45
hw/arm/smmuv3: Uniformize sid traces
44
46
47
Hao Wu (5):
48
hw/misc: Add GPIOs for duty in NPCM7xx PWM
49
hw/misc: Add NPCM7XX MFT Module
50
hw/arm: Add MFT device to NPCM7xx Soc
51
hw/arm: Connect PWM fans in NPCM7XX boards
52
tests/qtest: Test PWM fan RPM using MFT in PWM test
53
54
Niek Linnenbank (5):
55
hw/net/allwinner-sun8i-emac: traverse transmit queue using TX_CUR_DESC register value
56
tests/acceptance/boot_linux_console: remove Armbian 19.11.3 bionic test for orangepi-pc machine
57
tests/acceptance/boot_linux_console: change URL for test_arm_orangepi_bionic_20_08
58
tests/acceptance: update sunxi kernel from armbian to 5.10.16
59
tests/acceptance: drop ARMBIAN_ARTIFACTS_CACHED condition for orangepi-pc, cubieboard tests
60
61
Peter Maydell (9):
62
hw/display/pl110: Remove dead code for non-32-bpp surfaces
63
hw/display/pl110: Pull included-once parts of template header into pl110.c
64
hw/display/pl110: Remove use of BITS from pl110_template.h
65
hw/display/pxa2xx_lcd: Remove dead code for non-32-bpp surfaces
66
hw/display/pxa2xx_lcd: Remove dest_width state field
67
hw/display/pxa2xx: Remove use of BITS in pxa2xx_template.h
68
hw/display/pxa2xx: Apply brace-related coding style fixes to template header
69
hw/display/pxa2xx: Apply whitespace-only coding style fixes to template header
70
hw/display/pxa2xx: Inline template header
71
72
Philippe Mathieu-Daudé (1):
73
hw/timer/sse-timer: Propagate eventual error in sse_timer_realize()
74
75
Richard Henderson (8):
76
target/arm: Fix sve_uzp_p vs odd vector lengths
77
target/arm: Fix sve_zip_p vs odd vector lengths
78
target/arm: Fix sve_punpk_p vs odd vector lengths
79
target/arm: Update find_last_active for PREDDESC
80
target/arm: Update BRKA, BRKB, BRKN for PREDDESC
81
target/arm: Update CNTP for PREDDESC
82
target/arm: Update WHILE for PREDDESC
83
target/arm: Update sve reduction vs simd_desc
84
85
docs/system/arm/nuvoton.rst | 2 +-
86
docs/system/arm/xlnx-versal-virt.rst | 1 +
87
hw/arm/smmu-internal.h | 5 +
88
hw/display/pl110_template.h | 120 +-------
89
hw/display/pxa2xx_template.h | 447 ---------------------------
90
include/hw/arm/npcm7xx.h | 13 +-
91
include/hw/arm/xlnx-versal.h | 13 +
92
include/hw/boards.h | 1 +
93
include/hw/misc/npcm7xx_mft.h | 70 +++++
94
include/hw/misc/npcm7xx_pwm.h | 4 +-
95
include/hw/misc/xlnx-versal-xramc.h | 97 ++++++
96
include/sysemu/dma.h | 12 +
97
target/arm/kvm_arm.h | 6 +-
98
accel/kvm/kvm-all.c | 2 +
99
hw/arm/npcm7xx.c | 45 ++-
100
hw/arm/npcm7xx_boards.c | 99 ++++++
101
hw/arm/smmu-common.c | 32 +-
102
hw/arm/smmuv3.c | 58 ++--
103
hw/arm/virt.c | 23 +-
104
hw/arm/xlnx-versal.c | 36 +++
105
hw/display/pl110.c | 123 +++++---
106
hw/display/pxa2xx_lcd.c | 520 ++++++++++++++++++++++++++-----
107
hw/i386/intel_iommu.c | 32 +-
108
hw/misc/npcm7xx_mft.c | 540 +++++++++++++++++++++++++++++++++
109
hw/misc/npcm7xx_pwm.c | 4 +
110
hw/misc/xlnx-versal-xramc.c | 253 +++++++++++++++
111
hw/net/allwinner-sun8i-emac.c | 62 ++--
112
hw/timer/sse-timer.c | 1 +
113
hw/virtio/virtio-iommu.c | 19 +-
114
softmmu/dma-helpers.c | 26 ++
115
target/arm/kvm.c | 4 +-
116
target/arm/sve_helper.c | 107 ++++---
117
target/arm/translate-sve.c | 26 +-
118
tests/qtest/npcm7xx_pwm-test.c | 205 ++++++++++++-
119
hw/arm/trace-events | 24 +-
120
hw/misc/meson.build | 2 +
121
hw/misc/trace-events | 8 +
122
tests/acceptance/boot_linux_console.py | 120 +++-----
123
tests/acceptance/replay_kernel.py | 10 +-
124
39 files changed, 2235 insertions(+), 937 deletions(-)
125
delete mode 100644 hw/display/pxa2xx_template.h
126
create mode 100644 include/hw/misc/npcm7xx_mft.h
127
create mode 100644 include/hw/misc/xlnx-versal-xramc.h
128
create mode 100644 hw/misc/npcm7xx_mft.c
129
create mode 100644 hw/misc/xlnx-versal-xramc.c
130
diff view generated by jsdifflib
Deleted patch
1
From: "Emilio G. Cota" <cota@braap.org>
2
1
3
Fix a TCG temporary leak in the new aarch64 rev16 handling.
4
5
Signed-off-by: Emilio G. Cota <cota@braap.org>
6
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
7
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8
---
9
target/arm/translate-a64.c | 1 +
10
1 file changed, 1 insertion(+)
11
12
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
13
index XXXXXXX..XXXXXXX 100644
14
--- a/target/arm/translate-a64.c
15
+++ b/target/arm/translate-a64.c
16
@@ -XXX,XX +XXX,XX @@ static void handle_rev16(DisasContext *s, unsigned int sf,
17
tcg_gen_shli_i64(tcg_rd, tcg_rd, 8);
18
tcg_gen_or_i64(tcg_rd, tcg_rd, tcg_tmp);
19
20
+ tcg_temp_free_i64(mask);
21
tcg_temp_free_i64(tcg_tmp);
22
}
23
24
--
25
2.7.4
26
27
diff view generated by jsdifflib
Deleted patch
1
The fsl-imx* boards accidentally forgot to register the ROM memory
2
regions for migration. This used to require a manual step of calling
3
vmstate_register_ram(), but following commits
4
1cfe48c1ce21..b08199c6fbea194 we can use memory_region_init_rom() to
5
have it do the migration for us.
6
1
7
This is a migration break, but the migration code currently does not
8
handle the case of having two RAM regions which were not registered
9
for migration, and so prior to this commit a migration load would
10
always fail with:
11
"qemu-system-arm: Length mismatch: 0x4000 in != 0x18000: Invalid argument"
12
13
NB: migration appears at this point to be broken for this board
14
anyway -- it succeeds but the destination hangs; probably some
15
device in the system does not yet support migration.
16
17
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
18
Message-id: 1500309775-18361-1-git-send-email-peter.maydell@linaro.org
19
---
20
hw/arm/fsl-imx25.c | 4 ++--
21
hw/arm/fsl-imx31.c | 4 ++--
22
hw/arm/fsl-imx6.c | 4 ++--
23
3 files changed, 6 insertions(+), 6 deletions(-)
24
25
diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c
26
index XXXXXXX..XXXXXXX 100644
27
--- a/hw/arm/fsl-imx25.c
28
+++ b/hw/arm/fsl-imx25.c
29
@@ -XXX,XX +XXX,XX @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
30
}
31
32
/* initialize 2 x 16 KB ROM */
33
- memory_region_init_rom_nomigrate(&s->rom[0], NULL,
34
+ memory_region_init_rom(&s->rom[0], NULL,
35
"imx25.rom0", FSL_IMX25_ROM0_SIZE, &err);
36
if (err) {
37
error_propagate(errp, err);
38
@@ -XXX,XX +XXX,XX @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
39
}
40
memory_region_add_subregion(get_system_memory(), FSL_IMX25_ROM0_ADDR,
41
&s->rom[0]);
42
- memory_region_init_rom_nomigrate(&s->rom[1], NULL,
43
+ memory_region_init_rom(&s->rom[1], NULL,
44
"imx25.rom1", FSL_IMX25_ROM1_SIZE, &err);
45
if (err) {
46
error_propagate(errp, err);
47
diff --git a/hw/arm/fsl-imx31.c b/hw/arm/fsl-imx31.c
48
index XXXXXXX..XXXXXXX 100644
49
--- a/hw/arm/fsl-imx31.c
50
+++ b/hw/arm/fsl-imx31.c
51
@@ -XXX,XX +XXX,XX @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp)
52
}
53
54
/* On a real system, the first 16k is a `secure boot rom' */
55
- memory_region_init_rom_nomigrate(&s->secure_rom, NULL, "imx31.secure_rom",
56
+ memory_region_init_rom(&s->secure_rom, NULL, "imx31.secure_rom",
57
FSL_IMX31_SECURE_ROM_SIZE, &err);
58
if (err) {
59
error_propagate(errp, err);
60
@@ -XXX,XX +XXX,XX @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp)
61
&s->secure_rom);
62
63
/* There is also a 16k ROM */
64
- memory_region_init_rom_nomigrate(&s->rom, NULL, "imx31.rom",
65
+ memory_region_init_rom(&s->rom, NULL, "imx31.rom",
66
FSL_IMX31_ROM_SIZE, &err);
67
if (err) {
68
error_propagate(errp, err);
69
diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c
70
index XXXXXXX..XXXXXXX 100644
71
--- a/hw/arm/fsl-imx6.c
72
+++ b/hw/arm/fsl-imx6.c
73
@@ -XXX,XX +XXX,XX @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
74
FSL_IMX6_ENET_MAC_1588_IRQ));
75
76
/* ROM memory */
77
- memory_region_init_rom_nomigrate(&s->rom, NULL, "imx6.rom",
78
+ memory_region_init_rom(&s->rom, NULL, "imx6.rom",
79
FSL_IMX6_ROM_SIZE, &err);
80
if (err) {
81
error_propagate(errp, err);
82
@@ -XXX,XX +XXX,XX @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
83
&s->rom);
84
85
/* CAAM memory */
86
- memory_region_init_rom_nomigrate(&s->caam, NULL, "imx6.caam",
87
+ memory_region_init_rom(&s->caam, NULL, "imx6.caam",
88
FSL_IMX6_CAAM_MEM_SIZE, &err);
89
if (err) {
90
error_propagate(errp, err);
91
--
92
2.7.4
93
94
diff view generated by jsdifflib
Deleted patch
1
A cut-and-paste error meant that instead of setting the
2
qdev parent bus for the SCC device we were setting it
3
twice for the ARMv7M container device. Fix this bug.
4
1
5
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
6
Message-id: 1500634509-28011-1-git-send-email-peter.maydell@linaro.org
7
---
8
hw/arm/mps2.c | 2 +-
9
1 file changed, 1 insertion(+), 1 deletion(-)
10
11
diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c
12
index XXXXXXX..XXXXXXX 100644
13
--- a/hw/arm/mps2.c
14
+++ b/hw/arm/mps2.c
15
@@ -XXX,XX +XXX,XX @@ static void mps2_common_init(MachineState *machine)
16
17
object_initialize(&mms->scc, sizeof(mms->scc), TYPE_MPS2_SCC);
18
sccdev = DEVICE(&mms->scc);
19
- qdev_set_parent_bus(armv7m, sysbus_get_default());
20
+ qdev_set_parent_bus(sccdev, sysbus_get_default());
21
qdev_prop_set_uint32(sccdev, "scc-cfg4", 0x2);
22
qdev_prop_set_uint32(sccdev, "scc-aid", 0x02000008);
23
qdev_prop_set_uint32(sccdev, "scc-id", mmc->scc_id);
24
--
25
2.7.4
26
27
diff view generated by jsdifflib
Deleted patch
1
Instead of migrating the flash by creating the memory region
2
with memory_region_init_ram_nomigrate() and then calling
3
vmstate_register_ram_global(), just use memory_region_init_ram(),
4
which now handles migration registration automatically.
5
1
6
This is a migration compatibility break for the integratorcp
7
board, because the RAM region's migration name changes to
8
include the device path. This is OK because we don't guarantee
9
migration compatibility for this board.
10
11
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12
Message-id: 1500310341-28931-1-git-send-email-peter.maydell@linaro.org
13
---
14
hw/arm/integratorcp.c | 3 +--
15
1 file changed, 1 insertion(+), 2 deletions(-)
16
17
diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c
18
index XXXXXXX..XXXXXXX 100644
19
--- a/hw/arm/integratorcp.c
20
+++ b/hw/arm/integratorcp.c
21
@@ -XXX,XX +XXX,XX @@ static void integratorcm_init(Object *obj)
22
s->cm_init = 0x00000112;
23
s->cm_refcnt_offset = muldiv64(qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL), 24,
24
1000);
25
- memory_region_init_ram_nomigrate(&s->flash, obj, "integrator.flash", 0x100000,
26
+ memory_region_init_ram(&s->flash, obj, "integrator.flash", 0x100000,
27
&error_fatal);
28
- vmstate_register_ram_global(&s->flash);
29
30
memory_region_init_io(&s->iomem, obj, &integratorcm_ops, s,
31
"integratorcm", 0x00800000);
32
--
33
2.7.4
34
35
diff view generated by jsdifflib