Support this feature since version 4.1, disable it by
default in the old version.
Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com>
---
hw/arm/virt.c | 6 ++++++
include/hw/arm/virt.h | 1 +
2 files changed, 7 insertions(+)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 5331ab7..7bdd41b 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -2043,8 +2043,14 @@ DEFINE_VIRT_MACHINE_AS_LATEST(4, 1)
static void virt_machine_4_0_options(MachineClass *mc)
{
+ VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
+
virt_machine_4_1_options(mc);
compat_props_add(mc->compat_props, hw_compat_4_0, hw_compat_4_0_len);
+ /* Disable memory recovery feature for 4.0 as RAS support was
+ * introduced with 4.1.
+ */
+ vmc->no_ras = true;
}
DEFINE_VIRT_MACHINE(4, 0)
diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index 4240709..7f1a033 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -104,6 +104,7 @@ typedef struct {
bool disallow_affinity_adjustment;
bool no_its;
bool no_pmu;
+ bool no_ras;
bool claim_edge_triggered_timers;
bool smbios_old_sys_ver;
bool no_highmem_ecam;
--
1.8.3.1