qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: Status on ARM host cpu


From: Hollis Blanchard
Subject: Re: [Qemu-devel] Re: Status on ARM host cpu
Date: Mon, 17 Nov 2008 10:32:41 -0600

On Sat, Nov 15, 2008 at 9:12 AM, Steffen Liebergeld <address@hidden> wrote:
> Hi Paul,
>
> Paul Brook <address@hidden> schrieb:
>> On Friday 14 November 2008, Steffen Liebergeld wrote:
>>> Hi,
>>>
>>> I am currently researching of whether or not it is feasible to port kqemu
>>> to the ARM platform. The website says qemu on ARM hosts is in
>>> "testing"-state. Does that still apply to the latest svn-Version?
>>
>> Should just about work, though you should expect bugs.
>
>> However I advise using KVM and not kqemu. KVM has already been merged to
>> upstream kernels, and the chances of getting another hypervisor interface
>> merged are approximately zero.
>
> KVM is not an option for me (and is not available for the ARM-platform).
>
> I plan to port kqemu for the ARM-platform. Do have any estimates, for how much
> work would be needed to adopt the kqemu-Interface of qemu (which is
> x86-centric) to ARM (ignoring the effort needed to port the
> kqemu-kernel-module)?

To expand on what Jan said, I've implemented KVM on PowerPC 440 core,
which has no hardware virtualization support. I expect you're in the
same situation on ARM.

Basically you execute most guest instructions natively in hardware,
running in user mode. When the guest kernel attempts to perform a
privileged operation, you trap to supervisor mode and emulate it.
(Optionally, you can also patch the guest to prevent it from
attempting that operation in the first place.)

This is very feasible given the KVM interface -- the 440 support is
already working and merged upstream. I would strongly recommend
working with KVM instead of kqemu, if for no other reason than KVM has
a development community which can help you, and kqemu doesn't.

-Hollis




reply via email to

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