[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] HAXM is now open source

From: Kamil Rytarowski
Subject: Re: [Qemu-devel] HAXM is now open source
Date: Fri, 17 Nov 2017 12:09:03 +0100
User-agent: Mozilla/5.0 (X11; NetBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0

On 17.11.2017 11:30, Yu Ning wrote:
> On 11/17/2017 16:53, Kamil Rytarowski wrote:
>> On 14.11.2017 09:54, Yu Ning wrote:
>>> Hello,
>>> As some of you may have noticed, since QEMU 2.9.0, an accelerator known
>>> as “hax” has been available for Windows and macOS builds of QEMU, thanks
>>> to the hard work of Vincent Palatin and help from this community (Paolo
>>> Bonzini, Stefan Weil, et al.).
>>> The accelerator requires a host kernel module (driver) known as Intel
>>> Hardware Accelerated Execution Manager (HAXM), i.e. intelhaxm.sys on
>>> Windows or intelhaxm.kext on macOS, similar to how the KVM accelerator
>>> depends on kvm.ko on Linux.
>>> Today, we released the source code of the HAXM kernel module under the
>>> BSD 3-clause license:
>>> https://github.com/intel/haxm
>>> We look forward to working with the community to improve HAXM (both the
>>> kernel module and the accelerator). The code is accompanied by some
>>> basic documentation (README.md and API.md), which is incomplete, but
>>> hopefully helps people get started. If you have any questions or
>>> suggestions, please create an issue or post a comment on GitHub.
>>> Thanks,
>>> Yu
>> Please make it clear whether this module can be ported (as host) to
>> other OSes
> It was designed with only Windows and Mac hosts in mind, and we don't
> plan to support more host OSes. But porting HAXM to another host OS is
> possible.  If you take a look at the HAXM source tree, there are pretty
> clear boundaries between host-independent code (core/, include/*.h),
> Windows-specific code (windows/, include/windows/) and Mac-specific code
> (darwin/, include/darwin/).

Sounds good. I will give it a try.

>>   and whether it can support arbitrary guests OSes (for the
>> same CPU).
> Unfortunately not, but again it can be done.  Initially HAXM was
> designed to support only two guest OSes, namely Android and Tizen. When
> we upstreamed the HAXM accelerator module to QEMU, we verified it using
> various desktop OS images, mostly Linux-based (Chrome OS, Debian,
> Ubuntu, CentOS, etc.), although there were a few others (FreeDOS, etc.).
> Nevertheless, you may run into issues when you boot a completely
> different guest OS (e.g. Windows, which we have never tested), or even
> with one that is similar to what I've mentioned (e.g. Fedora, which IIRC
> will boot to a kernel panic).  In such cases, the culprit is usually
> bug(s) in the HAXM kernel module, causing incorrect behavior when the
> guest executes certain x86 instructions.  Once all the bugs exposed by a
> specific guest OS are fixed, that guest OS will work correctly.

If it will run BSD for start it will be good enough for now.

Thank you for the answers!

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]