summaryrefslogtreecommitdiffstats
path: root/hw/arm/realview.c
diff options
context:
space:
mode:
authorPeter Maydell2017-09-07 14:54:54 +0200
committerPeter Maydell2017-09-07 14:54:54 +0200
commit4672cbd7bed88dc67f089e84a0fd5d7739020c92 (patch)
tree5966c04f666e89c49a1de7d58552824da2dc4e90 /hw/arm/realview.c
parentboards.h: Define new flag ignore_memory_transaction_failures (diff)
downloadqemu-4672cbd7bed88dc67f089e84a0fd5d7739020c92.tar.gz
qemu-4672cbd7bed88dc67f089e84a0fd5d7739020c92.tar.xz
qemu-4672cbd7bed88dc67f089e84a0fd5d7739020c92.zip
hw/arm: Set ignore_memory_transaction_failures for most ARM boards
Set the MachineClass flag ignore_memory_transaction_failures for almost all ARM boards. This means they retain the legacy behaviour that accesses to unimplemented addresses will RAZ/WI rather than aborting, when a subsequent commit adds support for external aborts. The exceptions are: * virt -- we know that guests won't try to prod devices that we don't describe in the device tree or ACPI tables * mps2 -- this board was written to use unimplemented-device for all the ranges with devices we don't yet handle New boards should not set the flag, but instead be written like the mps2. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Alistair Francis <alistair.francis@xilinx.com> Message-id: 1504626814-23124-3-git-send-email-peter.maydell@linaro.org For the Xilinx boards: Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Diffstat (limited to 'hw/arm/realview.c')
-rw-r--r--hw/arm/realview.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/arm/realview.c b/hw/arm/realview.c
index 273615652c..f3a49b6420 100644
--- a/hw/arm/realview.c
+++ b/hw/arm/realview.c
@@ -398,6 +398,7 @@ static void realview_eb_class_init(ObjectClass *oc, void *data)
mc->desc = "ARM RealView Emulation Baseboard (ARM926EJ-S)";
mc->init = realview_eb_init;
mc->block_default_type = IF_SCSI;
+ mc->ignore_memory_transaction_failures = true;
}
static const TypeInfo realview_eb_type = {
@@ -414,6 +415,7 @@ static void realview_eb_mpcore_class_init(ObjectClass *oc, void *data)
mc->init = realview_eb_mpcore_init;
mc->block_default_type = IF_SCSI;
mc->max_cpus = 4;
+ mc->ignore_memory_transaction_failures = true;
}
static const TypeInfo realview_eb_mpcore_type = {
@@ -428,6 +430,7 @@ static void realview_pb_a8_class_init(ObjectClass *oc, void *data)
mc->desc = "ARM RealView Platform Baseboard for Cortex-A8";
mc->init = realview_pb_a8_init;
+ mc->ignore_memory_transaction_failures = true;
}
static const TypeInfo realview_pb_a8_type = {
@@ -443,6 +446,7 @@ static void realview_pbx_a9_class_init(ObjectClass *oc, void *data)
mc->desc = "ARM RealView Platform Baseboard Explore for Cortex-A9";
mc->init = realview_pbx_a9_init;
mc->max_cpus = 4;
+ mc->ignore_memory_transaction_failures = true;
}
static const TypeInfo realview_pbx_a9_type = {