Giter Site home page Giter Site logo

intel / haxm Goto Github PK

View Code? Open in Web Editor NEW
3.2K 3.2K 861.0 1.47 MB

Intel® Hardware Accelerated Execution Manager (Intel® HAXM)

License: BSD 3-Clause "New" or "Revised" License

C 83.98% C++ 9.89% Assembly 2.05% Makefile 0.26% Shell 0.07% CMake 0.11% NSIS 3.03% Batchfile 0.61%

haxm's Introduction

DISCONTINUATION OF PROJECT

This project will no longer be maintained by Intel.

Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.

Intel no longer accepts patches to this project.

If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.

Contact: [email protected]

Status

HAXM was created to bring Intel Virtualization Technology to Windows and macOS users. Today both Microsoft Hyper-V and macOS HVF have added support for Intel Virtual Machine Extensions. We have therefore decided to retire the HAXM project. HAXM v7.8.0 is our last release and we will not accept pull requests or respond to issues after this.

Intel Hardware Accelerated Execution Manager (HAXM)

HAXM is a cross-platform hardware-assisted virtualization engine (hypervisor), widely used as an accelerator for Android Emulator and QEMU. It has always supported running on Windows and macOS, and has been ported to other host operating systems as well, such as Linux and NetBSD.

HAXM runs as a kernel-mode driver on the host operating system, and provides a KVM-like interface to user space, thereby enabling applications like QEMU to utilize the hardware virtualization capabilities built into modern Intel CPUs, namely Intel Virtualization Technology.

Downloads

The latest HAXM release for Windows and macOS hosts are available here.

Contributing

Detailed instructions for building and testing HAXM can be found at:

If you would like to contribute a patch to the code base, please also read these guidelines.

Reporting an Issue

You are welcome to file a GitHub issue if you discover a general HAXM bug or have a feature request.

However, please do not use the GitHub issue tracker to report security vulnerabilities. If you have information about a security issue or vulnerability with HAXM, please send an email to [email protected], and use the PGP key located at https://www.intel.com/security to encrypt any sensitive information.

Code of Conduct

This project has adopted the Contributor Covenant, in the hope of building a welcoming and inclusive community. All participants in the project should adhere to this code of conduct.

haxm's People

Contributors

agentoak avatar alexaltea avatar coxuintel avatar hahoyou avatar hyuan3 avatar jarveson avatar junxiaoc avatar krytarowski avatar leecher1337 avatar martinlindhe avatar mborgerson avatar nevilad avatar polprog avatar psorokinacumatica avatar raphaelning avatar rdower avatar sevenqc avatar stweil avatar taogle2018 avatar wayne-ma avatar wcwang avatar yuleiwang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

haxm's Issues

HAXM does not work with Core 2 Duo CPU

I run Android emulator (latest Android development tools) with HAXM 7.0.0 and it looks like HAXM acceleration is not working since emulator boots really slowly e.g. it takes hours to boot and CPU usage is close to 100% all the time. Any idea how to proceed and diagnose problems with HAXM?

In emulator log it says:
Warning: Quick Boot / Snapshots not supported on this machine. A CPU with EPT + UG features is currently needed. We will address this in a future release.
emulator: CPU Acceleration: working
emulator: CPU Acceleration status: HAXM version 7.0.0 (4) is installed and usable.

Is this message coming from HAXM? How can I be sure that bug is or is not in HAXM? Any hint where to look? Full log attached.

Is there some debug mode in HAXM? Should I try to build locally on my computer some custom build for debugging purposes? How can I install built intelhaxm.kext, do I need to package it to .dmg? If so, how? Any hint is welcome. Thank you!

$ kextstat | grep intel
207 0 0xffffff7f83bbd000 0x1e000 0x1e000 com.intel.kext.intelhaxm (7.0.0) 823315F2-1275-377E-AFF9-E909857C3B2B <7 5 4 3 1>

emulator.log

macOS 10.13.3, MacBook mid 2010, Core 2 Duo 2.4GHz, 16GB RAM, 500GB SSD

EDIT: it doesn't work on Win 10 neither.

HAXM 7.3.2 breaks Hypervisor.framework inc. after uninstallation

Enviroment

Steps

  1. Install HAXM sudo ./HAXM\ installation
  2. Uninstall HAXM sudo /Library/Extensions/intelhaxm.kext/Contents/Resources/uninstall.sh

Was

1 core - qemu-system-x86_64 -accel hvf -cpu host -smp 1 -m 96 -hda arch.qcow2 - OK
2+ core - qemu-system-x86_64 -accel hvf -cpu host -smp 2 -m 96 -hda arch.qcow2 - OK

Became

1 core - qemu-system-x86_64 -accel hvf -cpu host -smp 1 -m 96 -hda arch.qcow2 - OK
2+ core - qemu-system-x86_64 -accel hvf -cpu host -smp 2 -m 96 -hda arch.qcow2 - FAIL

Option 1 (less cores/ram)

Hangs on Loading initial ramdisk ... with 100% CPU usage
default
default
No errors in console

Option 2 (more cores/ram)

Black screen.
Errors in console:

f5e05: decode_sldtgroup: 0
Unimplemented handler (f5e05) for 107 (f 0)
f5e0f: decode_sldtgroup: 4
Unimplemented handler (f5e0f) for 111 (f 0)

default

default

default

crash.log

Steps to repair

  • Shutdown/reboot (+ force) - no effect
  • Install+uninstall with sudo ./HAXM\ installation -u - no effect
  • Install+uninstall with sudo ./silent_install.sh -u - no effect
  • Reinstall macOS with data save - no effect
  • Fresh install macOS - no effect
  • Reset NVRAM + SMC - no effect

Kernel panic in macOS causing hard system hang

Currently trying to emulate an x86-based system using QEMU with HAXM on macOS. When using the HAXM accelerator, I'm able to cause a reproducible kernel panic which results in an entire system hard reset (making debugging a significant challenge). Appears to be related to the test instruction, or emulation thereof. Thanks!

Thu Sep  6 01:04:50 2018

*** Panic Report ***
panic(cpu 2 caller 0xffffff80267fd245): Kernel trap at 0x0000000000000000, type 14=page fault, registers:
CR0: 0x0000000080010033, CR2: 0x0000000000000000, CR3: 0x00000003e1de403b, CR4: 0x00000000001626e0
RAX: 0x0000000000000000, RBX: 0xffffff805256c000, RCX: 0x0000000000000000, RDX: 0x0000000000000004
RSP: 0xffffff9214523a48, RBP: 0xffffff9214523ac0, RSI: 0xffffff805256c770, RDI: 0xffffff805256c6a8
R8:  0xffffff80531a0dd8, R9:  0xffffff8026e7eff0, R10: 0x0000000000000000, R11: 0xffffff9214523ae0
R12: 0xffffff805256c6a8, R13: 0x00000000ffffffed, R14: 0xffffff92140a1000, R15: 0xffffff805256c748
RFL: 0x0000000000010246, RIP: 0x0000000000000000, CS:  0x0000000000000008, SS:  0x0000000000000010
Fault CR2: 0x0000000000000000, Error code: 0x0000000000000010, Fault CPU: 0x2, PL: 0, VF: 0

Backtrace (CPU 2), Frame : Return Address
0xffffff92145236d0 : 0xffffff80266e756c 
0xffffff9214523750 : 0xffffff80267fd245 
0xffffff9214523930 : 0xffffff80266985a3 
0xffffff9214523950 : 0x0 
0xffffff9214523ac0 : 0xffffff7fa9eebe24 
0xffffff9214523af0 : 0xffffff7fa9ee683e 
0xffffff9214523b60 : 0xffffff8026952c43 
0xffffff9214523b90 : 0xffffff80269480ee 
0xffffff9214523c10 : 0xffffff8026939874 
0xffffff9214523e10 : 0xffffff8026b50e3b 
0xffffff9214523e40 : 0xffffff8026b9b943 
0xffffff9214523f50 : 0xffffff8026c234d5 
0xffffff9214523fb0 : 0xffffff8026698d96 
      Kernel Extensions in backtrace:
         com.intel.kext.intelhaxm(7.3)[65C423BE-0315-30BD-8DA8-CABFE8487E10]@0xffffff7fa9ee5000->0xffffff7fa9f0cfff

BSD process name corresponding to current thread: qemu-system-x86_

Mac OS version:
16G1510

Kernel version:
Darwin Kernel Version 16.7.0: Thu Jun 21 20:07:39 PDT 2018;

IA32_APIC_BASE misemulated

Currently you folks seem to emulate it with

        case IA32_APIC_BASE: {
            *val = default_mem_addr;
            break;
        }

This does not deal with the bitflags in the low 12 bits of the register. In particular, there's the BSP flag (bit 8), which should read 1 on the bootstrap CPU

Cannot boot Linux with kernel and initrd images using QEMU

Booting Linux using QEMU via vmlinuz and initrd images results in lockups, kernel panics or "VCPU shutdown requests".

For example, when trying to boot latest RancherOS (https://github.com/rancher/os) via vmlinuz & initrd, QEMU shuts down with "VCPU shutdown request". Without HAXM acceleration, system boots just fine.
When trying to boot latest CoreOS the same way, system hangs during boot process and an older version of RancherOS (v1.0.0) panics with SIGSEGV in /sbin/init.

Platform: Windows 10 64-bit
HAXM: 6.2.1
QEMU: 2.11.0

dev/kvm & Digitally signed

Since the latest Haxm version update (7.2.0), Always the warning appears (/ dev / kvm is not found). Vtx is already active. Before the warning appears, a warning appears (windows require a digitally signed driver), which in the previous haxm version is no problem. How can I recover the previous version of haxm?

Intel HAXM Causes macOS 10.13.6 to hang on boot

After many support sessions with apple about me complaining that macOS would hang sometimes while booting we finally came to the conclusion that a 3rd party Kext was causing the system to hang.

At first I doubted it, but upon removing the IntelHAXM kext, The booting issues were resolved.

Im using a 2015 15" Macbook Pro Retina.

After some tries I can get into the OS, but most of the times it hangs there, it looks like booting on verbose mode increases my chances of booting, might be a placebo effect though.

Bellow is an screenshot of where the system hangs while booting. The version installed was 7.2.0

I want to make myself available for further tests if someone has any procedures for me to make in order to help with this issue, or what else can I post in order to help debug this.

img_8908

QEMU/HAXM does not work with -cpu max

While a qemu-system-x86_64.exe -cpu max works (until the BIOS boot loop, which is fine), a qemu-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.

BSOD Windows 10 crash with blue screen, intel core 2 Duo

Using this version of HAXM my windows 10 machine just crashes with BSOD.
Error in intelhaxm.sys
Using intel core 2 Duo;
8GB RAM.

Something has changed in the code to make this happen.

Same thing with version 7.3.0. Had to rollback to 7.1.0 to make the android emulator work.

AMD CPU support

(Feature request)

This is a followup to #4 which outright says that no Linux HAXM version is planned because of KVM.

I'd like to request AMD CPU support or at least wether intel would be willing to accept this into HAXM if implemented by a third party.

Reasoning

We already have HAXM and KVM which have small API differences.
For small teams (such as security researchers or hobbyists) it is already a hurdle to add support for both APIs to get their programs cross-platform. For developers it means learning the oddities of both APIs.
I think it would be a sane idea to add a wrapper around KVM, or create a new library called OpenVM or something to get rid of the API differences. But downloading hardware specific drivers would still hurt the end users experience.

If intel does not allow AMD support in HAXM this could lead to yet another API or project. It would also mean releasing different drivers, causing more user experience issues.
AMD VM support on Windows would probably be based on a HAXM fork anyway, so it would lead to unnecessary code duplication, possibly impacting maintainability or even security.

So my question is: Will we ever see AMD CPU support on this repo (not necessarily implemented by intel, but the community or even AMD); or is it against intels vision for HAXM?

BSOD on resume on Windows 10

Hi,

i have a BSOD crash after my system is in sleep mode and will resume. But not every time. The system has to be in sleep mode for some hours.

I found the already closed issues regarding SGX in your issue list. But none of the reported fixes works for me.
I own an Lenovo Thinkpad T480s with an i7-8550U with 24GB of RAM and have installed version 7.3.0 of HAXM.

After run an driver verify like described here the IntelHaxm.sys is reported as the driver who crashes the system.

Here is the strack trace from the memory.dmp:

STACK_TEXT:  
ffffd006`92757618 fffff804`26b5ae43 : 00000000`000000c4 00000000`00002000 fffff802`da2d33e8 00000000`00000000 : nt!KeBugCheckEx
ffffd006`92757620 fffff804`265b359b : fffff804`266b3300 00000000`00002000 fffff802`da2d33e8 00000000`00000000 : nt!VerifierBugCheckIfAppropriate+0xdf
ffffd006`92757660 fffff804`26b5264c : 00000000`484d454d fffff804`266b3300 fffff802`da2d33e8 ffffffff`80001b58 : nt!VfReportIssueWithOptions+0x103
ffffd006`927576b0 fffff804`26b50633 : 00000000`00000000 ffffd006`92757950 00000000`00000070 00000000`00000000 : nt!VfCheckPoolType+0x90
ffffd006`927576f0 fffff802`da2d33e8 : 00000000`00000000 00000000`00000001 ffffe586`74692b80 ffffd006`92757950 : nt!VerifierExAllocatePoolWithTag+0x53
ffffd006`92757740 fffff802`da2da5c3 : ffffe586`74692b80 ffffe586`74692b80 ffffd006`927577e0 00000000`20206f49 : IntelHaxm+0x33e8
ffffd006`92757770 fffff802`da2d21a3 : ffffe586`74692b80 00000000`00000001 ffffe586`743c6fd0 ffffd503`4d52afe0 : IntelHaxm+0xa5c3
ffffd006`927577a0 fffff802`da2fb020 : ffffe586`00000200 ffffe586`746a2000 00000000`00000000 ffff3503`11ff2728 : IntelHaxm+0x21a3
ffffd006`92757820 fffff804`268dabc5 : 00000000`00000000 00000000`00000000 ffffe586`74692b80 00000000`00001000 : IntelHaxm+0x2b020
ffffd006`92757850 fffff804`268d9e6a : ffffe586`6e3580a8 00000000`00000000 00000000`00000100 ffffe586`654dfb70 : nt!IopLoadDriver+0x4bd
ffffd006`92757a30 fffff804`2630611a : ffffe586`00000000 ffffffff`80001b58 ffffe586`6c782080 ffffd006`00000000 : nt!IopLoadUnloadDriver+0x4a
ffffd006`92757a70 fffff804`263ca6c5 : ffffe586`6c782080 ffffe586`654a1300 ffffe586`6c782080 000024ed`bd9bbfff : nt!ExpWorkerThread+0x16a
ffffd006`92757b10 fffff804`2646138c : ffffc001`911b9180 ffffe586`6c782080 fffff804`263ca670 00000000`00000000 : nt!PspSystemThreadStartup+0x55
ffffd006`92757b60 00000000`00000000 : ffffd006`92758000 ffffd006`92751000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x1c

I can provide the full Memory.dmp (700MB) if it helps for find the bug.

Thanks for your help & Regards
Andreas

Cannot boot from virtio or AHCI?

While being able to access virtio devices while the system is running, it appears that it cannot boot from interfaces other than the default? It seems that the bios can't see the devices.

QEMU/haxm: Multiple segmentation faults on Ubuntu 18.04

While installation of a Ubuntu 16.04 works fine with qemu 2.11 and haxm 7.1, 18.04 produces multiple user mode segmentation faults in the guest on early steps and eventually hangs. The netboot images can be obtained from http://de.archive.ubuntu.com/ubuntu/dists/artful/main/installer-amd64/current/images/netboot/netboot.tar.gz .

Parameters:
-m 1024 -smp 2 -rtc base=utc -drive file=temp.vmdk,if=virtio,detect-zeroes=unmap,discard=unmap -drive file=fat:rw:fat-type=32:label=kernel:C:\temp,format=raw,if=virtio -vga std -device virtio-net,netdev=natted -netdev user,id=natted -kernel linux_initrd/linux -initrd linux_initrd/initrd.gz -append "nofb fb=false pti=off interface=auto auto=true" -nodefaults

Cannot start ubuntu, archlinux ... with hax

I have qemu windows build 2.12.90, haxm 7.2.0. Ubuntu, nor arch linux does not works when i turn on hax acceleration. Permanent kernel panics, black screen freezing and other crashes happens when i run qemu.
Qemu crashed with hax - when i ran it from iso. It crashed on already installed system - it's not matters.

Versions:
archlinux-2018.07.01-x86_64
ubuntu-18.04-live-server-amd64.iso

I run qemu-system-x86_64.exe binary.

qemu-system-x86_64.exe -drive file=build_slave.img,index=0,media=disk,format=qcow2 -m 2G -accel hax -name build_slave

My CPU:
core i7 2600k

My Host:
Windows 7 64bit

2018-07-11_15-49-15

HAXM v7.3.0 causes Kernel Panic on Mac OS 10.13.6 (Hackintosh)

Hi. It's an older iMac with Intel Core 2 Duo T9300 2.5 GHz Prozessor. If you don't like to support Hackintoshes, than it's not a big Problem. But if it's not hard to find the problem it would be nice.

Anonymous UUID: 7B0CB048-AD3B-D799-9DD0-0FE11C7B776D

Wed Sep 19 19:27:24 2018

*** Panic Report ***
panic(cpu 0 caller 0xffffff8010f8776f): Kernel trap at 0xffffff7f947fc102, type 13=general protection, registers:
CR0: 0x0000000080010033, CR2: 0x0000000133bfa030, CR3: 0x000000001b643000, CR4: 0x00000000000026e0
RAX: 0x0000000020100800, RBX: 0x0000000000000002, RCX: 0x00000000c0000103, RDX: 0x0000000000000000
RSP: 0xffffff80e18139b8, RBP: 0xffffff80e1813a10, RSI: 0x000000000000001b, RDI: 0x00000000c0000103
R8: 0xffffff8030cefb60, R9: 0xffffff801168a630, R10: 0xffffff80e1813a68, R11: 0xffffff7f91b74810
R12: 0xffffff8024a82800, R13: 0xffffff7f9480cfc0, R14: 0xffffff7f9480d180, R15: 0xffffff8021774c00
RFL: 0x0000000000010046, RIP: 0xffffff7f947fc102, CS: 0x0000000000000008, SS: 0x0000000000000010
Fault CR2: 0x0000000133bfa030, Error code: 0x0000000000000000, Fault CPU: 0x0, PL: 0, VF: 0

Backtrace (CPU 0), Frame : Return Address
0xffffff8010d4c290 : 0xffffff8010e6c1c6
0xffffff8010d4c2e0 : 0xffffff8010f95274
0xffffff8010d4c320 : 0xffffff8010f87544
0xffffff8010d4c390 : 0xffffff8010e1e1e0
0xffffff8010d4c3b0 : 0xffffff8010e6bc3c
0xffffff8010d4c4e0 : 0xffffff8010e6b9fc
0xffffff8010d4c540 : 0xffffff8010f8776f
0xffffff8010d4c6b0 : 0xffffff8010e1e1e0
0xffffff8010d4c6d0 : 0xffffff7f947fc102
0xffffff80e1813a10 : 0xffffff7f947e8442
0xffffff80e1813a50 : 0xffffff7f947e8752
0xffffff80e1813ab0 : 0xffffff7f947ece3a
0xffffff80e1813ae0 : 0xffffff7f947e783e
0xffffff80e1813b50 : 0xffffff80110d6eb1
0xffffff80e1813b80 : 0xffffff80110cc6bf
0xffffff80e1813c00 : 0xffffff80110bef8b
0xffffff80e1813e00 : 0xffffff80112f7c63
0xffffff80e1813e30 : 0xffffff801134835c
0xffffff80e1813f40 : 0xffffff8011403968
0xffffff80e1813fa0 : 0xffffff8010e1e9c6
Kernel Extensions in backtrace:
com.intel.kext.intelhaxm(7.3)[65C423BE-0315-30BD-8DA8-CABFE8487E10]@0xffffff7f947e6000->0xffffff7f9480dfff

BSD process name corresponding to current thread: qemu-system-i386
Boot args: -no_compat_check

Mac OS version:
17G65

Kernel version:
Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71.2~1/RELEASE_X86_64
Kernel UUID: 1AE5ACFD-3B6F-3D74-AD52-31F1430DBC6F
Kernel slide: 0x0000000010c00000
Kernel text base: 0xffffff8010e00000
__HIB text base: 0xffffff8010d00000
System model name: iMac7,1 (Mac-F4238CC8)

System uptime in nanoseconds: 427363865840761
last loaded kext at 261056714656597: com.apple.filesystems.apfs 748.51.0 (addr 0xffffff7f94816000, size 999424)
last unloaded kext at 261156477671235: com.apple.driver.AppleXsanScheme 3 (addr 0xffffff7f9480e000, size 32768)
loaded kexts:
com.intel.kext.intelhaxm 7.3.0
at.obdev.nke.LittleSnitch 4740
com.parrotgeek.SIPManager 1
com.apple.driver.AudioAUUC 1.70
com.apple.filesystems.autofs 3.0
com.apple.driver.AppleHWSensor 1.9.5d0
com.apple.driver.AppleUpstreamUserClient 3.6.5
com.apple.driver.AppleHDA 274.12
com.apple.kext.AMDLegacyFramebuffer 1.6.8
com.apple.AGDCPluginDisplayMetrics 3.20.13
com.apple.ATIRadeonX2000 10.0.4
com.apple.driver.pmtelemetry 1
com.apple.driver.AppleBacklight 170.9.10
com.apple.driver.AppleMCCSControl 1.5.5
com.apple.iokit.IOUserEthernet 1.0.1
com.apple.iokit.IOBluetoothSerialManager 6.0.7f10
com.apple.Dont_Steal_Mac_OS_X 7.0.0
com.apple.driver.AppleOSXWatchdog 1
com.apple.driver.ACPI_SMC_PlatformPlugin 1.0.0
com.apple.kext.AMD2600Controller 1.6.8
com.apple.iokit.CSRBluetoothHostControllerUSBTransport 6.0.7f10
com.apple.driver.AppleHV 1
com.apple.driver.AppleIntelSlowAdaptiveClocking 4.0.0
com.apple.driver.AppleLPC 3.1
com.apple.driver.AppleIRController 353
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0
com.apple.AppleSystemPolicy 1.0
com.apple.BootCache 40
com.apple.filesystems.hfs.kext 407.50.6
com.apple.iokit.SCSITaskUserClient 404.30.2
com.apple.driver.AirPort.BrcmNIC 1241.31.1a9
com.apple.driver.AppleAHCIPort 329.50.2
com.apple.driver.AppleIntelPIIXATA 2.5.1
com.apple.driver.AppleFWOHCI 5.5.9
com.apple.iokit.AppleYukon2 4.0.0
com.apple.driver.AppleRTC 2.0
com.apple.driver.AppleHPET 1.8
com.apple.driver.AppleACPIButtons 6.1
com.apple.driver.AppleSMBIOS 2.1
com.apple.driver.AppleACPIEC 6.1
com.apple.driver.AppleAPIC 1.7
com.apple.driver.AppleIntelCPUPowerManagementClient 220.50.1
com.apple.nke.applicationfirewall 183
com.apple.security.quarantine 3
com.apple.security.TMSafetyNet 8
com.apple.driver.AppleIntelCPUPowerManagement 220.50.1
com.apple.kext.triggers 1.0
com.apple.driver.DspFuncLib 274.12
com.apple.kext.OSvKernDSPLib 526
com.apple.driver.AppleBacklightExpert 1.1.0
com.apple.iokit.IONDRVSupport 519.20
com.apple.driver.AppleSMBusController 1.0.18d1
com.apple.iokit.IOSurface 211.15
com.apple.iokit.IOSerialFamily 11
com.apple.iokit.IOAVBFamily 680.2
com.apple.plugin.IOgPTPPlugin 680.15
com.apple.iokit.IOEthernetAVBController 1.1.0
com.apple.driver.IOPlatformPluginLegacy 1.0.0
com.apple.iokit.IOFireWireIP 2.2.9
com.apple.iokit.IOBluetoothHostControllerUSBTransport 6.0.7f10
com.apple.iokit.IOBluetoothHostControllerTransport 6.0.7f10
com.apple.iokit.IOBluetoothFamily 6.0.7f10
com.apple.driver.AppleHDAController 274.12
com.apple.iokit.IOHDAFamily 274.12
com.apple.iokit.IOAudioFamily 204.4
com.apple.vecLib.kext 1.2.0
com.apple.driver.AppleSSE 1.0
com.apple.AppleGPUWrangler 3.20.13
com.apple.AppleGraphicsDeviceControl 3.20.13
com.apple.iokit.IOSlowAdaptiveClockingFamily 1.0.0
com.apple.driver.IOPlatformPluginFamily 6.0.0d8
com.apple.kext.AMDLegacySupport 1.6.8
com.apple.iokit.IOGraphicsFamily 519.20
com.apple.driver.usb.IOUSBHostHIDDevice 1.2
com.apple.driver.usb.networking 5.0.0
com.apple.driver.usb.AppleUSBHostCompositeDevice 1.2
com.apple.filesystems.hfs.encodings.kext 1
com.apple.iokit.IOSCSIMultimediaCommandsDevice 404.30.2
com.apple.iokit.IOBDStorageFamily 1.8
com.apple.iokit.IODVDStorageFamily 1.8
com.apple.iokit.IOCDStorageFamily 1.8
com.apple.iokit.IOATAPIProtocolTransport 3.5.0
com.apple.iokit.IOAHCIBlockStorage 301.40.2
com.apple.iokit.IO80211Family 1200.12.2
com.apple.driver.mDNSOffloadUserClient 1.0.1b8
com.apple.driver.corecapture 1.0.4
com.apple.iokit.IOAHCIFamily 288
com.apple.iokit.IOATAFamily 2.5.3
com.apple.iokit.IOFireWireFamily 4.7.2
com.apple.driver.usb.AppleUSBEHCIPCI 1.2
com.apple.driver.usb.AppleUSBUHCIPCI 1.2
com.apple.driver.usb.AppleUSBUHCI 1.2
com.apple.driver.usb.AppleUSBEHCI 1.2
com.apple.driver.usb.AppleUSBHostPacketFilter 1.0
com.apple.iokit.IOUSBFamily 900.4.1
com.apple.driver.AppleUSBHostMergeProperties 1.2
com.apple.driver.AppleEFINVRAM 2.1
com.apple.driver.AppleEFIRuntime 2.1
com.apple.iokit.IOSMBusFamily 1.1
com.apple.iokit.IOHIDFamily 2.0.0
com.apple.security.sandbox 300.0
com.apple.kext.AppleMatch 1.0.0d1
com.apple.driver.AppleFDEKeyStore 28.30
com.apple.driver.AppleEffaceableStorage 1.0
com.apple.driver.AppleKeyStore 2
com.apple.driver.AppleUSBTDM 439.70.3
com.apple.driver.AppleMobileFileIntegrity 1.0.5
com.apple.iokit.IOUSBMassStorageDriver 140.70.2
com.apple.iokit.IOSCSIBlockCommandsDevice 404.30.2
com.apple.iokit.IOSCSIArchitectureModelFamily 404.30.2
com.apple.driver.AppleCredentialManager 1.0
com.apple.driver.KernelRelayHost 1
com.apple.iokit.IOUSBHostFamily 1.2
com.apple.driver.usb.AppleUSBCommon 1.0
com.apple.driver.AppleBusPowerController 1.0
com.apple.driver.AppleSEPManager 1.0.1
com.apple.driver.IOSlaveProcessor 1
com.apple.driver.DiskImages 480.60.1
com.apple.iokit.IOStorageFamily 2.1
com.apple.iokit.IOReportFamily 31
com.apple.iokit.IOTimeSyncFamily 680.15
com.apple.iokit.IONetworkingFamily 3.4
com.apple.driver.AppleACPIPlatform 6.1
com.apple.driver.AppleSMC 3.1.9
com.apple.iokit.IOPCIFamily 2.9
com.apple.iokit.IOACPIFamily 1.4
com.apple.kec.Libm 1
com.apple.kec.pthread 1
com.apple.kec.corecrypto 1.0

EOF
Model: iMac7,1, BootROM IM71.007A.B03, 2 processors, Intel Core 2 Duo, 400 MHz, 6 GB, SMC 1.20f4
Graphics: ATI Radeon HD 2600 Pro, ATI,RadeonHD2600, PCIe
Memory Module: BANK 0/DIMM0, 2 GB, DDR2 SDRAM, 667 MHz, 0x7F7F9E0000000000, 0x565332475344533636374432202020202020
Memory Module: BANK 1/DIMM1, 4 GB, DDR2 SDRAM, 667 MHz, 0x0000000000000000, -
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x133), Broadcom BCM43xx 1.0 (7.77.37.31.1a9)
Bluetooth: Version 6.0.7f10, 3 services, 26 devices, 1 incoming serial ports
Network Service: Ethernet, Ethernet, en0
Serial ATA Device: Samsung SSD 840 EVO 1TB, 1 TB
Parallel ATA Device: MATSHITADVD-R UJ-85J
USB Device: USB 2.0 Bus
USB Device: Built-in iSight
USB Device: USB 2.0 Bus
USB Device: USB Bus
USB Device: Bluetooth HCI
USB Device: USB Bus
USB Device: IR Receiver
USB Device: USB Bus
USB Device: USB Bus
USB Device: BCM2045A0
USB Device: USB Receiver
USB Device: USB Bus
Thunderbolt Bus:

