Linux 内核 I-pipie ——移植 xenomai 函数缺失

 

+void ipipe_exit_cpuidle(void)
+{
+ /* unstall and re-enable hw IRQs too. */
+ local_irq_enable();
+}

 

 

+ notrace unsigned long long __ipipe_mach_get_tsc(void)
+ {
+ if (likely(davinci_timer_initialized)) {
+ union tsc_reg *local_tsc, result;
+ unsigned long stamp;
+ void __iomem *base = IO_ADDRESS(DAVINCI_TIMER0_BASE);
+
+ local_tsc = &tsc[ipipe_processor_id()];
+
+ __asm__("ldmia %1, %M0\n":
+ "=r"(result.full): "r"(local_tsc), "m"(*local_tsc));
+ barrier();
+ stamp = __raw_readl(base + TIM12);
+ if (unlikely(stamp < result.low))
+ result.high++;
+ result.low = stamp;
+ return result.full;
+ }
+ return 0;
+ }
+ EXPORT_SYMBOL(__ipipe_mach_get_tsc);

posted @ 2023-04-22 09:37  Roger_Lee  阅读(120)  评论(0)    收藏  举报