- apc.c: Fixed some bugs and used Dispatcher Lock. Simplified some functions and renamed/inlined others.
- wait.c: Fixed some assumptions about Dispatcher Lock and Waiting/Alertability
- process.c: Fully implemented KeStackAttachProcess and KeStackDetachProcess. Made all functions use PKPROCESS and not PEPROCESS.
Memory Manager: Fixed calls to KeAttachProcess/DetachProcess to typecast PKPROCESS
Process Manager: Removed call to empty function in apc.c
svn path=/trunk/; revision=11622
TODO: KiSwapApcEnvironment, Honour SpecialApcDisable.
Special thanks to Thomas and Filip.
Fixed I/O Manager Bugs. APCs were not created with the right parameters in the right places, or had useless parameters being sent.
Added mmdrv and midimap to bootcd.
Fixed KTHREAD defintion.
Fixed some thread alertability issue in thread creation.
svn path=/trunk/; revision=11610
Makefile - Add entry for midimap.dll, Build mmdrv because it's trying to get loaded at system startup and that caused an error
bootdata/hivedef.inf - Create PaintDesktopVersion key and set it to 0. Win32k was trying to read this value and gave an error message because it did not exist.
lib/samlib/samlib.c - Silence samlib for informational messages that aren't errors.(if NDEBUG is on)
lib/userenv/directory.c -Silence for informational messages that aren't errors (if NDEBUG is on)
lib/setupapi/devinst.c - Turn SetupDiInstallClassW blank debug message into something a little more informational.
lib/syssetup/install.c - Make syssetup check if samlib returned ERROR_USER_EXISTS, in which case instead of pointlessly rebooting (which probably never allowed the user to actually setup ros...if error_user_Exists is returned it means that setup was abandonned for some reason, so we would want to restart it instead of giving up), it will restart setup.
svn path=/trunk/; revision=11606
- Remove KeRescheduleThread (it's not present neither on WinNT4 nor on WinXP SP2).
- Fix IoOpenDeviceRegistryKey for PLUGPLAY_REGKEY_DRIVER case. (Oops)
- Move IoConnectInterrupt and IoDisconnectInterrupt outside from Ke.
svn path=/trunk/; revision=11588
Removed unneeded precomp.h from drivers/lib/ip.
Removed some memtrack and other spew.
Removed datagram send pipe part, and accompanying address file queue.
Simplified send pipe (major changes):
- Neighbor is solely responsible for firing normal ip datagrams to the peer.
- Transmit is the only place normal ip datagrams are passed to neighbor from.
- Simplified fragmentation code.
- Made callbacks explicit and always called in neighbor and transmit.
- Clarified ownership of transmitted NdisPacket.
- Ditto IPPackets here and in icmp.
- PC(Packet)->DLComplete is *only* used by lan.c and loopback.c
- Simplified loopback send mechanism
Added the beginnings of a test suite
svn path=/trunk/; revision=11582