-
Notifications
You must be signed in to change notification settings - Fork 879
QEMU/HAXM does not work with -cpu max #38
Comments
Thanks for the bug report. According to QEMU
So does this replace the old This is indeed a problem we need to address. The plan is to provide new APIs for vCPU model customization, so HAXM guest can be launched with |
Yes, your summary is right. My main point was that haxm should not crash / hang using Yes, the vCPU is static for now. So my question is: Why makes specifing |
+1 I confirm issue, thou -cpu Haswell, SandyBridge is OK on my i7 system |
Same issue here |
It would be handy to support custom vCPU model with aid of PINTOOL, especially future one (can we please open-source Pin? we need NetBSD port). |
@krytarowski I'm not familiar with Pin, which is developed by a separate team at Intel. How can it help implement custom vCPU model support? |
https://software.intel.com/en-us/articles/intel-software-development-emulator SDE can emulate custom Intel CPUs... not sure if it's really combinable with HAXM (it might be difficult as pin is userland and hax kernel). |
I see what you mean now. I don't think we really need to emulate a custom CPU to test this feature. A simple test that dumps the CPUID feature flags as seen by the guest for both |
Continues with QEMU 4.2 on Win10 x64. |
This has been a problem for me for weeks and I could not determine why I cannot get cpu models to work under HAXM. I do not see any documentation about this limitation with HAXM so I am relieved to finally find this issue. Additionally, though I can pass multiple vCPUs to a Windows guest OS, it only ever uses one vCPU (even though device manager lists multiple CPUs). I have tried many permutations of smp settings of cores, threads, dies, and sockets, and none seem to make any difference to Windows' behaviour in this regard. It makes me wonder if that is being ignored as well, though I am too inexperienced to do anything beyond speculate on this. QEMU 4.2 HAXM 7.6.1 Windows 10 1909 x64 |
@Astrosynthesist, thanks for your report. We have studied this issue and considered that it should be a regression of HAXM v7.6.1. You may try to uninstall HAXM and download HAXM v7.5.6. @nevilad, after reverting the patch 5c4b6cb merged in PR #204, the issue of no multiple vCPUs could be resolved. Could you help to reproduce this issue by following approach after launching an AVD (Android Virtual Device) of Android R image? Thanks.
|
@Astrosynthesist Windows 10 1909 x64 is your host OS?
This issue is with Android Studio too? |
Yes, the patch number is exact. It added support for CPUID 4. According to SDM, the CPUID leaf 04H also reports data that can be used to derive the topology of processor cores in a physical package. Software can query the raw data reported by executing CPUID with EAX=04H and ECX=0.
I tested HAXM with 4 vCPUs but it only showed 1 vCPU. The issue also exists on Windows and can be reproduced on the latest Android R image.
No, it is impossible to download the built binary from Jenkins. But you can try the latest release on Windows and launch an AVD in Android Studio. You don't need to set up a Darwin build machine. Thanks. |
This issue was solved by #272, but it was not merged, because it does not run multicore guests on Mac. The source of the problem was cr8 support patch. I'm not able to debug it, because I need to make modifications to the code and test it. I don't have a darwin build and test machine. |
Thanks for your reply. I understand the current situation of the CR8 support problem. Sorry for not having time to collaborate with you to debug the macOS issue because of the performance issue of HAXM. We would like to spend time to resolve the CR8 support related issues in future, including both macOS and Windows. If there is some times before the next release, we will work with you to fix the current issues and merge related pull requests. Thanks for understanding. |
I'm suffering this issue as well. I'm writing a custom OS that requires RDRAND and it appears that HAXM is not exposing RDRAND to my guest, which requires it because it uses it to initialize RNGs and such. |
While a
qemu-system-x86_64.exe -cpu max
works (until the BIOS boot loop, which is fine), aqemu-system-x86_64.exe -cpu max -accel hax
hangs way before. The guest doesn't even initialize the GPU.Output:
C:\temp\preseed_installation\qemu_windows_x64>qemu-system-x86_64.exe -cpu max -accel hax
HAX is working and emulator runs in fast virt mode.
VCPU shutdown request
VCPU shutdown request
...
VCPU shutdown request
until I kill it.
Using qemu 2.11 and haxm 7.1.0 on a Windows 64 bit machine on a Intel Core i7 6820 HQ machine.
The text was updated successfully, but these errors were encountered: