@@ -2161,6 +2161,20 @@ static void virt_set_mte(Object *obj, bool value, Error **errp)
vms->mte = value;
}
+static bool virt_get_pvpanic(Object *obj, Error **errp)
+{
+ VirtMachineState *vms = VIRT_MACHINE(obj);
+
+ return vms->pvpanic;
+}
+
+static void virt_set_pvpanic(Object *obj, bool value, Error **errp)
+{
+ VirtMachineState *vms = VIRT_MACHINE(obj);
+
+ vms->pvpanic = value;
+}
+
static char *virt_get_gic_version(Object *obj, Error **errp)
{
VirtMachineState *vms = VIRT_MACHINE(obj);
@@ -2594,6 +2608,14 @@ static void virt_instance_init(Object *obj)
"guest CPU which implements the ARM "
"Memory Tagging Extension");
+ /* Default disallows pvpanic-mmio instantiation */
+ vms->pvpanic = false;
+ object_property_add_bool(obj, "pvpanic", virt_get_pvpanic,
+ virt_set_pvpanic);
+ object_property_set_description(obj, "pvpanic",
+ "Set on/off to enable/disable "
+ "PVPANIC MMIO device");
+
vms->irqmap = a15irqmap;
virt_flash_create(vms);