--- ksrc/arch/x86/hal-common.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) Index: xenomai/ksrc/arch/x86/hal-common.c =================================================================== --- xenomai.orig/ksrc/arch/x86/hal-common.c +++ xenomai/ksrc/arch/x86/hal-common.c @@ -183,14 +183,14 @@ int rthal_timer_request( if (cpu > 0) goto out; - rthal_timer_set_oneshot(1); - err = rthal_irq_request(RTHAL_APIC_TIMER_IPI, (rthal_irq_handler_t) tick_handler, NULL, NULL); if (err) return err; + rthal_timer_set_oneshot(1); + rthal_nmi_init(&rthal_latency_above_max); out: return tickval; @@ -223,8 +223,6 @@ int rthal_timer_request(void (*tick_hand if (cpu > 0) goto out; - rthal_timer_set_oneshot(1); - err = rthal_irq_request(RTHAL_APIC_TIMER_IPI, (rthal_irq_handler_t) tick_handler, NULL, NULL); @@ -236,6 +234,8 @@ int rthal_timer_request(void (*tick_hand "rthal_broadcast_timer", &rthal_broadcast_to_local_timers); + rthal_timer_set_oneshot(1); + /* * rthal_timer_set_oneshot assumes the host tick flows via * RTHAL_TIMER_IRQ, but that's not the case for legacy x86_64.