can't support more than 4G memory for guest?

setup:

  • host: windows 7 professional 64bit
  • guest: centos 7
  • qemu 2.10.92
  • haxm 6.2.1
  • issue: when assign 4096M or more memory to the guest, I got following error message:
E:\qemuvm\vm-svr>qemu-system-x86_64 -accel hax -hda centos-1.vdi -m 4096
HAX is working and emulator runs in fast virt mode.
Failed to allocate 0 memory
hax_transaction_commit: Failed mapping @0x0000000000000000+0xc0000000 flags 00
hax_transaction_commit: Failed mapping @0x0000000100000000+0x40000000 flags 00
VCPU shutdown request
VCPU shutdown request

if I change memory to 4095M, guest VM boot up without issue

E:\qemuvm\vm-svr>qemu-system-x86_64 -accel hax -hda centos-1.vdi -m 4095
HAX is working and emulator runs in fast virt mode.

Contraint Layout Problem

Whenever i try to add a widget or a text box etc on the screen the following error occurs
This view is not constrained. It only has designtime positions, so it will jump to (0,0) at runtime unless you add the constraints The layout editor allows you to place widgets anywhere on the canvas, and it records the current position with designtime attributes (such as layout_editor_absoluteX). These attributes are not applied at runtime, so if you push your layout on a device, the widgets may appear in a different location than shown in the editor. To fix this, make sure a widget has both horizontal and vertical constraints by dragging from the edge connections.

