unifiedkernel-test
所属分类:Linux/Unix编程
开发工具:Unix_Linux
文件大小:134KB
下载次数:39
上传日期:2008-12-26 22:52:10
上 传 者:
linoox
说明: linux unified kernel test
文件列表:
bin (0, 2008-01-11)
bin\linux-test (6094, 2007-10-24)
bin\ntdll-u.dll (221233, 2007-10-24)
bin\w32-test.exe (245865, 2007-10-24)
src (0, 2008-01-11)
src\linux (0, 2008-01-11)
src\linux\linux-test.c (5044, 2008-01-11)
src\linux\Makefile (151, 2007-10-24)
src\linux\w32syscall.h (3362, 2007-10-24)
src\module (0, 2008-01-11)
src\module\config.h (31, 2008-01-10)
src\module\Makefile (289, 2008-01-10)
src\module\sysmap.c (5122, 2008-01-11)
src\module\sysmap.h (160, 2008-01-11)
src\module\w32entry.S (8338, 2008-01-11)
src\module\w32init.c (6819, 2008-01-11)
src\module\w32syscall.c (15761, 2008-01-11)
src\module\w32syscall.h (3401, 2007-10-24)
src\windows (0, 2008-01-11)
src\windows\dll (0, 2008-01-11)
src\windows\dll\dll.dsp (4113, 2007-10-24)
src\windows\dll\dll.dsw (529, 2007-10-24)
src\windows\dll\dll.ncb (33792, 2007-10-24)
src\windows\dll\dll.opt (48640, 2007-10-24)
src\windows\dll\dll.plg (1229, 2007-10-24)
src\windows\dll\ntdll-u.cpp (1666, 2007-10-24)
src\windows\dll\stdafx.h (77, 2007-10-24)
src\windows\w32test (0, 2008-01-11)
src\windows\w32test\ntdll-u.lib (2316, 2007-10-24)
src\windows\w32test\stdafx.h (67, 2007-10-24)
src\windows\w32test\w32-test.cpp (5047, 2007-10-24)
src\windows\w32test\w32syscall.h (2931, 2007-10-24)
src\windows\w32test\w32test.dsp (4492, 2007-10-24)
src\windows\w32test\w32test.dsw (537, 2007-10-24)
The Linux Unified Kernel Project
Copyright:
==========
(c) 2006 Insigma Co., Ltd
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version
2 of the License, or (at your option) any later version.
The Project:
============
Linux Unified Kernel is a project (linux.insigma.com.cn) in the
Insigma Reasearch Institute, which is a subdivision of Insigma
Co.,Ltd(www.insigma.com.cn).
Sponsored by:
=============
Insigma Co., Ltd (www.insigma.com.cn).
The Package:
============
o This package implements the Windows system call mechanism, and
a prototype for Windows system call (function) implementations.
In addition, a test programe is provided to demo the syscall
mechanism, and also to be used as a prototype for user space
programing.
Released Files:
===============
w32entry.S - Implements the w32 system call mechanism. The code is basically
a merge of the related code in entry.S from Linux 2.6.13 and
in syscall.S from Reactos 0.2.6. It is for i386 only.
w32init.c - Implements the w32 module initialization.
w32syscall.c - W32 syscall function table and other data structures (from
ReactOS).
w32syscall.h - Type definitions.
linux-test.c - Application prototype used to test the w32 syscall interface.
To be built as a Linux application.
w32-test.c - Simular to linux-test.c, but to be built on Microsoft VC
as a windows application which should be used together on top of
ntdll-u.dll.
ntdll-u.c - For ntdll-u.dll, to be built on Microsoft VC, as a Windows DLL,
replacing the MS ntdll.dll.
Subdirectories:
=================
src - Source code subdirectory.
src/module - module source code.
src/linux - Linux test program source code.
src/windows - Windows test program source code.
bin - Test program executable files: linux-test, w32-test.exe,
ntdll-u.dll.
To Build and Run:
=================
1.To get the unified kernel support, first cd to the top-level directory of
the kernel source code(linux-2.6.13). Then run the following command to patch
the kernel:
patch -p1 < path/patch-file
where "path" is the path of the patch file and "patch-file" is the patch file
name(something such as Unifiedkernel-2.6.13.diff).
After patching, configure the kernel like:
make menuconfig
Say Y to the "Unified kernel support" option in "General setup", and say N to
the "Use register arguments" option in "Processor type and features".
Then save, exit and compile the kernel. Run the following command to compile
the kernel and reboot:
make
make modules_install
make install
reboot
2.To load the win32 module, first cd to the "module" directory of this package,
and do "make" to build. Then install the module:
insmod win32.ko
After the module loaded, you can run the test program to demonstrate.
3.There are 2 options for building the test program:
Option 1: As a Linux application, do "make" to build the linux-test. Then you can
run linux-test directly.
Option 2: As a Windows application, build ntdll-u.c to ntdll-u.dll and w32-test.c
to w32-test.exe with ntdll-u.dll both on Microsoft VC. Then you have to
copy w32-test.exe and ntdll-u.dll to Linux, and run the following
command:
wine w32-test.exe
Make sure that w32-test.exe and ntdll-u.dll are in the same directory.
Then you can see the test result by printing the values of parameters.
4.To unpatch the kernel, cd to the top-level directory of the patched kernel, run
the following command:
patch -Rp1 < path/patch-file
where "path" is the path of the patch file and "patch-file" is the patch file
name. Then compile the kernel and reboot.
Note:
===============
Before test, make sure you have patched the kernel(linux-2.6.13) and compile it.
Also you need to load the module, and Wine is needed if you want to run w32-test.exe
on Linux.
Don't run w32-test.exe on Windows, as the parameters are just for test and demo.
To Do in Future:
================
o Various system call functions on the Windows syscall interface.
o The Windows process/thread management.
o The Windows object management.
o The Windows APC mechanism.
o The WDM device driver framework.
o The Windows DPC mechanism.
o Exported kernel functions defined by Windows DDK.
o The Windows Registry mechanism.
o Others.
近期下载者:
相关文件:
收藏者: