ddk50 / winkvm Goto Github PK
View Code? Open in Web Editor NEWWinKVM: porting Linux KVM to the Microsoft Windows
WinKVM: porting Linux KVM to the Microsoft Windows
Hi. I just realize that your great project is not only an alternative of Hyper-V but also provides a fancy layer to run Linux driver on Windows. I believe that both of them will be a great help to the open source clone of Windows - ReactOS, esp. the latter one since we don't have many Windows drivers on non-Intel platform.
However before we can do anything to integrate two projects, we have to make sure WinKVM is GPL-compatiable. While this is probably the case, I still hope you can include the license file under the root directory, just to make it super clear.
Thank you.
I am trying to compile winkvm as per instruction at https://github.com/ddk50/winkvm.
Compilation of kvmctldll and KVM drivers goers through fine.
But when I try to compile WinKVM driver, I get following errors. I grep'ed the code but I don't see these
identifier. Can you please let me know where can Ifind the definition of these?
Error 1 error C2065: 'WINKVM_GET_HUGE_NONPAGEAREA' : undeclared identifier c:\sw\winkvm\vcproj\user\winkvmuser\user.c 137 1 winkvmuser
Error 2 error C2065: 'WINKVM_INIT_TESTMAP' : undeclared identifier c:\sw\winkvm\vcproj\user\winkvmuser\user.c 250 1 winkvmuser
Error 3 error C2065: 'WINKVM_RELEASE_TESTMAP' : undeclared identifier c:\sw\winkvm\vcproj\user\winkvmuser\user.c 275 1 winkvmuser
Error 4 error C2065: 'WINKVM_TESTMAP' : undeclared identifier c:\sw\winkvm\vcproj\user\winkvmuser\user.c 300 1 winkvmuser
Error 5 error C2065: 'WINKVM_EXECUTE_TEST' : undeclared identifier c:\sw\winkvm\vcproj\user\winkvmuser\user.c 563 1 winkvmuser
Blue screen when run the winkvm.bat
The problem is occur in:
void kvm_exit_arch(void)
on_each_cpu(kvm_arch_ops->hardware_disable, NULL, 0, 1);
Maybe the kvm_arch_ops is NULL.
Symbol search path is: *** Invalid ***
*
Unable to load image ntoskrnl.exe, Win32 error 0n2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
*** ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe
Windows XP Kernel Version 2600 (Service Pack 3) UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Machine Name:
Kernel base = 0x804d8000 PsLoadedModuleList = 0x8055e720
Debug session time: Tue May 24 16:18:35.312 2011 (GMT+8)
System Uptime: 0 days 0:06:47.899
*
Unable to load image ntoskrnl.exe, Win32 error 0n2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
*** ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe
Loading Kernel Symbols
...............................................................
................................................................
..........
Loading User Symbols
Loading unloaded module list
...........
Unable to load image winkvmstab.sys, Win32 error 0n2
*** WARNING: Unable to verify timestamp for winkvmstab.sys
*** ERROR: Module load completed but symbols could not be loaded for winkvmstab.sys
*
Bugcheck Analysis *
*
Use !analyze -v to get detailed debugging information.
BugCheck 1000008E, {c0000005, a91ced24, a96bbbc8, 0}
***** Kernel symbols are WRONG. Please fix symbols to do analysis.
*** Your debugger is not using the correct symbols ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** Type referenced: nt!_KPRCB ***
*** Your debugger is not using the correct symbols ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** Type referenced: nt!_KPRCB ***
*
*
Probably caused by : winkvmstab.sys ( winkvmstab+1d24 )
kd> !analyze -v
*
Bugcheck Analysis *
*
KERNEL_MODE_EXCEPTION_NOT_HANDLED_M (1000008e)
This is a very common bugcheck. Usually the exception address pinpoints
the driver/function that caused the problem. Always note this address
as well as the link date of the driver/image that contains this address.
Some common problems are exception code 0x80000003. This means a hard
coded breakpoint or assertion was hit, but this system was booted
/NODEBUG. This is not supposed to happen as developers should never have
hardcoded breakpoints in retail code, but ...
If this happens, make sure a debugger gets connected, and the
system is booted /DEBUG. This will let us see why this breakpoint is
happening.
Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: a91ced24, The address that the exception occurred at
Arg3: a96bbbc8, Trap Frame
Arg4: 00000000
***** Kernel symbols are WRONG. Please fix symbols to do analysis.
*** Your debugger is not using the correct symbols ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** Type referenced: nt!_KPRCB ***
*** Your debugger is not using the correct symbols ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** Type referenced: nt!_KPRCB ***
*
*
ADDITIONAL_DEBUG_TEXT:
Use '!findthebuild' command to search for the target build information.
If the build information is available, run '!findthebuild -s ; .reload' to set symbol path and load symbols.
FAULTING_MODULE: 804d8000 nt
DEBUG_FLR_IMAGE_TIMESTAMP: 4c99dc35
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - "0x%08lx"
FAULTING_IP:
winkvmstab+1d24
a91ced24 8b400c mov eax,dword ptr [eax+0Ch]
TRAP_FRAME: a96bbbc8 -- (.trap 0xffffffffa96bbbc8)
ErrCode = 00000000
eax=00000000 ebx=89a09b40 ecx=00000001 edx=00000004 esi=8a29cb10 edi=8a3ce978
eip=a91ced24 esp=a96bbc3c ebp=a96bbc68 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010246
winkvmstab+0x1d24:
a91ced24 8b400c mov eax,dword ptr [eax+0Ch] ds:0023:0000000c=????????
Resetting default scope
DEFAULT_BUCKET_ID: DRIVER_FAULT
BUGCHECK_STR: 0x8E
LAST_CONTROL_TRANSFER: from 804f018f to a91ced24
STACK_TEXT:
WARNING: Stack unwind information not available. Following frames may be wrong.
a96bbc68 804f018f 89723028 8a3ce968 8a3ce968 winkvmstab+0x1d24
a96bbcb0 805bc466 00a09b40 00000000 89a09b28 nt+0x1818f
a96bbccc 805276ca 89a09b40 00000000 0000078c nt+0xe4466
a96bbcfc 805bd3d1 e29317c0 89a09b40 0000078c nt+0x4f6ca
a96bbd44 805bd509 0000078c 00000001 00000000 nt+0xe53d1
a96bbd58 8054261c 0000078c 0022cb04 7c92e4f4 nt+0xe5509
a96bbd64 7c92e4f4 badb0d00 0022cb00 00000000 nt+0x6a61c
a96bbd68 badb0d00 0022cb00 00000000 00000000 0x7c92e4f4
a96bbd6c 0022cb00 00000000 00000000 00000000 0xbadb0d00
a96bbd70 00000000 00000000 00000000 00000000 0x22cb00
STACK_COMMAND: kb
FOLLOWUP_IP:
winkvmstab+1d24
a91ced24 8b400c mov eax,dword ptr [eax+0Ch]
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: winkvmstab+1d24
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: winkvmstab
IMAGE_NAME: winkvmstab.sys
BUCKET_ID: WRONG_SYMBOLS
kd> u
winkvmstab+0x1d24:
a91ced24 8b400c mov eax,dword ptr [eax+0Ch]
a91ced27 890424 mov dword ptr [esp],eax
a91ced2a e841fe0000 call winkvmstab+0x11b70 (a91deb70)
a91ced2f a150641ea9 mov eax,dword ptr [winkvmstab+0x19450 (a91e6450)]
a91ced34 ff5014 call dword ptr [eax+14h]
a91ced37 c7442404ef251ea9 mov dword ptr [esp+4],offset winkvmstab+0x155ef (a91e25ef)
a91ced3f c7042400000000 mov dword ptr [esp],0
a91ced46 c70550641ea900000000 mov dword ptr [winkvmstab+0x19450 (a91e6450)],0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.