qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Attempt at Mac OS X acceleration using "Hypervisor.Fram


From: Peter Maydell
Subject: Re: [Qemu-devel] Attempt at Mac OS X acceleration using "Hypervisor.Framwork"
Date: Thu, 12 Nov 2015 14:39:48 +0000

On 12 November 2015 at 10:49, Assaf Gordon <address@hidden> wrote:
> Starting with Mac OS X version 10.10.3, Apple provides a system-level
> hypervisor framework (similar to KVM's kernel driver functionality
> on Linux).

> This attached patch attempts to provide the infrastructure glue for
> qemu to use this framework (when compiled on Mac OS X). It is not
> yet functional, but enables the following:
>
>   ./configure --enable-hvf --target-list=x86_64-softmmu
>   qemu-system-x86_64 -machine accel=hvf [...]
>
> Please advise as to whether this is the right approach, and whether
> it's worth pursuing.

I think it would be nice to be able to support hardware acceleration
on OSX hosts, and I think the official Apple hypervisor APIs for this
are the right way to do that. The questions I have are:
 * how much code are we going to end up with in QEMU to support that?
   (I've been told that the Apple APIs are very basic and low level,
   so a lot of the code that in KVM is in the kernel to handle irqchips,
   instruction emulation, etc, would need to also be in QEMU for the
   benefit of OSX. We could probably take a lot of that from KVM,
   but then maintenance and tracking bugfixes that go into the kernel
   code would be an immense pain in the future.)
 * is the code going to come with somebody who will stick around and
   help us maintain it for the long term?
   (At the moment OSX is only a minimally supported platform for QEMU,
   because so few of the core developers use it for day to day development,
   so we don't have the capacity to take on maintenance of a lot of
   new code without new people to help)

There doesn't look to be anything particularly problematic with
the skeleton code in your patch, but I think it would be easier
to judge how the design should look if we had a discussion of
what the differences between the KVM API and the hypervisor
framework API are, where that would need more code in QEMU and
how we'd handle that.

thanks
-- PMM



reply via email to

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