[{"id":1764430,"web_url":"http://patchwork.ozlabs.org/comment/1764430/","msgid":"<CAKmqyKNidmYxd1=zpbQ_r+xm3T8P1N-HAWn1O8zuYpFAsMKbKA@mail.gmail.com>","list_archive_url":null,"date":"2017-09-06T23:18:04","subject":"Re: [Qemu-devel] [PATCH v2 2/3] hw/arm: Set\n\tignore_memory_transaction_failures for most ARM boards","submitter":{"id":64571,"url":"http://patchwork.ozlabs.org/api/people/64571/","name":"Alistair Francis","email":"alistair23@gmail.com"},"content":"On Tue, Sep 5, 2017 at 8:53 AM, Peter Maydell <peter.maydell@linaro.org> wrote:\n> Set the MachineClass flag ignore_memory_transaction_failures\n> for almost all ARM boards. This means they retain the legacy\n> behaviour that accesses to unimplemented addresses will RAZ/WI\n> rather than aborting, when a subsequent commit adds support\n> for external aborts.\n>\n> The exceptions are:\n>  * virt -- we know that guests won't try to prod devices\n>    that we don't describe in the device tree or ACPI tables\n>  * mps2 -- this board was written to use unimplemented-device\n>    for all the ranges with devices we don't yet handle\n>\n> New boards should not set the flag, but instead be written\n> like the mps2.\n>\n> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>\n> For the Xilinx boards:\n> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>\n\nReviewed-by: Alistair Francis <alistair.francis@xilinx.com>\n\nThanks,\nAlistair\n\n> ---\n>  hw/arm/aspeed.c         | 3 +++\n>  hw/arm/collie.c         | 1 +\n>  hw/arm/cubieboard.c     | 1 +\n>  hw/arm/digic_boards.c   | 1 +\n>  hw/arm/exynos4_boards.c | 2 ++\n>  hw/arm/gumstix.c        | 2 ++\n>  hw/arm/highbank.c       | 2 ++\n>  hw/arm/imx25_pdk.c      | 1 +\n>  hw/arm/integratorcp.c   | 1 +\n>  hw/arm/kzm.c            | 1 +\n>  hw/arm/mainstone.c      | 1 +\n>  hw/arm/musicpal.c       | 1 +\n>  hw/arm/netduino2.c      | 1 +\n>  hw/arm/nseries.c        | 2 ++\n>  hw/arm/omap_sx1.c       | 2 ++\n>  hw/arm/palm.c           | 1 +\n>  hw/arm/raspi.c          | 1 +\n>  hw/arm/realview.c       | 4 ++++\n>  hw/arm/sabrelite.c      | 1 +\n>  hw/arm/spitz.c          | 4 ++++\n>  hw/arm/stellaris.c      | 2 ++\n>  hw/arm/tosa.c           | 1 +\n>  hw/arm/versatilepb.c    | 2 ++\n>  hw/arm/vexpress.c       | 1 +\n>  hw/arm/xilinx_zynq.c    | 1 +\n>  hw/arm/xlnx-ep108.c     | 2 ++\n>  hw/arm/z2.c             | 1 +\n>  27 files changed, 43 insertions(+)\n>\n> diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c\n> index 0c5635f..ab895ad 100644\n> --- a/hw/arm/aspeed.c\n> +++ b/hw/arm/aspeed.c\n> @@ -270,6 +270,7 @@ static void palmetto_bmc_class_init(ObjectClass *oc, void *data)\n>      mc->no_floppy = 1;\n>      mc->no_cdrom = 1;\n>      mc->no_parallel = 1;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo palmetto_bmc_type = {\n> @@ -302,6 +303,7 @@ static void ast2500_evb_class_init(ObjectClass *oc, void *data)\n>      mc->no_floppy = 1;\n>      mc->no_cdrom = 1;\n>      mc->no_parallel = 1;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo ast2500_evb_type = {\n> @@ -326,6 +328,7 @@ static void romulus_bmc_class_init(ObjectClass *oc, void *data)\n>      mc->no_floppy = 1;\n>      mc->no_cdrom = 1;\n>      mc->no_parallel = 1;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo romulus_bmc_type = {\n> diff --git a/hw/arm/collie.c b/hw/arm/collie.c\n> index 2e69531..8830192 100644\n> --- a/hw/arm/collie.c\n> +++ b/hw/arm/collie.c\n> @@ -64,6 +64,7 @@ static void collie_machine_init(MachineClass *mc)\n>  {\n>      mc->desc = \"Sharp SL-5500 (Collie) PDA (SA-1110)\";\n>      mc->init = collie_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"collie\", collie_machine_init)\n> diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c\n> index b98e1c4..32f1edd 100644\n> --- a/hw/arm/cubieboard.c\n> +++ b/hw/arm/cubieboard.c\n> @@ -86,6 +86,7 @@ static void cubieboard_machine_init(MachineClass *mc)\n>      mc->init = cubieboard_init;\n>      mc->block_default_type = IF_IDE;\n>      mc->units_per_default_bus = 1;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"cubieboard\", cubieboard_machine_init)\n> diff --git a/hw/arm/digic_boards.c b/hw/arm/digic_boards.c\n> index 520c8e9..9f11dcd 100644\n> --- a/hw/arm/digic_boards.c\n> +++ b/hw/arm/digic_boards.c\n> @@ -155,6 +155,7 @@ static void canon_a1100_machine_init(MachineClass *mc)\n>  {\n>      mc->desc = \"Canon PowerShot A1100 IS\";\n>      mc->init = &canon_a1100_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"canon-a1100\", canon_a1100_machine_init)\n> diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c\n> index 7c03ed3..f1441ec 100644\n> --- a/hw/arm/exynos4_boards.c\n> +++ b/hw/arm/exynos4_boards.c\n> @@ -189,6 +189,7 @@ static void nuri_class_init(ObjectClass *oc, void *data)\n>      mc->desc = \"Samsung NURI board (Exynos4210)\";\n>      mc->init = nuri_init;\n>      mc->max_cpus = EXYNOS4210_NCPUS;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo nuri_type = {\n> @@ -204,6 +205,7 @@ static void smdkc210_class_init(ObjectClass *oc, void *data)\n>      mc->desc = \"Samsung SMDKC210 board (Exynos4210)\";\n>      mc->init = smdkc210_init;\n>      mc->max_cpus = EXYNOS4210_NCPUS;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo smdkc210_type = {\n> diff --git a/hw/arm/gumstix.c b/hw/arm/gumstix.c\n> index d59d9ba..092ce36 100644\n> --- a/hw/arm/gumstix.c\n> +++ b/hw/arm/gumstix.c\n> @@ -128,6 +128,7 @@ static void connex_class_init(ObjectClass *oc, void *data)\n>\n>      mc->desc = \"Gumstix Connex (PXA255)\";\n>      mc->init = connex_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo connex_type = {\n> @@ -142,6 +143,7 @@ static void verdex_class_init(ObjectClass *oc, void *data)\n>\n>      mc->desc = \"Gumstix Verdex (PXA270)\";\n>      mc->init = verdex_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo verdex_type = {\n> diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c\n> index 942d5a8..ba27789 100644\n> --- a/hw/arm/highbank.c\n> +++ b/hw/arm/highbank.c\n> @@ -413,6 +413,7 @@ static void highbank_class_init(ObjectClass *oc, void *data)\n>      mc->block_default_type = IF_IDE;\n>      mc->units_per_default_bus = 1;\n>      mc->max_cpus = 4;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo highbank_type = {\n> @@ -430,6 +431,7 @@ static void midway_class_init(ObjectClass *oc, void *data)\n>      mc->block_default_type = IF_IDE;\n>      mc->units_per_default_bus = 1;\n>      mc->max_cpus = 4;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo midway_type = {\n> diff --git a/hw/arm/imx25_pdk.c b/hw/arm/imx25_pdk.c\n> index 7d42c74..9f3ee14 100644\n> --- a/hw/arm/imx25_pdk.c\n> +++ b/hw/arm/imx25_pdk.c\n> @@ -148,6 +148,7 @@ static void imx25_pdk_machine_init(MachineClass *mc)\n>  {\n>      mc->desc = \"ARM i.MX25 PDK board (ARM926)\";\n>      mc->init = imx25_pdk_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"imx25-pdk\", imx25_pdk_machine_init)\n> diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c\n> index d9530ed..d603af9 100644\n> --- a/hw/arm/integratorcp.c\n> +++ b/hw/arm/integratorcp.c\n> @@ -681,6 +681,7 @@ static void integratorcp_machine_init(MachineClass *mc)\n>  {\n>      mc->desc = \"ARM Integrator/CP (ARM926EJ-S)\";\n>      mc->init = integratorcp_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"integratorcp\", integratorcp_machine_init)\n> diff --git a/hw/arm/kzm.c b/hw/arm/kzm.c\n> index 3ed6577..f9c2228 100644\n> --- a/hw/arm/kzm.c\n> +++ b/hw/arm/kzm.c\n> @@ -142,6 +142,7 @@ static void kzm_machine_init(MachineClass *mc)\n>  {\n>      mc->desc = \"ARM KZM Emulation Baseboard (ARM1136)\";\n>      mc->init = kzm_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"kzm\", kzm_machine_init)\n> diff --git a/hw/arm/mainstone.c b/hw/arm/mainstone.c\n> index fb268e6..637f52c 100644\n> --- a/hw/arm/mainstone.c\n> +++ b/hw/arm/mainstone.c\n> @@ -196,6 +196,7 @@ static void mainstone2_machine_init(MachineClass *mc)\n>  {\n>      mc->desc = \"Mainstone II (PXA27x)\";\n>      mc->init = mainstone_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"mainstone\", mainstone2_machine_init)\n> diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c\n> index a8b3d46..ab4ba31 100644\n> --- a/hw/arm/musicpal.c\n> +++ b/hw/arm/musicpal.c\n> @@ -1718,6 +1718,7 @@ static void musicpal_machine_init(MachineClass *mc)\n>  {\n>      mc->desc = \"Marvell 88w8618 / MusicPal (ARM926EJ-S)\";\n>      mc->init = musicpal_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"musicpal\", musicpal_machine_init)\n> diff --git a/hw/arm/netduino2.c b/hw/arm/netduino2.c\n> index 3cfe332..9d34d4c 100644\n> --- a/hw/arm/netduino2.c\n> +++ b/hw/arm/netduino2.c\n> @@ -45,6 +45,7 @@ static void netduino2_machine_init(MachineClass *mc)\n>  {\n>      mc->desc = \"Netduino 2 Machine\";\n>      mc->init = netduino2_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"netduino2\", netduino2_machine_init)\n> diff --git a/hw/arm/nseries.c b/hw/arm/nseries.c\n> index 503a3b6..a32ac82 100644\n> --- a/hw/arm/nseries.c\n> +++ b/hw/arm/nseries.c\n> @@ -1425,6 +1425,7 @@ static void n800_class_init(ObjectClass *oc, void *data)\n>      mc->desc = \"Nokia N800 tablet aka. RX-34 (OMAP2420)\";\n>      mc->init = n800_init;\n>      mc->default_boot_order = \"\";\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo n800_type = {\n> @@ -1440,6 +1441,7 @@ static void n810_class_init(ObjectClass *oc, void *data)\n>      mc->desc = \"Nokia N810 tablet aka. RX-44 (OMAP2420)\";\n>      mc->init = n810_init;\n>      mc->default_boot_order = \"\";\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo n810_type = {\n> diff --git a/hw/arm/omap_sx1.c b/hw/arm/omap_sx1.c\n> index 9809106..4535617 100644\n> --- a/hw/arm/omap_sx1.c\n> +++ b/hw/arm/omap_sx1.c\n> @@ -223,6 +223,7 @@ static void sx1_machine_v2_class_init(ObjectClass *oc, void *data)\n>\n>      mc->desc = \"Siemens SX1 (OMAP310) V2\";\n>      mc->init = sx1_init_v2;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo sx1_machine_v2_type = {\n> @@ -237,6 +238,7 @@ static void sx1_machine_v1_class_init(ObjectClass *oc, void *data)\n>\n>      mc->desc = \"Siemens SX1 (OMAP310) V1\";\n>      mc->init = sx1_init_v1;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo sx1_machine_v1_type = {\n> diff --git a/hw/arm/palm.c b/hw/arm/palm.c\n> index 64cf8ca..bf070a2 100644\n> --- a/hw/arm/palm.c\n> +++ b/hw/arm/palm.c\n> @@ -274,6 +274,7 @@ static void palmte_machine_init(MachineClass *mc)\n>  {\n>      mc->desc = \"Palm Tungsten|E aka. Cheetah PDA (OMAP310)\";\n>      mc->init = palmte_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"cheetah\", palmte_machine_init)\n> diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c\n> index 32cdc98..5941c9f 100644\n> --- a/hw/arm/raspi.c\n> +++ b/hw/arm/raspi.c\n> @@ -168,5 +168,6 @@ static void raspi2_machine_init(MachineClass *mc)\n>      mc->no_cdrom = 1;\n>      mc->max_cpus = BCM2836_NCPUS;\n>      mc->default_ram_size = 1024 * 1024 * 1024;\n> +    mc->ignore_memory_transaction_failures = true;\n>  };\n>  DEFINE_MACHINE(\"raspi2\", raspi2_machine_init)\n> diff --git a/hw/arm/realview.c b/hw/arm/realview.c\n> index 2736156..f3a49b6 100644\n> --- a/hw/arm/realview.c\n> +++ b/hw/arm/realview.c\n> @@ -398,6 +398,7 @@ static void realview_eb_class_init(ObjectClass *oc, void *data)\n>      mc->desc = \"ARM RealView Emulation Baseboard (ARM926EJ-S)\";\n>      mc->init = realview_eb_init;\n>      mc->block_default_type = IF_SCSI;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo realview_eb_type = {\n> @@ -414,6 +415,7 @@ static void realview_eb_mpcore_class_init(ObjectClass *oc, void *data)\n>      mc->init = realview_eb_mpcore_init;\n>      mc->block_default_type = IF_SCSI;\n>      mc->max_cpus = 4;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo realview_eb_mpcore_type = {\n> @@ -428,6 +430,7 @@ static void realview_pb_a8_class_init(ObjectClass *oc, void *data)\n>\n>      mc->desc = \"ARM RealView Platform Baseboard for Cortex-A8\";\n>      mc->init = realview_pb_a8_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo realview_pb_a8_type = {\n> @@ -443,6 +446,7 @@ static void realview_pbx_a9_class_init(ObjectClass *oc, void *data)\n>      mc->desc = \"ARM RealView Platform Baseboard Explore for Cortex-A9\";\n>      mc->init = realview_pbx_a9_init;\n>      mc->max_cpus = 4;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo realview_pbx_a9_type = {\n> diff --git a/hw/arm/sabrelite.c b/hw/arm/sabrelite.c\n> index 4e7ac8c..ee140e5 100644\n> --- a/hw/arm/sabrelite.c\n> +++ b/hw/arm/sabrelite.c\n> @@ -122,6 +122,7 @@ static void sabrelite_machine_init(MachineClass *mc)\n>      mc->desc = \"Freescale i.MX6 Quad SABRE Lite Board (Cortex A9)\";\n>      mc->init = sabrelite_init;\n>      mc->max_cpus = FSL_IMX6_NUM_CPUS;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"sabrelite\", sabrelite_machine_init)\n> diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c\n> index 7f588ce..6406421 100644\n> --- a/hw/arm/spitz.c\n> +++ b/hw/arm/spitz.c\n> @@ -983,6 +983,7 @@ static void akitapda_class_init(ObjectClass *oc, void *data)\n>\n>      mc->desc = \"Sharp SL-C1000 (Akita) PDA (PXA270)\";\n>      mc->init = akita_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo akitapda_type = {\n> @@ -998,6 +999,7 @@ static void spitzpda_class_init(ObjectClass *oc, void *data)\n>      mc->desc = \"Sharp SL-C3000 (Spitz) PDA (PXA270)\";\n>      mc->init = spitz_init;\n>      mc->block_default_type = IF_IDE;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo spitzpda_type = {\n> @@ -1013,6 +1015,7 @@ static void borzoipda_class_init(ObjectClass *oc, void *data)\n>      mc->desc = \"Sharp SL-C3100 (Borzoi) PDA (PXA270)\";\n>      mc->init = borzoi_init;\n>      mc->block_default_type = IF_IDE;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo borzoipda_type = {\n> @@ -1028,6 +1031,7 @@ static void terrierpda_class_init(ObjectClass *oc, void *data)\n>      mc->desc = \"Sharp SL-C3200 (Terrier) PDA (PXA270)\";\n>      mc->init = terrier_init;\n>      mc->block_default_type = IF_IDE;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo terrierpda_type = {\n> diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c\n> index 408c1a1..b3aad23 100644\n> --- a/hw/arm/stellaris.c\n> +++ b/hw/arm/stellaris.c\n> @@ -1453,6 +1453,7 @@ static void lm3s811evb_class_init(ObjectClass *oc, void *data)\n>\n>      mc->desc = \"Stellaris LM3S811EVB\";\n>      mc->init = lm3s811evb_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo lm3s811evb_type = {\n> @@ -1467,6 +1468,7 @@ static void lm3s6965evb_class_init(ObjectClass *oc, void *data)\n>\n>      mc->desc = \"Stellaris LM3S6965EVB\";\n>      mc->init = lm3s6965evb_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo lm3s6965evb_type = {\n> diff --git a/hw/arm/tosa.c b/hw/arm/tosa.c\n> index 8b757ff..1134cf7 100644\n> --- a/hw/arm/tosa.c\n> +++ b/hw/arm/tosa.c\n> @@ -263,6 +263,7 @@ static void tosapda_machine_init(MachineClass *mc)\n>      mc->desc = \"Sharp SL-6000 (Tosa) PDA (PXA255)\";\n>      mc->init = tosa_init;\n>      mc->block_default_type = IF_IDE;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"tosa\", tosapda_machine_init)\n> diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c\n> index b0e9f5b..76664e4 100644\n> --- a/hw/arm/versatilepb.c\n> +++ b/hw/arm/versatilepb.c\n> @@ -403,6 +403,7 @@ static void versatilepb_class_init(ObjectClass *oc, void *data)\n>      mc->desc = \"ARM Versatile/PB (ARM926EJ-S)\";\n>      mc->init = vpb_init;\n>      mc->block_default_type = IF_SCSI;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo versatilepb_type = {\n> @@ -418,6 +419,7 @@ static void versatileab_class_init(ObjectClass *oc, void *data)\n>      mc->desc = \"ARM Versatile/AB (ARM926EJ-S)\";\n>      mc->init = vab_init;\n>      mc->block_default_type = IF_SCSI;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static const TypeInfo versatileab_type = {\n> diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c\n> index 571dd36..e3acab6 100644\n> --- a/hw/arm/vexpress.c\n> +++ b/hw/arm/vexpress.c\n> @@ -752,6 +752,7 @@ static void vexpress_class_init(ObjectClass *oc, void *data)\n>      mc->desc = \"ARM Versatile Express\";\n>      mc->init = vexpress_common_init;\n>      mc->max_cpus = 4;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  static void vexpress_a9_class_init(ObjectClass *oc, void *data)\n> diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c\n> index a750959..3759cf8 100644\n> --- a/hw/arm/xilinx_zynq.c\n> +++ b/hw/arm/xilinx_zynq.c\n> @@ -326,6 +326,7 @@ static void zynq_machine_init(MachineClass *mc)\n>      mc->init = zynq_init;\n>      mc->max_cpus = 1;\n>      mc->no_sdcard = 1;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"xilinx-zynq-a9\", zynq_machine_init)\n> diff --git a/hw/arm/xlnx-ep108.c b/hw/arm/xlnx-ep108.c\n> index 860780a..c339cd4 100644\n> --- a/hw/arm/xlnx-ep108.c\n> +++ b/hw/arm/xlnx-ep108.c\n> @@ -122,6 +122,7 @@ static void xlnx_ep108_machine_init(MachineClass *mc)\n>      mc->init = xlnx_ep108_init;\n>      mc->block_default_type = IF_IDE;\n>      mc->units_per_default_bus = 1;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"xlnx-ep108\", xlnx_ep108_machine_init)\n> @@ -132,6 +133,7 @@ static void xlnx_zcu102_machine_init(MachineClass *mc)\n>      mc->init = xlnx_ep108_init;\n>      mc->block_default_type = IF_IDE;\n>      mc->units_per_default_bus = 1;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"xlnx-zcu102\", xlnx_zcu102_machine_init)\n> diff --git a/hw/arm/z2.c b/hw/arm/z2.c\n> index 1607cbd..417bc1a 100644\n> --- a/hw/arm/z2.c\n> +++ b/hw/arm/z2.c\n> @@ -370,6 +370,7 @@ static void z2_machine_init(MachineClass *mc)\n>  {\n>      mc->desc = \"Zipit Z2 (PXA27x)\";\n>      mc->init = z2_init;\n> +    mc->ignore_memory_transaction_failures = true;\n>  }\n>\n>  DEFINE_MACHINE(\"z2\", z2_machine_init)\n> --\n> 2.7.4\n>\n>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"HMzpKaEU\"; dkim-atps=neutral"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xnffw1360z9t2W\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  7 Sep 2017 09:19:20 +1000 (AEST)","from localhost ([::1]:38383 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dpjbK-0007Cd-8v\n\tfor incoming@patchwork.ozlabs.org; Wed, 06 Sep 2017 19:19:18 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:36149)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <alistair23@gmail.com>) id 1dpjao-00077h-MC\n\tfor qemu-devel@nongnu.org; Wed, 06 Sep 2017 19:18:53 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <alistair23@gmail.com>) id 1dpjak-0007xp-Te\n\tfor qemu-devel@nongnu.org; Wed, 06 Sep 2017 19:18:45 -0400","from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]:33590)\n\tby eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)\n\t(Exim 4.71) (envelope-from <alistair23@gmail.com>)\n\tid 1dpjae-0007LJ-G4; Wed, 06 Sep 2017 19:18:36 -0400","by mail-wm0-x243.google.com with SMTP id 187so219058wmn.0;\n\tWed, 06 Sep 2017 16:18:36 -0700 (PDT)","by 10.28.191.130 with HTTP; Wed, 6 Sep 2017 16:18:04 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=AKasgWAYTz3FpCWYxNf7gyTmMVeuSMkd84/ax4onWA4=;\n\tb=HMzpKaEUAzuZrhRvzXutE8KiQPN/BxpG65EA/lGcxG4bvrH57ZlxyjsXeGso3h0Vd6\n\tBwuk3coZZu0ZX6FzrVBM28jLW9mBZmxalOKrBLY4EBParXGK73zwBRr4stPvwR03/KcC\n\tN3s/5f7cOyAeX9sACTx22sAntFWDPFin0F/oTa2yKBx4fLeqEMyCnwb7BvCXwAAnEbGa\n\tqHZhrDmkyfFP4zv2DF/7yNjoZjObu9uWZQyi9IiO2Y/MpKDrDVYPWjZpdeqoh0b9wOWO\n\tR9jSm4BsuEO/j/vvMbmxYVKoO2QfwuKwlxPaYsB2zQRoToJWidLaG1brluD8z+ynb3F/\n\tqUeQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=AKasgWAYTz3FpCWYxNf7gyTmMVeuSMkd84/ax4onWA4=;\n\tb=jaD36PgscwJvk15tcAT85bObELI0YwQffN8Z3M1IeRroUbyCa1FxuOl6zCMPoFOMwo\n\tOW93ehjc9VISfZcu4RS6VWVWykmdiTlPYqEd10kExXc/24FkHdPWFAgHgUJkcZEKG6A+\n\tbSnEQa33r7Y8Fhwf/thXGNA+VUFVWMksdoDtbSloGxZerq0K281e2fgpcYw8gghMTJ89\n\txQO0ucNflymYngQKSdnVI9qELWsmZST0UTHgXCmJq5rXpdW2VigTV9UXLKrJySTh0pkD\n\t2//WG66rlFL1NWqnc85oXh6FcPkxCDlGa/sUvloaalEBKl/nhQvIUV6qQedRhw8XZVjO\n\torAg==","X-Gm-Message-State":"AHPjjUg0wUhL+nqczhSFVn+mIfcn4jqhSQ505BC1XeMwX50OMsYpZHM1\n\t+sdVpcstLkcHTCXOlNqr22+9ihR/hQ==","X-Google-Smtp-Source":"ADKCNb7sz5U+wlFwRA9+j8e8matCMjEDAwtdo8kpqE8Mt5GkIVUQ7S2+XMEcjEw7TjknGaftKhkXNA+7jnno+j5AWNk=","X-Received":"by 10.28.234.88 with SMTP id i85mr784053wmh.75.1504739915203;\n\tWed, 06 Sep 2017 16:18:35 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<1504626814-23124-3-git-send-email-peter.maydell@linaro.org>","References":"<1504626814-23124-1-git-send-email-peter.maydell@linaro.org>\n\t<1504626814-23124-3-git-send-email-peter.maydell@linaro.org>","From":"Alistair Francis <alistair23@gmail.com>","Date":"Wed, 6 Sep 2017 16:18:04 -0700","Message-ID":"<CAKmqyKNidmYxd1=zpbQ_r+xm3T8P1N-HAWn1O8zuYpFAsMKbKA@mail.gmail.com>","To":"Peter Maydell <peter.maydell@linaro.org>","Content-Type":"text/plain; charset=\"UTF-8\"","X-detected-operating-system":"by eggs.gnu.org: Genre and OS details not\n\trecognized.","X-Received-From":"2a00:1450:400c:c09::243","Subject":"Re: [Qemu-devel] [PATCH v2 2/3] hw/arm: Set\n\tignore_memory_transaction_failures for most ARM boards","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"qemu-arm <qemu-arm@nongnu.org>,\n\t\"qemu-devel@nongnu.org Developers\" <qemu-devel@nongnu.org>,\n\tPatch Tracking <patches@linaro.org>, Richard Henderson <rth@twiddle.net>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}}]