0

我有 Oracle VirtualBox 4.3.8 RC1 并安装了稳定版的 Debian。

使用此版本的 VirtualBox,我可以使用此命令启用 SSE4.1 和 SSE4.2:

VBoxManage setextradata "VM 名称" VBoxInternal/CPUM/SSE4.1 1

我想编译dpdk,http ://dpdk.org ,但是有一个错误:

"函数'_mm_popcnt_u32'的隐式声明</p>

当我看着旗帜时

猫 /proc/cpuinfo

标志: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht 系统调用 nx rdtscp lm constant_tsc rep_good nopl pni ssse3 sse4_1 sse4_2 lahf_lm

没有“popcnt”。为什么?我可以启用它还是我做错了什么?

谢谢

4

2 回答 2

0

您可以使用__builtin_popcountll to replace _mm_popcnt_u32,以便仅拉入和使用 sse3 内在函数

见这里: http: //permalink.gmane.org/gmane.comp.networking.dpdk.devel/4560

于 2014-08-28T09:08:56.667 回答
0

我的情况:POPCNT在带有 Hyper-V 的 VirtualBox v6.1.22 上丢失。

  1. VBoxManage setextradata VMName VBoxInternal/CPUM/IsaExts/POPCNT
  2. 在 VM 上启用嵌套分页。

有用。

于 2021-05-17T08:30:57.183 回答