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 |