为不同的Intel平台交叉编译DPDK

本文介绍了如何为不同的Intel平台,如Atom、Core和Xeon,交叉编译DPDK。在DPDK编译时,通过设置TARGET模板指定平台,解决因平台指令不兼容导致的应用无法运行问题。文中以Intel Xeon E5645和Atom C3858为例,详细阐述了创建配置文件、修改平台名称以及设置-march参数的步骤,确保DPDK程序能在目标平台上正确运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DPDK开源社区与您共享初夏的清凉和煦

640?wx_fmt=png
640?wx_fmt=png

为不同的Intel平台交叉编译DPDK

在某些DPDK开发环境中,编译服务器是固定的(使用Xeon系列CPU),但DPDK应用的部署平台往往与编译服务器不同(Atom、Core和Xeon)。为了让编译器使用部分平台特有指令对软件进行优化,DPDK在编译时通过TARGET的第二个字段指定了平台(ARCH-MACHINE-EXECENV-TOOLCHAIN),目前用于i686、x86_64的TARGET模板使用的都是native,所以有时会导致DPDK应用在部署平台上无法运行。

本文所引用的代码和DPDK程序均来自DPDK-17.11,编译器使用gcc 4.8.5。

下面的l2fwd是在Intel® Xeon E5 2658v4设备上使用T=x86_64-native-linuxapp-gcc编译的,无法在Intel® Atom C3858上运行,提示程序中含有非法的指令:

640?wx_fmt=png

TARGET模板对应的配置文件都在config/目录中,文件名字以defconfig_开头。

在config/defconfig_x86_64-native-linuxapp-gcc中,“native”赋值给了 CONFIG_RTE_MACHINE:

640?wx_fmt=png

在DPDK进行编译时,会:

根据CONFIG_RTE_MACHINE查找mk/machine中保存的每个平台的编译参数&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值