|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |