[Top][All Lists]

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

[Qemu-devel] 答复: Cross-Platform KVM

From: Wincy Van
Subject: [Qemu-devel] 答复: Cross-Platform KVM
Date: Fri, 27 Sep 2013 18:11:49 +0800

I'm sorry for replying this mail for so long. 
I named the 'Cross-Platform KVM'  fvm  (    'f'    is the beginning of my name 
:)    ).

The kernel module is based on kvm-kmod 3.4, and the qemu (version 1.1~1.6) can 
be patched easily for fvm.
I named the kernel module vmmr0 (VMM in Ring0).
Not like the 'WinKVM' by Kazushi Takahashi, fvm is easy to compile and use. The 
build environment for windows is mingw-w64.

I will sum up the internals of fvm, and release the docs and codes on github 
The code of vmmr0 is disordered, so I will reorganize it before releasing.

Before this, I commited a binary package for windows on github:


to use the fvm for windows, we should follow these steps:

you should have a computer which installed 64-bit windows 7 or higher.

1. enable  'Lock pages in memory' of current user in gpedit.msc:
        fvm use awe memory in order to lock guest 's page. Windows kernel do 
not have anything like             mmu_notifier    :(     

2.windows x64 needs driver signing, so enable testmode.

        bcdedit -set testsigning on

3.reboot your computer.

4.install the vmmr0.sys kernel module as service named 'vmmr0' and start it.

        execute in cmd:

        sc create vmmr0 binpath="(path to vmmr0.sys)" type=kernel start=demand
        net start vmmr0

5. all done! Let 's run kvm on windows.
        create a bat file , and type this in the target blank:
        (path to fvm-x86_64w.exe)  -drive 
file=D:\vm\linux-0.2.img,cache=writeback -machine accel=kvm,kernel_irqchip=off 
-cpu qemu64,-vmx -smp sockets=1,cores=1 -m 128 -soundhw hda -net 
nic,model=e1000 -net user -rtc base=localtime -vga vmware
        Save and run this bat as admin.

Known problems:
1. I have not implement the kernel_irqchip, so please disable the kirqchip 
support in cmdline like this:

        -machine accel=kvm,kernel_irqchip=off

2. the performance of windows x64 guests is poooor, I have not found the reason.

3. do not use vmware vga card if the guest is Ubuntu 12.04, or the qemu 
(version 1.3 )would core, qemu-1.6 is okay.

4. The mouse auto switching while running linux guests (Ubuntu, etc.) can not 
work. And the qemu will lost      response. Please use vnc to run Ubuntu.

5. If your cpu do not support ept, please give the guest only 1vcpu if the 
guest is 64 bit. Or the guest will corrupt.


发件人: address@hidden [mailto:address@hidden 代表 Andreas F?rber
发送时间: 2013年8月22日 星期四 2:49
收件人: Wincy Van; Wincy Van
抄送: address@hidden; kvm; Stefan Weil; address@hidden; kvm; Stefan Weil
主题: Re: [Qemu-devel] Cross-Platform KVM


Am 16.08.2013 09:41, schrieb Wincy Van:
> Hi,there:
>        I have implemented a version of cross-platform KVM. Now, it can 
> works on Linux and Windows(kernel version 7600-9200, amd64). Is it 
> useful? If so, I want make it as a branch of current KVM. Here are 
> some
> screenshots:

Let's CC the KVM mailing list.

More telling than screenshots would be some info about your code! Is there a 
public Git repository to look at? Is it based on a current kvm.git or some 
older Win32 KVM fork on SourceForge? If so, how invasive are your changes? Or 
is it a clean-room implementation of your own against the header/ioctl 
interface? How does it work technically? etc.


SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a 
message to address@hidden More majordomo info at  

reply via email to

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