Difference between revisions of "Ntoskrnl.exe"
BrentNewland (talk | contribs) m |
BrentNewland (talk | contribs) m (ChangeLog-0.2.3) |
||
Line 220: | Line 220: | ||
*Initialize LPC-related fields in ETHREAD ([[Emanuele Aliberti]]) | *Initialize LPC-related fields in ETHREAD ([[Emanuele Aliberti]]) | ||
*Finish off NtDuplicateToken ([[Jason Filby]]) | *Finish off NtDuplicateToken ([[Jason Filby]]) | ||
+ | |||
+ | [[ChangeLog-0.2.3]] | ||
+ | |||
+ | *Added two new Cache Manager files added for the stubs ([[Alex Ionescu]]) | ||
+ | *Fixed memory corruption in IopInitializeBuiltinDriver ([[Filip Navara]]) | ||
+ | *Various bugfixes to IoQueryDeviceDescription and friends. The floppy driver now loads and finds the drive properly ([[Vizzini]]) | ||
+ | *Use raw size for image sections if virtual size isn't specified ([[Nathan Lineback]]) | ||
+ | *The root bus driver should return an empty resource list on IRP_MN_QUERY_RESOURCES ([[Eric Kohl]]) | ||
+ | *Fixed prototypes of NtAddAtom, NtFindAtom, NtProtectVirtualMemory and *KeQueryInterruptTime ([[Filip Navara]]) | ||
+ | *Fixed list traversing in MmAlterRegion to correctly handle Length that is greater than real memory area size ([[Filip Navara]]) | ||
+ | *Added stubs for the Cache Manager by Alex Ionescu ([[Steven Edwards]]) | ||
+ | *Callbacks implementation ([[Alex Ionescu]]) | ||
+ | *Clean up return val checking of some mdl calls ([[Vizzini]]) | ||
+ | *Store page numbers instead of physical address's within mdls ([[Hartmut Birr]]) | ||
+ | *Allocate memory for mdl's for paging io from stack instead of the non paged pool ([[Hartmut Birr]]) | ||
+ | *Exchanged source and target in WRITE_REGISTER_BUFFER_xxx ([[Hartmut Birr]]) | ||
+ | *Retrieve Hardware IDs and Compatible IDs from the bus driver and attach them to the device node ([[Eric Kohl]]) | ||
+ | *Added a check for a waitable objects in NtWaitForSingleObject and *NtWaitForMultipleObjects ([[Hartmut Birr]]) | ||
+ | *Fixed the start offset of a partition within an extended partition (in xHalIoWritePartitionTable) ([[Hartmut Birr]]) | ||
+ | *Fixed some NULL-terminating issues that caused the 'videoprt.sys???????????????' module name problem ([[Filip Navara]]) | ||
+ | *Fixed a wrong address in MmAlterViewAttributes which possible does cause a crash if the region is longer than one page ([[Hartmut Birr]]) | ||
+ | *Implementation of IoQueryDeviceDescription. Patch by Alex Ionescu ([[Filip Navara]]) | ||
+ | *Write the system boot device and start options to registry, also create the MiniNT registry key if needed ([[Filip Navara]]) | ||
+ | *Fixed the searching for boot load drivers. This solves the pci driver loading problem ([[Hartmut Birr]]) | ||
+ | *Set CurrentThread's u1.ExitTime to exit time in PsTerminateCurrentThread. Patch by Alex Ionescu ([[Filip Navara]]) | ||
+ | *Return success for SystemFileCacheInformation requests to NtQuerySystemInformation, so we can see some information in the Task Manager ([[Filip Navara]]) | ||
+ | *ReactOS-specific debugging functions KeRosDumpStackFrames and KeRosPrintAddress ([[Royce Mitchel III]]) | ||
+ | *The last parameter of NtReadVirtualMemory should be optional ([[Filip Navara]]) | ||
+ | *Removed an obsolete call to ExAllocatePool in CHECKPOINT ([[Hartmut Birr]]) | ||
+ | *Do not immediately write the zeroed region to the disk for a cached file ([[Hartmut Birr]]) | ||
+ | *Fixed a problem, which does occur if the cluster size is lower than the segment size ([[Hartmut Birr]]) | ||
+ | *Implement kernel-mode range lists ([[Eric Kohl]]) | ||
+ | *Install target must not rebuild executables ([[Eric Kohl]]) | ||
+ | *Fixed the implementation of MmMapIoSpace ([[Hartmut Birr]]) | ||
+ | *Fixed the implementation of IoBuildPartialMdl ([[Hartmut Birr]]) | ||
+ | *Set Mdl's Process in MmMapLockedPages to current process and back to NULL in MmUnmapLockedPages ([[Filip Navara]]) | ||
+ | *Implement SeQueryAuthenticationIdToken() ([[Eric Kohl]]) | ||
+ | *Add audit function stubs ([[Eric Kohl]]) | ||
+ | *Do not change the mapping count of a page if the physical address falls in the range of valid physical memory (in MmMapIoSpace and MmUnmapIoSpace) ([[Hartmut Birr]]) | ||
+ | *Add some security function stubs ([[Eric Kohl]]) | ||
+ | *Use bugcheck macros where appropriate so users have a better idea of why they crashed ([[Royce Mitchel III]]) | ||
+ | *Implement multi-block bins. This removes all existing size limits within the registry ([[Eric Kohl]]) | ||
+ | *Janitorial work ([[Eric Kohl]]) | ||
+ | *Put the event from file object as user event into the irp in IopCloseFile and IopDeleteFile ([[Hartmut Birr]]) | ||
+ | *Don't assign arc names to removable media drives like zip drives ([[Hartmut Birr]]) | ||
+ | *Don't read the disk informations at boot time from removable medias like zip drives ([[Hartmut Birr]]) | ||
+ | *Added Spinlock in ObpGetHandleCountbyHandleTable ([[Jim Tabor]]) | ||
+ | *Fix recognition of CALL instruction. Spotted by Anich Gregor ([[Filip Navara]]) | ||
+ | *Return reasonably correct result querying a null memory area. Still a TODO left ([[Mike Nordell]]) | ||
+ | *Change bugcheck parameter to easily find out which SESSION5_INITIALIZATION_FAILED bugcheck occurred ([[Ge van Geldorp]]) | ||
+ | *Make MmQuerySectionView tell how many bytes it actually did set. Fixes VirtualQuery ([[Mike Nordell]]) | ||
+ | *MmQuerySectionView now returns correct AllocationBase ([[Hartmut Birr]], [[Mike Nordell]]) | ||
+ | *Proper way for counting process handles ([[Jim Tabor]]) | ||
+ | *Add missing io performance counters ([[Eric Kohl]]) | ||
+ | *SystemPerformanceInformation reads io counters ([[Eric Kohl]]) | ||
+ | *Call the DriverStartIo routine at DISPATCH_LEVEL in IoStartPacket ([[Hartmut Birr]]) | ||
+ | *Set the offset for a physical page in MmGetPhysicalAddress ([[Hartmut Birr]]) | ||
+ | *Dereference the idle process in some of the NtQuerySystemInformation functions ([[Hartmut Birr]]) | ||
+ | *Stop kernel crashing on thread termination ([[Mike Nordell]]) | ||
+ | *Fixed my mistake in SystemProcessorInformation ([[Jim Tabor]]) | ||
+ | *Fixed SystemProcessorInformation ([[Jim Tabor]]) | ||
+ | *Set 386 as default cpu type ([[Jim Tabor]]) | ||
+ | *Implementation of system performance auditing hax ([[Jim Tabor]]) | ||
+ | *Improved Passive Level kernel and user time counters ([[Jim Tabor]]) | ||
+ | *Fix Kernel User Timer and added ProcessTimes to QueryInformatinProcess ([[Jim Tabor]]) | ||
+ | *Fix Kernel User Timer ([[Jim Tabor]]) | ||
+ | *Add BasePriorty to ProcessBasicInformaion ([[Jim Tabor]]) | ||
+ | *NtGetTickCount implementation ([[Jim Tabor]], [[Filip Navara]]) | ||
+ | *Implementation of system performance auditing hax ([[Jim Tabor]]) | ||
+ | *Improved Passive Level kernel and user time counters ([[Jim Tabor]]) | ||
+ | *Fix Kernel User Timer and added ProcessTimes to QueryInformatinProcess ([[Jim Tabor]]) | ||
+ | *Fix Kernel User Timer ([[Jim Tabor]]) | ||
+ | *Add BasePriorty to ProcessBasicInformaion ([[Jim Tabor]]) | ||
+ | *Make mdl impl. more windows compliant ([[Gunnar Dalsnes]]) | ||
+ | *Make mdl usage/impl. more windows compliant ([[Gunnar Dalsnes]]) | ||
+ | *Filip Navara NtGetTickCount implementation ([[Jim Tabor]]) | ||
+ | *Implemented new Ros exclusive function SystemFullMemoryInformation ([[Jim Tabor]]) | ||
+ | *DBG/KD Types and Prototypes Added ([[Alex Ionescu]]) | ||
+ | *Fixed KeRaiseUserException to return old EIP ([[Alex Ionescu]]) | ||
+ | *Added DBG, FSRTL, Kd, Ldr, Lpc, Ex and Io Stubs ([[Alex Ionescu]]) |
Revision as of 07:38, 6 March 2012
See Also
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/?view=log
- Added multiboot support to ntoskrnl
- Kernel can bow be booted with GRUB
- Section and general memory manager enhancements
- Changed irq handler from C to assembler
- Established forwarded exports
- Implemented profiling
- Initial work on exception handling
- DMA support
- Kernel debugger
- Trace facility
- Added Intel MultiProcessor Specification support
- Began building PnP manager device tree
- Registry improvements
- Work on the filesystem cache
- Named pipe improvements
- Implemented atoms in ntoskrnl
- Enabled FASTCALL calling convention
- Rewrote stack allocation
- Seperated the HALs from ntoskrnl.exe Casper Hornstroup
- IO Subsystem work Eric Kohl
- Initial OS level SEH support Casper Hornstroup
- Cache work Hartmut Birr
- Implemented basic ANSI/OEM <--> Unicode translation tables in the kernel Eric Kohl
- Implemented mutant object Eric Kohl
- Added system hive support and started hardware detection Eric Kohl
- Implemented LPC sections David Welch
- Implemented file system change notification Eric Kohl
- Work on caching, mutexes and paged pool memory David Welch
- Memory balancer David Welch
- Virtual memory support David Welch
- Swapping to disk David Welch
- Implemented PsLookupXxx() functions Eric Kohl
- Implemented process and thread notification routines Eric Kohl
- Started kernel queue implementation and added win32k support functions Eric Kohl
- Fixed a memory bug that often crashed the kernel on boot (dubbed the Frequent Crasher Bug or FCB) Hartmut Birr
- Fixed up object creation Eric Kohl
- Implemented NtCreateToken and fixed up NtQueryInformationToken() Joseph Galbraith
- Minimize access to the module object via the object manager. Eric Kohl
- Use module list for internal module management. Eric Kohl
- Protect module list with a spinlock. Eric Kohl
- Registry improvements: Eric Kohl
- Improved registry initialization
- Registry-based driver loading for system-start drivers and auto-start drivers
- Implemented registry links
- PICE now loaded automatically Eric Kohl
- Improved thread support David Welch
- Fixed a long-standing hack to open symbolic link objects Eric Kohl
- Implemented the ability to create suspended threads Eric Kohl
- Implemented binary tree, splay tree and hash table routines Casper Hornstroup
- Moved the hardcoded command line string from ntoskrnl to loadros Eric Kohl
- Use NT-compatible (VPB-based) mounting mechanism Eric Kohl
- Implemented and fixed several ACL and SD functions Alexandru Matei
- Improved memory management functions David Welch
- Improved cache functions (David Welch, Hartmut Birr)
- Object manager fixes Hartmut Birr
- Some assembler optimizations for i386 Hartmut Birr
- IO improvement ([[Hartmut Birr, David Welch
- IO support for booting from a CDROM Eric Kohl
- Implemented NtProtectVirtualMemory; msvcrt apps now work (David Welch)
- Memory management improvements,
- Fixes for SMP in the memory manager,
- Enable/Disable the irq in KeConnectInterrupt/KeDisconnectInterrupt,
- Enabled caching of directories and fat segments,
- Write back dirty pages from cache manager at shutdown (Hartmut Birr)
- File locking (Gunnar Dalsnes)
- Registry hive locking, packing value names,
- Deferred hive synchronization (Eric Kohl)
- Profiler (Casper Hornstrup)
- IO improvements (Eric Kohl)
- Registry: Added hive flushing, key deletion, hize syncing (Eric Kohl)
- Flushing cache at shutdown (Hartmut Birr, Eric Kohl)
- Improved HalExamineMBR() to detect disk managers (Eric Kohl)
- Initial work on I/O completion (Gunnar Dalsnes)
- Improved ioctl requests and direct access input buffers (Hartmut Birr)
- Improved NtQuerySystemInformation (Aleksey Bragin)
- Added support for the Ontrack Disk Manager (Eric Kohl)
- Bootscreen (programming: Casper Hornstrup, graphics: Steve Cockeram)
- Crash dumps to disk (David Welch)
- Addition of CacheAligned to PagedPool (Royce Mitchell)
- Redzone violation detection (Royce Mitchell)
- Implementation of Ke(Save/Restore)FloatingPointState (Gé van Geldorp)
- Made existing eventpair code more efficient and added support for associating eventpairs with * threads and signaling them that way (Skywing)
- RtlRaiseException user mode implementation (Vizzini)
- KiRaiseUserExceptionDispatcher/KeRaiseUserException to raise user exceptions from kernel mode (Vizzini)
- Implemented the allocation type NonPagedPoolCacheAligned/NonPagedPoolCacheAlignedMustS (Hartmut Birr)
- Process fixes (Hartmut Birr)
- Plug and Play manager improvements (Filip Navara)
- Implemented NtUnloadDriver(), partial IoGetDeviceProperty(), IoGetDmaAdapter(), IoIsWdmVersionAvailable(), ExFreePoolWithTag (Filip Navara)
- Check for presence of \reactos\ntoskrnl.exe instead of REACTOS disk label to identify the boot cdrom device (Eric Kohl)
- Improved implementation of IoMapTransfer, Implemented KeRemoveDeviceEntryQueue (Gunnar Dalsnes)
- Implemented driver reinitialization (Eric Kohl)
- Added "addr" "x" and "tlist" commands to kdbg (Art Yerkes)
- Added the beginnings of an implementation of NtSetInformationToken (Art Yerkes)
- Implemented shared segments for images (Hartmut Birr)
- Work on the error log worker (Eric Kohl)
- IoReuseIrp, IoQueueThreadIrp, IoEnqueueIrp implementations (Gunnar Dalsnes)
- APC improvements (Gunnar Dalsnes)
- Exception handler on broken usermode stack pointer fix (Mike Nordell)
- Print userland addresses where possible in bugchecks (Art Yerkes)
- InsertAscendingList adaption (Gunnar Dalsnes)
- KiAcquire/ReleaseSpinLock adaption (Gunnar Dalsnes)
- Added KiAcquire/ReleaseSpinLock (Gunnar Dalsnes)
- KiAcquire/ReleaseSpinLock adaption (Gunnar Dalsnes)
- Attempt to fix the display corruption problems when using bootvid.sys on certain hardware (Filip Navara)
- Do not make NtSecureConnectPort fail: for now direct the call to NtConnectPort (Emanuele Aliberti)
- NtOpenKey() should return a better status value if the desired key does not exist (Eric Kohl)
- Implementation of RtlStringFromGUID, IoOpenDeviceInterfaceRegistryKey and IoGetDeviceInterfaceAlias (Matthew Brace)
- Fixed some problems which occurs if a read only segment is changed to write and back to read only and if such a segment (or a page from such a segment) is paged out and reloaded again (Hartmut Birr)
- Check for a privat page and change only the page protection for such a page in MmAccessFaultSectionView (Hartmut Birr)
- Only lock a new page on exit from AccessFaultSectionView (Hartmut Birr)
- Fixed querying and enumerating the subkeys of HKEY_LOCAL_MACHINE; this fixes bug #78 (Eric Kohl)
- Start parsing at the root object when an object path needs to be reparsed (Art Yerkes)
- Use macros for LPC message limits in current LPC implementation (Emanuele Aliberti)
- Implement RtlFindLeastSignificantBit(), RtlFindMostSignificantBit() and _itow() (Eric Kohl)
- LPC: initial work on NT/ROS compatibility (Emanuele Aliberti)
- Add byte swap functions (Eric Kohl)
- Set the previous pointer from the next block, if some blocks was merged (in add_to_free_list) (Hartmut Birr)
- Free or recycle the remaining path string after a call to ObFindObject (Hartmut Birr)
- Work on thread-awareness in gdbstub (Gé van Geldorp)
- Always lock the pages in MmProbeAndLockPages (Hartmut Birr)
- Locked the pages in MmCommitPagedPoolAddress, if it is necessary (Hartmut Birr)
- Try to avoid crashing when dumping out a corrupted stack (David Welch)
- Set the previous pointer from the next block, if some blocks was merged (in add_to_free_list) (Hartmut Birr)
- Free or recycle the remaining path string after a call to ObFindObject (Hartmut Birr)
- Lock the pages always in MmProbeAndLockPages (Hartmut Birr)
- Locked the pages in MmCommitPagedPoolAddress, if it is necessary (Hartmut Birr)
- Marked a cache segment as page out in progress to prevent from recursive calls to MmPageOutPhysicalAddress; fixed bug 220 (Hartmut Birr)
- Protected the callback stack list with a spinlock (Hartmut Birr)
- Made it possible to allocate a pageop only if no other pageop for the given address exists (Hartmut Birr)
- Try to pageout a page only if no other access to the page exist (Hartmut Birr)
- Gave a free page only to the next waiting request (in MmReleasePageMemoryConsumer), if sufficient free pages are available (Hartmut Birr)
- Initialized the object tag to prevent the tag 0xcccccccc (Hartmut Birr)
- Removed dirty loading of symbol files from ExpInitializeExecutive (Hartmut Birr)
- Fixed the loading of symbol files (Hartmut Birr)
- Try to avoid crashing when dumping out a corrupted stack (David Welch)
- Avoid a crashing when trying to process an exception early in the boot process (David Welch)
- Use an event rather than a semaphore to wake up the thread that writes debug output to disk (David Welch)
- Added basic tracing, breakpoints and disassembly to the kernel debugger (David Welch)
- Added disassembler from gdb (David Welch)
- Record feature information from cpuid (David Welch)
- Fixed bug with recalling previous input (David Welch)
- Switch back to text mode when entering the debugger (David Welch)
- Fixed whole page allocations since the handle table code now relies on allocations being eight byte aligned (David Welch)
- Fix reading past the end of the pool block (David Welch)
- Fix key name size calculation bugs (Eric Kohl)
- Fix NtOpenThreadToken() and NtSetInformationThread() (Eric Kohl)
- Clean-up NtQueryInformationToken() (Eric Kohl)
- Fully implement RtlFormatCurrentUserKeyPath() (Eric Kohl)
- Fixed crashes that were cause by the changes to the service parameter table (Eric Kohl)
- Work on thread-awareness in gdbstub (Ge van Geldorp)
- Make IoGetDeviceInterfaces more compatible with the native version (Matthew Brace)
- Hardcode build number consistent with major/minor version (NVidia driver requires this) (Ge van Geldorp)
- Tell apps we're NT4 SP6, VB runtime will fail if we report SP0 (Ge van Geldorp)
- Allow GDB 6 to backtrace over a syscall (Ge van Geldorp)
- Disable pool validation since it slows down execution too much (Ge van Geldorp)
- Locale values are specified in hexadecimal numbers (Filip Navara)
- Corrected EiAllocatePool prototype (Filip Navara)
- Fixed RtlNtStatusToDosErrorNoTeb (Filip Navara)
- Removed the incorrect implementations of Device Interface functions (Filip Navara)
- Don't zero memory allocated by ExAllocatePool (Filip Navara)
- Fixed RtlFormatCurrentUserKeyPath and it's use (Filip Navara)
- Fill correctly all members of the returned device object in IoCreateDevice (Filip Navara)
- Don't bug check in loader when export isn't found, only report it and don't load the module (Filip Navara)
- If we know a module path while loading, use it for searching for the import modules (Filip Navara)
- Modified LdrpBuildModuleBaseName to not strip the extension from file name (Filip Navara)
- Call create process notify routines from NtCreateProcess (Filip Navara)
- Started PsSetLoadImageNotifyRoutine implementation, it just registers the callback, but doesn't call it (Filip Navara)
- Fixed querying of thread locale (Filip Navara)
- Implemented IoGetDriverObjectExtension and IoAllocateDriverObjectExtension (Filip Navara)
- Don't load PnP drivers if they're disabled (Filip Navara)
- Save pointer to PnP tree device node in device object's DeviceObjectExtension (Filip Navara)
- Add function IopGetDeviceNode for getting device node from device object pointer (Filip Navara)
- Rewritten IoGetDeviceProperty to use values that are in device node instead of sending Irps (Filip Navara)
- Lower IRQL in error case of IoAllocateDriverObjectExtension (Filip Navara)
- Support for upper level filter drivers (Filip Navara)
- Rewritten some driver loading functions to get higher control of the driver loading and initialization process, fixes bug #263 (Filip Navara)
- Added support for lower level filter drivers (Filip Navara)
- Minor cleanup and fixed few memory leaks on driver unload (Filip Navara)
- Fixed a minor bug in IopLoadServiceModule that caused crashes for disabled drivers (Filip Navara)
- Don't bugcheck if FDO wasn't attached (Filip Navara)
- Fixed cygwin fork section map problem, this fixes map_dup_inherit (Art Yerkes, David Welch)
- MmMapLockedPages patch (Anich Gregor)
- Initialize LPC-related fields in ETHREAD (Emanuele Aliberti)
- Finish off NtDuplicateToken (Jason Filby)
- Added two new Cache Manager files added for the stubs (Alex Ionescu)
- Fixed memory corruption in IopInitializeBuiltinDriver (Filip Navara)
- Various bugfixes to IoQueryDeviceDescription and friends. The floppy driver now loads and finds the drive properly (Vizzini)
- Use raw size for image sections if virtual size isn't specified (Nathan Lineback)
- The root bus driver should return an empty resource list on IRP_MN_QUERY_RESOURCES (Eric Kohl)
- Fixed prototypes of NtAddAtom, NtFindAtom, NtProtectVirtualMemory and *KeQueryInterruptTime (Filip Navara)
- Fixed list traversing in MmAlterRegion to correctly handle Length that is greater than real memory area size (Filip Navara)
- Added stubs for the Cache Manager by Alex Ionescu (Steven Edwards)
- Callbacks implementation (Alex Ionescu)
- Clean up return val checking of some mdl calls (Vizzini)
- Store page numbers instead of physical address's within mdls (Hartmut Birr)
- Allocate memory for mdl's for paging io from stack instead of the non paged pool (Hartmut Birr)
- Exchanged source and target in WRITE_REGISTER_BUFFER_xxx (Hartmut Birr)
- Retrieve Hardware IDs and Compatible IDs from the bus driver and attach them to the device node (Eric Kohl)
- Added a check for a waitable objects in NtWaitForSingleObject and *NtWaitForMultipleObjects (Hartmut Birr)
- Fixed the start offset of a partition within an extended partition (in xHalIoWritePartitionTable) (Hartmut Birr)
- Fixed some NULL-terminating issues that caused the 'videoprt.sys???????????????' module name problem (Filip Navara)
- Fixed a wrong address in MmAlterViewAttributes which possible does cause a crash if the region is longer than one page (Hartmut Birr)
- Implementation of IoQueryDeviceDescription. Patch by Alex Ionescu (Filip Navara)
- Write the system boot device and start options to registry, also create the MiniNT registry key if needed (Filip Navara)
- Fixed the searching for boot load drivers. This solves the pci driver loading problem (Hartmut Birr)
- Set CurrentThread's u1.ExitTime to exit time in PsTerminateCurrentThread. Patch by Alex Ionescu (Filip Navara)
- Return success for SystemFileCacheInformation requests to NtQuerySystemInformation, so we can see some information in the Task Manager (Filip Navara)
- ReactOS-specific debugging functions KeRosDumpStackFrames and KeRosPrintAddress (Royce Mitchel III)
- The last parameter of NtReadVirtualMemory should be optional (Filip Navara)
- Removed an obsolete call to ExAllocatePool in CHECKPOINT (Hartmut Birr)
- Do not immediately write the zeroed region to the disk for a cached file (Hartmut Birr)
- Fixed a problem, which does occur if the cluster size is lower than the segment size (Hartmut Birr)
- Implement kernel-mode range lists (Eric Kohl)
- Install target must not rebuild executables (Eric Kohl)
- Fixed the implementation of MmMapIoSpace (Hartmut Birr)
- Fixed the implementation of IoBuildPartialMdl (Hartmut Birr)
- Set Mdl's Process in MmMapLockedPages to current process and back to NULL in MmUnmapLockedPages (Filip Navara)
- Implement SeQueryAuthenticationIdToken() (Eric Kohl)
- Add audit function stubs (Eric Kohl)
- Do not change the mapping count of a page if the physical address falls in the range of valid physical memory (in MmMapIoSpace and MmUnmapIoSpace) (Hartmut Birr)
- Add some security function stubs (Eric Kohl)
- Use bugcheck macros where appropriate so users have a better idea of why they crashed (Royce Mitchel III)
- Implement multi-block bins. This removes all existing size limits within the registry (Eric Kohl)
- Janitorial work (Eric Kohl)
- Put the event from file object as user event into the irp in IopCloseFile and IopDeleteFile (Hartmut Birr)
- Don't assign arc names to removable media drives like zip drives (Hartmut Birr)
- Don't read the disk informations at boot time from removable medias like zip drives (Hartmut Birr)
- Added Spinlock in ObpGetHandleCountbyHandleTable (Jim Tabor)
- Fix recognition of CALL instruction. Spotted by Anich Gregor (Filip Navara)
- Return reasonably correct result querying a null memory area. Still a TODO left (Mike Nordell)
- Change bugcheck parameter to easily find out which SESSION5_INITIALIZATION_FAILED bugcheck occurred (Ge van Geldorp)
- Make MmQuerySectionView tell how many bytes it actually did set. Fixes VirtualQuery (Mike Nordell)
- MmQuerySectionView now returns correct AllocationBase (Hartmut Birr, Mike Nordell)
- Proper way for counting process handles (Jim Tabor)
- Add missing io performance counters (Eric Kohl)
- SystemPerformanceInformation reads io counters (Eric Kohl)
- Call the DriverStartIo routine at DISPATCH_LEVEL in IoStartPacket (Hartmut Birr)
- Set the offset for a physical page in MmGetPhysicalAddress (Hartmut Birr)
- Dereference the idle process in some of the NtQuerySystemInformation functions (Hartmut Birr)
- Stop kernel crashing on thread termination (Mike Nordell)
- Fixed my mistake in SystemProcessorInformation (Jim Tabor)
- Fixed SystemProcessorInformation (Jim Tabor)
- Set 386 as default cpu type (Jim Tabor)
- Implementation of system performance auditing hax (Jim Tabor)
- Improved Passive Level kernel and user time counters (Jim Tabor)
- Fix Kernel User Timer and added ProcessTimes to QueryInformatinProcess (Jim Tabor)
- Fix Kernel User Timer (Jim Tabor)
- Add BasePriorty to ProcessBasicInformaion (Jim Tabor)
- NtGetTickCount implementation (Jim Tabor, Filip Navara)
- Implementation of system performance auditing hax (Jim Tabor)
- Improved Passive Level kernel and user time counters (Jim Tabor)
- Fix Kernel User Timer and added ProcessTimes to QueryInformatinProcess (Jim Tabor)
- Fix Kernel User Timer (Jim Tabor)
- Add BasePriorty to ProcessBasicInformaion (Jim Tabor)
- Make mdl impl. more windows compliant (Gunnar Dalsnes)
- Make mdl usage/impl. more windows compliant (Gunnar Dalsnes)
- Filip Navara NtGetTickCount implementation (Jim Tabor)
- Implemented new Ros exclusive function SystemFullMemoryInformation (Jim Tabor)
- DBG/KD Types and Prototypes Added (Alex Ionescu)
- Fixed KeRaiseUserException to return old EIP (Alex Ionescu)
- Added DBG, FSRTL, Kd, Ldr, Lpc, Ex and Io Stubs (Alex Ionescu)