转载请注明出处,谢谢。
一、Before main:
在main函数运行之前,通过gcc的构造函数,完成总线到链表中的注册,且完成各种pmd驱动到某类总线的注册,完成几类全局变量的数据关系。
gcc的构造函数
gcc的constructor函数属性,可以让该函数在main函数之前运行,且可以指定函数运行的优先级,优先级>100,且值越小优先级越高。
ether dev初始化用到的是RTE_PRIORITY_BUS这个level的优先级。
#define RTE_INIT_PRIO(func, prio) \
static void __attribute__((constructor(RTE_PRIO(prio)), used)) func(void)
#define RTE_PRIORITY_LOG 101
#define RTE_PRIORITY_BUS 110
#define RTE_PRIORITY_CLASS 120

最低0.47元/天 解锁文章
2083

被折叠的 条评论
为什么被折叠?



