You are not logged in.
Hello,
I am really not sure if this is an Arch specific question but i thought i would try anyways.
System:
CPU: i7-3820
output of relevant commands:
$ lsmod | grep virtio
virtio_net 49152 0
virtio_gpu 61440 0
ttm 122880 1 virtio_gpu
virtio_ring 28672 2 virtio_net,virtio_gpu
virtio 16384 2 virtio_net,virtio_gpu
drm_kms_helper 200704 2 virtio_gpu,nvidia_drm
drm 466944 12 virtio_gpu,ttm,nvidia_drm,drm_kms_helper
$ lsmod | grep kvm
kvm_intel 176128 0
kvm 708608 1 kvm_intel
irqbypass 16384 1 kvm
$ groups :(
sys ftp uucp http games storage kvm sudo [USERNAME]
$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Core(TM) i7-3820 CPU @ 3.60GHz
stepping : 7
microcode : 0x710
cpu MHz : 1199.984
cache size : 10240 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass
bogomips : 7202.06
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
<... and so in and so on ...>
Problem:
When i run the Android Emulator i get the following output:
$ LD_LIBRARY_PATH=/home/[USERNAME]/Android/Sdk/emulator/lib64/qt/lib:/home/[USERNAME]/Android/Sdk/emulator/lib64/libstdc++:/home/[USERNAME]/Android/Sdk/emulator/lib64/gles_angle11:/home/[USERNAME]/Android/Sdk/emulator/lib64/gles_angle9:/home/[USERNAME]/Android/Sdk/emulator/lib64/gles_angle:/home/[USERNAME]/Android/Sdk/emulator/lib64/gles_swiftshader:/home/[USERNAME]/Android/Sdk/emulator/lib64:/opt/opencascade/lib ./qemu-system-x86_64 -netdelay none -netspeed full -avd Pixel_2_XL_API_P -qemu -L /usr/share/qemu/ -m 2048 -enable-kvm
warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
emulator: Saving state on exit with session uptime 522441 ms
CPUID.80000001H:ECX.abm is referring to https://en.wikipedia.org/wiki/SSE4#POPCNT_and_LZCNT which my cpu should support as it has SSE4.2
The emulator works but is very slow (it seems it is not operating in KVM mode because of this).
Question:
Has anyone ever had a similar Issue and knows the underlying problem OR know where i could have made a mistake.
Offline
Looking at the wikipedia article you linked it states
Intel implements POPCNT beginning with the Nehalem microarchitecture and LZCNT beginning with the Haswell microarchitecture.
The CPU you list https://ark.intel.com/products/63698/In … o-3_80-GHz is SandyBridge that predates Haswell.
Edit:
POPCNT is checked for in the cpuinfo flags, LZCNT is not https://github.com/torvalds/linux/blob/ … uid.c#L369
Edit2:
Clarification LZCNT is included in the ABM flag (Advanced Bit Manipulations) which indicates both POPCNT and LZCNT are present.
Last edited by loqs (2018-05-27 00:33:03)
Offline
The answer then is probably something like rtfm.. thank you, that solves the mystery (to me) why it didn't work.
Extra question:
does this mean that qemu launches in full emulation mode? (for lack of a better description)
Offline