在virtualbox中启用popcnt

时间:2014-08-22 07:56:49

标签: virtualbox dpdk

我有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'

当我用

查看标志时
  

cat / proc / cpuinfo

     

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

没有" popcnt"。为什么?我能启用它还是我做错了什么?

由于

2 个答案:

答案 0 :(得分:0)

您可以使用__builtin_popcountll替换_mm_popcnt_u32,这样只会引入和使用sse3内在函数

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

答案 1 :(得分:0)

我的情况:带有 Hyper-V 的 VirtualBox v6.1.22 缺少 POPCNT

  1. 运行 VBoxManage setextradata VMName VBoxInternal/CPUM/IsaExts/POPCNT
  2. 在虚拟机上启用嵌套分页

它有效。