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

[Minios-devel] [UNIKRAFT PATCH v2 6/8] lib/ukboot: Initialize platform time after interrupt subsystem



On some platforms the timers have a dependency to the interrupt
subsystem. Becasue of this reason, the timers should get
initialized afterwards.

Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
---
 lib/ukboot/boot.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/lib/ukboot/boot.c b/lib/ukboot/boot.c
index 202010a..0609efe 100644
--- a/lib/ukboot/boot.c
+++ b/lib/ukboot/boot.c
@@ -131,9 +131,6 @@ void ukplat_entry(int argc, char *argv[])
                  STRINGIFY(UK_CODENAME) " " STRINGIFY(UK_FULLVERSION));
 #endif
 
-       uk_printd(DLVL_INFO, "Initialize platform time...\n");
-       ukplat_time_init();
-
        uk_printd(DLVL_INFO, "Pre-init table at %p - %p\n",
                  __preinit_array_start, &__preinit_array_end);
        ukplat_ctor_foreach(__preinit_array_start, __preinit_array_end, i) {
@@ -207,12 +204,19 @@ void ukplat_entry(int argc, char *argv[])
        }
        if (unlikely(!a))
                uk_printd(DLVL_WARN, "No suitable memory region for memory 
allocator. Continue without heap\n");
+#endif
 
+#if LIBUKALLOC
+       uk_printd(DLVL_INFO, "Initialize IRQ subsystem...\n");
        rc = ukplat_irq_init(a);
        if (unlikely(rc != 0))
                UK_CRASH("Could not initialize the platform IRQ subsystem.");
 #endif
 
+       /* On most platforms the timer depend on an initialized IRQ subsystem */
+       uk_printd(DLVL_INFO, "Initialize platform time...\n");
+       ukplat_time_init();
+
 #if LIBUKSCHED
        /* Init scheduler. */
        s = uk_sched_default_init(a);
-- 
2.7.4


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.