* [Qemu-devel] [PULL 0/4] target-arm queue
@ 2017-07-24 17:06 Peter Maydell
2017-07-24 17:06 ` [Qemu-devel] [PULL 1/4] target/arm: fix TCG temp leak in aarch64 rev16 Peter Maydell
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Peter Maydell @ 2017-07-24 17:06 UTC (permalink / raw)
To: qemu-devel
ARM queue, mostly bug fixes to go into rc0.
The integratorcp and fsl_imx* changes are migration
compat breakers but that's ok for these boards.
thanks
-- PMM
The following changes since commit ce1d20aac8533357650774c2c240e30de87dc122:
Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2017-07-24' into staging (2017-07-24 16:20:47 +0100)
are available in the git repository at:
git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20170724
for you to fetch changes up to b2d1b0507d1b80f23da12dd8aab56944fe380a09:
integratorcp: Don't migrate flash using vmstate_register_ram_global() (2017-07-24 17:59:28 +0100)
----------------------------------------------------------------
target-arm queue:
* fix a TCG temporary leak in aarch64 rev16
* fsl_imx*: migrate the ROM contents
* integratorcp: don't use vmstate_register_ram_global for flash
* mps2: Correctly set parent bus for SCC device
----------------------------------------------------------------
Emilio G. Cota (1):
target/arm: fix TCG temp leak in aarch64 rev16
Peter Maydell (3):
fsl_imx*: Migrate ROM contents
mps2: Correctly set parent bus for SCC device
integratorcp: Don't migrate flash using vmstate_register_ram_global()
hw/arm/fsl-imx25.c | 4 ++--
hw/arm/fsl-imx31.c | 4 ++--
hw/arm/fsl-imx6.c | 4 ++--
hw/arm/integratorcp.c | 3 +--
hw/arm/mps2.c | 2 +-
target/arm/translate-a64.c | 1 +
6 files changed, 9 insertions(+), 9 deletions(-)
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [PULL 1/4] target/arm: fix TCG temp leak in aarch64 rev16
2017-07-24 17:06 [Qemu-devel] [PULL 0/4] target-arm queue Peter Maydell
@ 2017-07-24 17:06 ` Peter Maydell
2017-07-24 17:06 ` [Qemu-devel] [PULL 2/4] fsl_imx*: Migrate ROM contents Peter Maydell
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2017-07-24 17:06 UTC (permalink / raw)
To: qemu-devel
From: "Emilio G. Cota" <cota@braap.org>
Fix a TCG temporary leak in the new aarch64 rev16 handling.
Signed-off-by: Emilio G. Cota <cota@braap.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
target/arm/translate-a64.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
index 883e9df..58ed4c6 100644
--- a/target/arm/translate-a64.c
+++ b/target/arm/translate-a64.c
@@ -4051,6 +4051,7 @@ static void handle_rev16(DisasContext *s, unsigned int sf,
tcg_gen_shli_i64(tcg_rd, tcg_rd, 8);
tcg_gen_or_i64(tcg_rd, tcg_rd, tcg_tmp);
+ tcg_temp_free_i64(mask);
tcg_temp_free_i64(tcg_tmp);
}
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PULL 2/4] fsl_imx*: Migrate ROM contents
2017-07-24 17:06 [Qemu-devel] [PULL 0/4] target-arm queue Peter Maydell
2017-07-24 17:06 ` [Qemu-devel] [PULL 1/4] target/arm: fix TCG temp leak in aarch64 rev16 Peter Maydell
@ 2017-07-24 17:06 ` Peter Maydell
2017-07-24 17:06 ` [Qemu-devel] [PULL 3/4] mps2: Correctly set parent bus for SCC device Peter Maydell
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2017-07-24 17:06 UTC (permalink / raw)
To: qemu-devel
The fsl-imx* boards accidentally forgot to register the ROM memory
regions for migration. This used to require a manual step of calling
vmstate_register_ram(), but following commits
1cfe48c1ce21..b08199c6fbea194 we can use memory_region_init_rom() to
have it do the migration for us.
This is a migration break, but the migration code currently does not
handle the case of having two RAM regions which were not registered
for migration, and so prior to this commit a migration load would
always fail with:
"qemu-system-arm: Length mismatch: 0x4000 in != 0x18000: Invalid argument"
NB: migration appears at this point to be broken for this board
anyway -- it succeeds but the destination hangs; probably some
device in the system does not yet support migration.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1500309775-18361-1-git-send-email-peter.maydell@linaro.org
---
hw/arm/fsl-imx25.c | 4 ++--
hw/arm/fsl-imx31.c | 4 ++--
hw/arm/fsl-imx6.c | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c
index 8cff3c1..3b97ece 100644
--- a/hw/arm/fsl-imx25.c
+++ b/hw/arm/fsl-imx25.c
@@ -249,7 +249,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
}
/* initialize 2 x 16 KB ROM */
- memory_region_init_rom_nomigrate(&s->rom[0], NULL,
+ memory_region_init_rom(&s->rom[0], NULL,
"imx25.rom0", FSL_IMX25_ROM0_SIZE, &err);
if (err) {
error_propagate(errp, err);
@@ -257,7 +257,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
}
memory_region_add_subregion(get_system_memory(), FSL_IMX25_ROM0_ADDR,
&s->rom[0]);
- memory_region_init_rom_nomigrate(&s->rom[1], NULL,
+ memory_region_init_rom(&s->rom[1], NULL,
"imx25.rom1", FSL_IMX25_ROM1_SIZE, &err);
if (err) {
error_propagate(errp, err);
diff --git a/hw/arm/fsl-imx31.c b/hw/arm/fsl-imx31.c
index 9027875..0f2ebe8 100644
--- a/hw/arm/fsl-imx31.c
+++ b/hw/arm/fsl-imx31.c
@@ -219,7 +219,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp)
}
/* On a real system, the first 16k is a `secure boot rom' */
- memory_region_init_rom_nomigrate(&s->secure_rom, NULL, "imx31.secure_rom",
+ memory_region_init_rom(&s->secure_rom, NULL, "imx31.secure_rom",
FSL_IMX31_SECURE_ROM_SIZE, &err);
if (err) {
error_propagate(errp, err);
@@ -229,7 +229,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **errp)
&s->secure_rom);
/* There is also a 16k ROM */
- memory_region_init_rom_nomigrate(&s->rom, NULL, "imx31.rom",
+ memory_region_init_rom(&s->rom, NULL, "imx31.rom",
FSL_IMX31_ROM_SIZE, &err);
if (err) {
error_propagate(errp, err);
diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c
index 576c663..26fd214 100644
--- a/hw/arm/fsl-imx6.c
+++ b/hw/arm/fsl-imx6.c
@@ -399,7 +399,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
FSL_IMX6_ENET_MAC_1588_IRQ));
/* ROM memory */
- memory_region_init_rom_nomigrate(&s->rom, NULL, "imx6.rom",
+ memory_region_init_rom(&s->rom, NULL, "imx6.rom",
FSL_IMX6_ROM_SIZE, &err);
if (err) {
error_propagate(errp, err);
@@ -409,7 +409,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
&s->rom);
/* CAAM memory */
- memory_region_init_rom_nomigrate(&s->caam, NULL, "imx6.caam",
+ memory_region_init_rom(&s->caam, NULL, "imx6.caam",
FSL_IMX6_CAAM_MEM_SIZE, &err);
if (err) {
error_propagate(errp, err);
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PULL 3/4] mps2: Correctly set parent bus for SCC device
2017-07-24 17:06 [Qemu-devel] [PULL 0/4] target-arm queue Peter Maydell
2017-07-24 17:06 ` [Qemu-devel] [PULL 1/4] target/arm: fix TCG temp leak in aarch64 rev16 Peter Maydell
2017-07-24 17:06 ` [Qemu-devel] [PULL 2/4] fsl_imx*: Migrate ROM contents Peter Maydell
@ 2017-07-24 17:06 ` Peter Maydell
2017-07-24 17:06 ` [Qemu-devel] [PULL 4/4] integratorcp: Don't migrate flash using vmstate_register_ram_global() Peter Maydell
2017-07-24 18:21 ` [Qemu-devel] [PULL 0/4] target-arm queue Peter Maydell
4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2017-07-24 17:06 UTC (permalink / raw)
To: qemu-devel
A cut-and-paste error meant that instead of setting the
qdev parent bus for the SCC device we were setting it
twice for the ARMv7M container device. Fix this bug.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1500634509-28011-1-git-send-email-peter.maydell@linaro.org
---
hw/arm/mps2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c
index f727b43..abb0ab6 100644
--- a/hw/arm/mps2.c
+++ b/hw/arm/mps2.c
@@ -303,7 +303,7 @@ static void mps2_common_init(MachineState *machine)
object_initialize(&mms->scc, sizeof(mms->scc), TYPE_MPS2_SCC);
sccdev = DEVICE(&mms->scc);
- qdev_set_parent_bus(armv7m, sysbus_get_default());
+ qdev_set_parent_bus(sccdev, sysbus_get_default());
qdev_prop_set_uint32(sccdev, "scc-cfg4", 0x2);
qdev_prop_set_uint32(sccdev, "scc-aid", 0x02000008);
qdev_prop_set_uint32(sccdev, "scc-id", mmc->scc_id);
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PULL 4/4] integratorcp: Don't migrate flash using vmstate_register_ram_global()
2017-07-24 17:06 [Qemu-devel] [PULL 0/4] target-arm queue Peter Maydell
` (2 preceding siblings ...)
2017-07-24 17:06 ` [Qemu-devel] [PULL 3/4] mps2: Correctly set parent bus for SCC device Peter Maydell
@ 2017-07-24 17:06 ` Peter Maydell
2017-07-24 18:21 ` [Qemu-devel] [PULL 0/4] target-arm queue Peter Maydell
4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2017-07-24 17:06 UTC (permalink / raw)
To: qemu-devel
Instead of migrating the flash by creating the memory region
with memory_region_init_ram_nomigrate() and then calling
vmstate_register_ram_global(), just use memory_region_init_ram(),
which now handles migration registration automatically.
This is a migration compatibility break for the integratorcp
board, because the RAM region's migration name changes to
include the device path. This is OK because we don't guarantee
migration compatibility for this board.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 1500310341-28931-1-git-send-email-peter.maydell@linaro.org
---
hw/arm/integratorcp.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c
index d79221d..d9530ed 100644
--- a/hw/arm/integratorcp.c
+++ b/hw/arm/integratorcp.c
@@ -276,9 +276,8 @@ static void integratorcm_init(Object *obj)
s->cm_init = 0x00000112;
s->cm_refcnt_offset = muldiv64(qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL), 24,
1000);
- memory_region_init_ram_nomigrate(&s->flash, obj, "integrator.flash", 0x100000,
+ memory_region_init_ram(&s->flash, obj, "integrator.flash", 0x100000,
&error_fatal);
- vmstate_register_ram_global(&s->flash);
memory_region_init_io(&s->iomem, obj, &integratorcm_ops, s,
"integratorcm", 0x00800000);
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PULL 0/4] target-arm queue
2017-07-24 17:06 [Qemu-devel] [PULL 0/4] target-arm queue Peter Maydell
` (3 preceding siblings ...)
2017-07-24 17:06 ` [Qemu-devel] [PULL 4/4] integratorcp: Don't migrate flash using vmstate_register_ram_global() Peter Maydell
@ 2017-07-24 18:21 ` Peter Maydell
4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2017-07-24 18:21 UTC (permalink / raw)
To: QEMU Developers
On 24 July 2017 at 18:06, Peter Maydell <peter.maydell@linaro.org> wrote:
> ARM queue, mostly bug fixes to go into rc0.
> The integratorcp and fsl_imx* changes are migration
> compat breakers but that's ok for these boards.
>
> thanks
> -- PMM
>
>
> The following changes since commit ce1d20aac8533357650774c2c240e30de87dc122:
>
> Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2017-07-24' into staging (2017-07-24 16:20:47 +0100)
>
> are available in the git repository at:
>
> git://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20170724
>
> for you to fetch changes up to b2d1b0507d1b80f23da12dd8aab56944fe380a09:
>
> integratorcp: Don't migrate flash using vmstate_register_ram_global() (2017-07-24 17:59:28 +0100)
>
> ----------------------------------------------------------------
> target-arm queue:
> * fix a TCG temporary leak in aarch64 rev16
> * fsl_imx*: migrate the ROM contents
> * integratorcp: don't use vmstate_register_ram_global for flash
> * mps2: Correctly set parent bus for SCC device
>
> ----------------------------------------------------------------
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-07-24 18:21 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-24 17:06 [Qemu-devel] [PULL 0/4] target-arm queue Peter Maydell
2017-07-24 17:06 ` [Qemu-devel] [PULL 1/4] target/arm: fix TCG temp leak in aarch64 rev16 Peter Maydell
2017-07-24 17:06 ` [Qemu-devel] [PULL 2/4] fsl_imx*: Migrate ROM contents Peter Maydell
2017-07-24 17:06 ` [Qemu-devel] [PULL 3/4] mps2: Correctly set parent bus for SCC device Peter Maydell
2017-07-24 17:06 ` [Qemu-devel] [PULL 4/4] integratorcp: Don't migrate flash using vmstate_register_ram_global() Peter Maydell
2017-07-24 18:21 ` [Qemu-devel] [PULL 0/4] target-arm queue Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).