Haxm causes Win10 BSOD when I am putting my computer to sleep

I read through this issue: #55 and did the suggested fix listed there, but I think in my case something else causes the problem.
Please help.
BSOD info:

Windows 8 Kernel Version 17134 MP (8 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 17134.1.amd64fre.rs4_release.180410-1804
Machine Name:
Kernel base = 0xfffff802`9d00d000 PsLoadedModuleList = 0xfffff802`9d3c71f0
Debug session time: Wed Jun 20 11:50:56.893 2018 (UTC - 4:00)
System Uptime: 0 days 0:50:20.716
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

MEMORY_MANAGEMENT (1a)
    # Any other values for parameter 1 must be individually examined.
Arguments:
Arg1: 0000000018011544, The subtype of the bugcheck.
Arg2: ffffd0cac004a7f8
Arg3: ffffffffc000001d
Arg4: 0000000000000000

Debugging Details:
------------------

TRIAGER: Could not open triage file : e:\dump_analysis\program\triage\modclass.ini, error 2

BUGCHECK_STR:  0x1a_18011544

CUSTOMER_CRASH_COUNT:  1

DEFAULT_BUCKET_ID:  WIN8_DRIVER_FAULT

PROCESS_NAME:  WUDFHost.exe

CURRENT_IRQL:  0

LAST_CONTROL_TRANSFER:  from fffff8029d76d826 to fffff8029d1a5330

STACK_TEXT:  
ffffea0a`ad147498 fffff802`9d76d826 : 00000000`0000001a 00000000`18011544 ffffd0ca`c004a7f8 ffffffff`c000001d : nt!KeBugCheckEx
ffffea0a`ad1474a0 fffff802`9d081be5 : 00000000`000b9c42 00000000`000b9c42 00000000`01d0070a 00000000`00000001 : nt!MiDeleteEnclavePages+0x96
ffffea0a`ad1474e0 fffff802`9d0e5f36 : 00000000`1c6e8fff 00000000`1c6e8000 00000000`00000000 fffff802`9d0ba0ab : nt!MiDeleteVad+0x125
ffffea0a`ad147810 fffff802`9d4cceeb : 00000000`00000000 00000000`00000000 ffffc089`78093110 fffff802`9d0ba4bf : nt!MiFreeVadRange+0x92
ffffea0a`ad147870 fffff802`9d4ccb3b : 00000000`00000000 00000000`00000000 0000006d`2ca7ec30 000001c6`e7335c30 : nt!MmFreeVirtualMemory+0x37b
ffffea0a`ad1479a0 fffff802`9d1b5943 : ffffc089`6a5f2040 000001c6`e7312550 00007ff9`11b9d138 00007ff9`11b9d130 : nt!NtFreeVirtualMemory+0x8b
ffffea0a`ad147a00 00007ff9`17ada274 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
0000006d`2ca7ee58 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x7ff9`17ada274


STACK_COMMAND:  kb

FOLLOWUP_IP: 
nt!MiDeleteEnclavePages+96
fffff802`9d76d826 cc              int     3

SYMBOL_STACK_INDEX:  1

SYMBOL_NAME:  nt!MiDeleteEnclavePages+96

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: nt

DEBUG_FLR_IMAGE_TIMESTAMP:  5b1a4590

IMAGE_NAME:  memory_corruption

FAILURE_BUCKET_ID:  X64_0x1a_18011544_nt!MiDeleteEnclavePages+96

BUCKET_ID:  X64_0x1a_18011544_nt!MiDeleteEnclavePages+96

Followup: MachineOwner
---------

OS: Windows 10 pro,
CPU: Intel i7 8550U @ 1.8GHz
HAXM: 7.2.0
AVD: Nexus 5X API 25, Android 7.1.1 Google Play, CPU/ABI x86 (these are the defaults)
( I am on a dell xps 13 9370 uhd model )
link to my dump file: https://drive.google.com/open?id=1AJYcjimewO_9lkzYR3-SuXp-6ZQUj3Mm
Thank you for your support in advance.

Nested virtualization support

Hello,

we are trying to have docker images with running android emulators (QEMU). In order to allow acceleration in any environment HAXM would need to support nested virtualisation. I guess this is an interesting use case not just for Android Emulators but for other virtualisation environments/tools
Here are the details from the support ticket for Android Emulator.

https://issuetracker.google.com/issues/79499949

Would it be possible to create nested virtualization support and what effort would it take, it would be nice if we could kickstart this.

Thanks

the old version cant be removed, update err!

image
helper me, and this bad version name is 6.0.3, if you can send me with a hax64.msi at that version, in china, it's hard to find a way to download this. hear for your email, thanks

haxm_loader.c buffer overflow

int DriverInstall(char *sysFileName)
{
    HANDLE fileHandle;
    UCHAR driverLocation[MAX_PATH]; // [1]
    SC_HANDLE hSCManager = NULL;
    SC_HANDLE hService = NULL;
    int retval = 1;

    GetCurrentDirectory(MAX_PATH, (LPTSTR)driverLocation);
    strcat((char *)driverLocation, "\\");
    strcat((char *)driverLocation, sysFileName); // [2]

unbounded strcat() [2] into a fixed-length buffer [1].

building from source

trying to build this on os 10.9
I did xcodebuild -config Release -sdk macosx10.9
getting this error
clang: error: unknown argument: '-fstack-protector-strong

xcode version 6.2(6C131e)

Not Digitally Signed driver

My dears,

Looks like you forgot to digitally sign the driver on version 7.2, it can't be installed normally without bypassing windows security.

Unable to destroy VM

Sometimes, after lots of reinstalling+testing of HAXM while working on it, I encounter one mysterious issue that occurs rather unfrequently (this is the third time that happened to me in the past 3 months). When trying to uninstall the driver, following error shows up:

haxm_error:Still VM not be destroyed?

This prevents the drivers from being reinstalled and forces me to reboot Windows to continue working on HAXM. I'm still confused as to what causes this issue, or how to debug it. Any ideas would be appreciated.

Cannot boot a Windows ISO image from cdrom using HAXM accelerator in QEMU

Running the following command:

qemu-system-x86_64 -accel hax -cdrom Windows2016.iso -m 4095M

Yields the following error message in the virtual machine:

CDBOOT: Couldn't find BOOTMGR

QEMU reports:

HAX is working and emulator runs in fast virt mode.

Running the same command with -accel tcg works as expected.

Qemu version:
QEMU emulator version 2.11.0

Intel HAXM version:
v6.2.1

Environment:
Intel Core i7-7820HQ
Virtualization in BIOS enabled
Windows 10 64-bit
Hyper-V disabled

image

HAXM v7.2.0 causes Kernel Panic on Mac OS 10.13.6

I'm on MacBook Pro 2017 and MacOS 10.13.6.
I've been getting a lot of Kernel Panic lately and looking at the Kernel Panic logs I see:

Anonymous UUID:       301B0DFE-B9A8-346A-DCC7-12599D9BB903

Tue Jul 31 12:54:39 2018

*** Panic Report ***
panic(cpu 0 caller 0xffffff800b499785): "Graphics firmware encountered an exception: 0xd, from EIP = 0x10348\n"@/Library/Caches/com.apple.xbs/Sources/GPUDriversIntel/GPUDriversIntel-10.36.19/Common/GLKernel/Intel/kbl/sched3/IGGuC.cpp:800
Backtrace (CPU 0), Frame : Return Address
0xffffff922db13c20 : 0xffffff800ae6c1c6 
0xffffff922db13c70 : 0xffffff800af95274 
0xffffff922db13cb0 : 0xffffff800af87544 
0xffffff922db13d20 : 0xffffff800ae1e1e0 
0xffffff922db13d40 : 0xffffff800ae6bc3c 
0xffffff922db13e70 : 0xffffff800ae6b9fc 
0xffffff922db13ed0 : 0xffffff800b499785 
0xffffff922db13f30 : 0xffffff800b497ef2 
0xffffff922db13f70 : 0xffffff800b49752c 
0xffffff922db13fa0 : 0xffffff800ae1d557 

BSD process name corresponding to current thread: kernel_task

Mac OS version:
17G65

Kernel version:
Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71.2~1/RELEASE_X86_64
Kernel UUID: 1AE5ACFD-3B6F-3D74-AD52-31F1430DBC6F
Kernel slide:     0x000000000ac00000
Kernel text base: 0xffffff800ae00000
__HIB  text base: 0xffffff800ad00000
System model name: MacBookPro14,1 (Mac-B4831CEBD52A0C4C)

System uptime in nanoseconds: 117807091893481
last loaded kext at 110664492470936: com.apple.driver.usb.IOUSBHostHIDDevice	1.2 (addr 0xffffff7f8dd4e000, size 45056)
last unloaded kext at 115541287240759: com.apple.driver.usb.AppleUSBHostCompositeDevice	1.2 (addr 0xffffff7f8d1ec000, size 28672)
loaded kexts:
com.intel.kext.intelhaxm	7.2.0
com.apple.filesystems.smbfs	3.2.3
com.apple.nke.rvi	2.0.0
com.apple.driver.AudioAUUC	1.70
com.apple.driver.AppleGraphicsDevicePolicy	3.20.13
com.apple.AGDCPluginDisplayMetrics	3.20.13
com.apple.driver.AppleHV	1
com.apple.iokit.IOUserEthernet	1.0.1
com.apple.iokit.IOBluetoothSerialManager	6.0.7f10
com.apple.driver.AGPM	110.23.37
com.apple.driver.ApplePlatformEnabler	2.7.0d0
com.apple.driver.X86PlatformShim	1.0.0
com.apple.driver.pmtelemetry	1
com.apple.driver.AppleUpstreamUserClient	3.6.5
com.apple.Dont_Steal_Mac_OS_X	7.0.0
com.apple.driver.AppleIntelKBLGraphics	10.3.6
com.apple.driver.AppleHDA	281.52
com.apple.driver.AppleThunderboltIP	3.1.1
com.apple.driver.AppleBacklight	170.12.6
com.apple.driver.eficheck	1
com.apple.driver.AppleIntelPCHPMC	2.0.1
com.apple.driver.AppleOSXWatchdog	1
com.apple.driver.AppleSMCLMU	211
com.apple.driver.AirPort.BrcmNIC	1241.31.1a9
com.apple.driver.AppleIntelSlowAdaptiveClocking	4.0.0
com.apple.driver.AppleCameraInterface	6.01.2
com.apple.driver.AppleMCCSControl	1.5.5
com.apple.driver.AppleIntelKBLGraphicsFramebuffer	10.3.6
com.apple.filesystems.autofs	3.0
com.apple.filesystems.apfs	748.51.0
com.apple.filesystems.hfs.kext	407.50.6
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless

Any Idea how to fix it?

No support for Windows guests

I have tried running a Windows 10 ISO (v1804, 64-bit) image on stock QEMU v2.12.50 + HAXM v7.3.2.
However, it seems to get stuck during the kernel boot sequence, i.e. the one with black background and a blue Windows logo. After few minutes, the host kernel crashes (which is also Windows 10 64-bit).
This also affects older Windows versions, such as Windows 7.

I have noticed that previous attempts to run Windows guests where unsuccessful, see #45. However, back then it was due to unsupported instruction emulation, which nowadays has been vastly improved. Do you know what might be causing this? If not, I can always investigate this.

I would be happy to submit a patch adding support for Windows guests myself. Feel free to point me in the right direction if you have any extra information!

haxm much slower than kvm?

PC with haxm: i7 6820HQ, 16 GB RAM, NVMe SSD - Windows 7, haxm 7.1, qemu 2.11 - 64 bit
PC with kvm: i7-5500U, 16 GB RAM, SATA SSH - Ubuntu 18.04, kernel 4.15, qemu 2.11 - 64 bit

A simple Ubuntu 16.04 installation lasts 16 minutes on the haxm-PC, but only 7 minutes on the kvm-PC...
Is there a technical reason for that or more a bug / inefficiency somewhere?

HAMX v7.3.0 can not run kernel-qemu

I installed HAMX v7.3.0 and start an avd using kernel-qemu, but the avd can not start normally. The log repeatly shows : "emulator: Trying to vcpu execute at eip:8b68fb".
but the avd can normally start if using HAMX v7.2.0 or using kernel-ranchu

By the way, my need is to start an avd without the floating toolbar on the right and I couldn't find a way to hide the floating toolbar, so I have to use the SDK tools(emulator.exe) v24.4.1. But it seems that SDK tools v24.4.1 can only start kernel-qemu and can not start kernel-ranchu, and I found the above problem. If there is a way to hide the floating toolbar, please tell me.

HAXM says Hyper-V is enabled when Windows says it is not

I continually get an error when trying to install haxm that says:
"This computer does not support Intel Virtualization Technology (VT-x) or it is being exclusively used by Hyper-V."
When I run "emulator-check.exe accel hyper-v" in a command prompt I get the following:


accel:
0
HAXM is not installed, but Windows Hypervisor Platform is available.
accel
hyper-v:
2
Hyper-V is enabled
Hyper-V


However, Windows shows that it is not enabled:
image
I've even made sure the services were not running and they aren't.
I've double, no triple, checked that virturalization is enabled in the BIOS - it is. I've not only restarted but cut power to the machine for a bit too.
I'm running a Lenovo Yoga X1. The processor is an Intel Core i7 6600U.
I'm running it on Windows 10 Enterprise version 1803, build 17134.228. x64
This is happening with version 7.3 of haxm.

I'm seriously at a loss as to what to do in order to install haxm. All the forums say to do the same thing which I've already done to no avail. Is it that the check incorrectly detects Hyper-V being enabled? Do I need to uninstall a specific KB?

Support AES-NI

Is the support of AES-NI just a matter of extending handle_cpuid_virtual() in vcpu.c - aka extending of cpu_features_2 as core/include/ia32.h have even already the definitions (feat_pclmulqdq and feat_aes)? If I understand the code right features which are not supported are already nuked?

Then I'll could try a (trivial) PR :-)

macOS Build Instructions need improvement

I encountered several issues when following the build instructions for macOS and loading my unsigned build.

Issue 1: SDKs

The Xcode project file is not configured to use the SDK that I had--this is briefly mentioned but not explicitly stated. The version which are installed can be queried with xcodebuild -showsdks. For me, on macOS 10.12.6, 10.13 was installed.

Issue 2: Issue with signed kernel extensions

Apparently macOS has a security feature which prevents installation of unsigned kernel extensions. This must be disabled when building for yourself. To do this, restart into recovery mode (hold CMD + R during reboot), then run terminal and execute csrutil disable.

Issue 3: Permission issue with loading kernel extension

Apparently the kext will not be loaded without sufficient permissions, necessitating:

sudo chown -R root:wheel intelhaxm.kext
sudo chmod -R 700 intelhaxm.kext

Issue 4: Symbol resolution failure during extension loading

I got an error message stating: The following symbols are unresolved for this kext: ... ___memcpy_chk
This can be resolved by adding a -D_FORTIFY_SOURCE=0 macro definition to the project. Source

Issue 5: Missing instructions for loading the kernel extension

The following command must be run:

sudo kextutil intelhaxm.kext

Then the following error messages may be displayed, despite the extension actually being loaded:

Diagnostics for intelhaxm.kext:
Code Signing Failure: not code signed
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "intelhaxm.kext"
kext signature failure override allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/path/to/haxm/darwin/hax_driver/com_intel_hax/build/Debug/intelhaxm.kext"

The extension can be unloaded with:

sudo kextunload intelhaxm.kext

Thanks!

"Failed to create HAX VM"

intelhaxm_failed

Hi guys, i am beginner in using Haxm. I am using android studio, when i try to launch emulator, its look like intelHaxm is not working properly. But when i check intelhaxm status in cmd prompt, it is "running".
just fyi, i already checked my computer VT status and its already enabled.

if anybody have any answer, please share and it will be very helpfull.

Last ubuntu 16.04 kernel does not work.

If I use the iso from http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/mini.iso (better: extract the kernel and initrd) it starts, but I get a VCPU shutdown requests after a few seconds and it hangs completely. The version of http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/xenial-netboot/mini.iso (trusty with current(?) xenial kernel and http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso (original xenial) are working fine. It works fine without haxm. I appended "nofb fb=false" to speed up things.

I'm using hax 7.0 + https://qemu.weilnetz.de/w64/qemu-w64-setup-20171217.exe .

Guest debugging support

Opening this issue as follow-up to the discussion in qemu-devel:
https://lists.gnu.org/archive/html/qemu-devel/2018-04/msg00030.html

Summarizing: Guest debugging is extremely relevant to debugging bootloaders/microkernels, or in my case, kernels that do not include debugging backends. Aside from the intrinsic value of this feature, it's also really beneficial to developers/researchers as neither WHPX (Windows) nor HVF (macOS) support guest debugging and while they remain closed-source this probably won't change.


This week I've started experimenting with guest debugging support on HAXM, but it's still too early to submit any patches (plus, this should probably coordinated with QEMU somehow). These are the key ideas (inspired by KVM):

  • Adding a HAX_VCPU_IOCTL_DEBUG ioctl (i.e. QEMU-to-HAXM) with a structure containing:
    • Flags to enable/disable debugging and specific features:
      This is meant to manage the guest state accordingly: e.g. if guest debugging via hardware breakpoints is enabled we should protect the guest drN values in the exit_dr_access handler. Additionally, to know where to redirect #BP, e.g. if software breakpoints are enabled forward to QEMU, otherwise forward to VM.
    • Values for debugging registers: dr0, dr1, dr2, dr3, dr6, dr7:
      They already are a self-contained way of describing hardware breakpoints, so no need to wrap that information in another layer of abstraction.
  • Adding a HAX_EXIT_DEBUG exit (i.e. HAXM-to-QEMU) with a structure containing:
    • Cause: Software breakpoint, hardware breakpoint, singlestep.
    • Value of: rip: For software breakpoint events.
    • Value of: dr6, dr7: For hardware breakpoint events.
  • Software breakpoints are managed by QEMU as an array of objects containing an address and the original byte at that instruction before patching int 3h (0xCC). Its lifecycle is:
    1. GDB: Sends break * command.
    2. QEMU: Creates/initializes hax_sw_brakpoint object and patches instruction with int 3h.
    3. HAXM: Runs the virtual machine, and returns to QEMU after hitting #BP.
    4. QEMU: Returns control to GDB.
    5. GDB: Sends continue command.
    6. QEMU: Reverts the instruction patch and single-steps.
    7. HAXM: Executes one instruction and returns.
    8. QEMU: Reapplies the instruction patch and resumes execution.
  • Hardware breakpoints are specified by directly writing into the guest drN register through the previously described ioctl.

Current experiments can be found in AlexAltea/orbital-qemu@77d61c7 (QEMU) and https://github.com/AlexAltea/haxm/tree/debug (HAXM). I'm facing some issues still:

  • Hardware breakpoints have no effect.
  • Software breakpoints trigger a triple fault, not a #BP.

Disclaimer: I haven't much experience with debuggers, so any feedback will be helpful.

PAT is disabled

My guest kernel requires PAT to be enabled, otherwise it will panic. The function handle_cpuid_virtual explicitly says that PAT is disabled [1], but I've seen PAT-related code in haxlib [2].

My question is: What's the current progress regarding PAT support? What needs to be done? I'd gladly work on it myself if necessary.

Haxm causes Win10 1804 BSOD when i shutting down my computer

BSOD dmp info "Probably caused by : memory_corruption ( nt!MiDeleteEnclavePages+96 )".
It seems have relation with intel sgx.
I have updated both sgx driver and haxm,no use.
I have disabled sgx driver,start up a android studio virtual device(use haxm),bosd remain.
Please help.

Why the software history was not kept?

Hi there,

I'm a researcher studying software evolution. As part of my current research, I'm studying the implications of open-sourcing a proprietary software, for instance, if the project succeed in attracting newcomers. However, I observed that some projects, like haxm, deleted the software history during the transition to open-source.

92900df

Knowing that software history is indispensable for developers (e.g., developers need to refer to history several times a day), I would like to ask haxm developers the following four brief questions:

  1. Why did you decide to not keep the software history?
  2. Do the core developers faced any kind of problems, when trying to refer to the old history? If so, how did they solve these problems?
  3. Do the newcomers faced any kind of problems, when trying to refer to the old history? If so, how did they solve these problems?
  4. How does the lack of history impacted on software evolution? Does it placed any burden in understanding and evolving the software?

Thanks in advance for your collaboration,

Gustavo Pinto, PhD
http://www.gustavopinto.org

Clean up API headers shared with user space

HAXM API should be clearly defined in a small set of header files that can be shared with user space (e.g. QEMU). Currently, however, external API definition is not cleanly separated from code specific to HAXM kernel module, and has fallen out of sync with QEMU. See this discussion for details.

Therefore, we should clean up the API headers and draw a line between external and internal code. Ideally, QEMU should be able to include the resulting shared headers as-is.

Isolinux 6.03 hangs

I'm trying to install linux distro under qemu with Intel HAXM acceleration.

Qemu version:
QEMU emulator version 2.10.95 (v2.11.0-rc5-11692-g50cdacc703-dirty)

Intel HAXM version:
v6.2.1

Environment:

  • Intel Core i5-4210M
  • Virtualization in BIOS enabled
  • Windows 10 64-bit
  • Hyper-V disabled

Steps to reproduce:

The same with:

  • archlinux-2017.12.01-x86_64.iso
  • CentOS-7-x86_64-NetInstall-1708.iso
  • debian-9.3.0-amd64-netinst.iso

Possible workaround:

  1. Do not use Intel HAXM
    Install OS without -accel hax and enable it after installation
  2. Load kernel without Isolinux
    • Extract linux and initrd.gz from (ubuntu) iso
    • Start qemu-system-x86_64 -m 4095 -accel hax -kernel linux -initrd initrd.gz -append vga=788

#GP on vmxon because cr0/cr4 fixed bits are not set

Hi,

The hax_create_vm() function when invoking invept() and then invept_smpfunc(), does not ensure before a "vmxon" that the fixed bits in CR0/CR4 are correctly set. It results in a general protection exception.

This may not happen under MacOS or Windows, because host CR0 is set by default with ET and NE. But trying to use HAXM in another environment can trigger the bug.

Dirty page logging

(Feature request)

KVM allows dirty page logging through the KVM_GET_DIRTY_LOG vm ioctl.
See https://www.kernel.org/doc/Documentation/virtual/kvm/api.txt for details.
To my knowledge this is currently not implemented in HAXM.

Reasoning

A similar feature for HAXM would allow speedup in emulation of certain systems.

If the guest system is sharing memory between the GPU and CPU, the emulation host could know which resources used in the GPU have to be updated by inspecting the dirty page log.
Without such logging, the emulator or virtualization environment has to rely on either guessing (which might break graphics), hashing (which is considerable amount of additional work for the host) or more invasive techniques such as using the guest pagetable (which depends on knowledge about the guest code).

App Run Issue

When i run my app on my AVD the AVD screen turns black and the following errors appear on the android Studio

13:21 Emulator: android/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetAttachedShaders:1608 error 0x501

13:21 Emulator: android/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetAttachedShaders:1608 error 0x501

13:21 Emulator: android/android-emugl

13:21 Emulator: /host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glDeleteProgram:1103 error 0x501

13:21 Emulator: android/android-emugl/host/libs/Transla

13:21 Emulator: tor/GLES_V2/GLESv2Imp.cpp:glDeleteProgram:1103 error 0x501

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.