qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [Qemu-arm] [PATCH 2/2] nvic: Make systick banked


From: Peter Maydell
Subject: Re: [Qemu-devel] [Qemu-arm] [PATCH 2/2] nvic: Make systick banked
Date: Tue, 12 Dec 2017 17:22:11 +0000

On 5 December 2017 at 04:13, Philippe Mathieu-Daudé <address@hidden> wrote:
> Anyway:
> Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

Thanks; I will squash this diff in when I apply to target-arm.next:

--- a/hw/intc/armv7m_nvic.c
+++ b/hw/intc/armv7m_nvic.c
@@ -2068,9 +2068,14 @@ static void armv7m_nvic_realize(DeviceState
*dev, Error **errp)
         return;
     }
     sysbus_connect_irq(SYS_BUS_DEVICE(&s->systick[M_REG_NS]), 0,
-                       qdev_get_gpio_in_named(dev, "systick-trigger", 0));
+                       qdev_get_gpio_in_named(dev, "systick-trigger",
+                                              M_REG_NS));

     if (arm_feature(&s->cpu->env, ARM_FEATURE_M_SECURITY)) {
-        object_initialize(&s->systick[M_REG_S], sizeof(s->systick[M_REG_NS]),
+        /* We couldn't init the secure systick device in instance_init
+         * as we didn't know then if the CPU had the security extensions;
+         * so we have to do it here.
+         */
+        object_initialize(&s->systick[M_REG_S], sizeof(s->systick[M_REG_S]),
                           TYPE_SYSTICK);
         qdev_set_parent_bus(DEVICE(&s->systick[M_REG_S]),
sysbus_get_default());
@@ -2082,7 +2087,8 @@ static void armv7m_nvic_realize(DeviceState
*dev, Error **errp)
             return;
         }
         sysbus_connect_irq(SYS_BUS_DEVICE(&s->systick[M_REG_S]), 0,
-                           qdev_get_gpio_in_named(dev, "systick-trigger", 1));
+                           qdev_get_gpio_in_named(dev, "systick-trigger",
+                                                  M_REG_S));
     }

     /* The NVIC and System Control Space (SCS) starts at 0xe000e000
@@ -2161,7 +2167,8 @@ static void armv7m_nvic_instance_init(Object *obj)

     sysbus_init_irq(sbd, &nvic->excpout);
     qdev_init_gpio_out_named(dev, &nvic->sysresetreq, "SYSRESETREQ", 1);
-    qdev_init_gpio_in_named(dev, nvic_systick_trigger, "systick-trigger", 2);
+    qdev_init_gpio_in_named(dev, nvic_systick_trigger, "systick-trigger",
+                            M_REG_NUM_BANKS);
 }

 static void armv7m_nvic_class_init(ObjectClass *klass, void *data)


thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]