2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
[reactos.git] / reactos / ChangeLog
index 76389d8..71194a0 100644 (file)
-2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
-\r
-       * lib/msvcrt/Makefile (OBJECTS_EXCEPT): Add except/seh.o; Remove\r
-       except/exhand3.o.\r
-       * lib/msvcrt/except/exhand2.c (MsvcrtDebug): New function.\r
-       * lib/msvcrt/except/unwind.c (PEXCEPTION_FRAME): Remove.\r
-       (_global_unwind2): Correct prototype.\r
-       * lib/ntdll/makefile (RTL_I386_OBJECTS, ARCH_OBJECTS): New groups.\r
-       (TARGET_OBJECTS): Add ARCH_OBJECTS group.\r
-       * lib/ntdll/rtl/exception.c (KiUserExceptionDispatcher): Set\r
-       NumberParameters in exception record.\r
-       (RtlRaiseStatus): Remove.\r
-       * ntoskrnl/Makefile (OBJECTS_RTL): Remove rtl/seh.o.\r
-       (OBJECTS_RTL_I386): Add rtl/i386/except.o, rtl/i386/exception.o, and\r
-       rtl/i386/seh.o.\r
-       * ntoskrnl/ke/catch.c (RtlpExecuteHandlerForException,\r
-       RtlpDumpExceptionRegistrations, RtlpDispatchException,\r
-       RtlpExecuteHandler, RtlpExceptionHandler, RtlpUnwindHandler,\r
-       RtlpExecuteHandlerForException, RtlpExecuteHandlerForUnwind,\r
-       RtlUnwind): Remove.\r
-       (RtlpDispatchException): Add prototype.\r
-       * ntoskrnl/ke/i386/usertrap.c (ExceptionTypeStrings): Remove.\r
-       * ntoskrnl/ps/create.c (PsCreateTeb): Mark end of exception\r
-       registration list.\r
-       * tools/helper.mk (TARGET_ASFLAGS): Add -g if DBG = 1.\r
-       * lib/msvcrt/except/exhand3.c: Remove.\r
-       * ntoskrnl/rtl/seh.c: Ditto.\r
-       * lib/msvcrt/except/seh.s: New file.\r
-       * lib/ntdll/rtl/i386/except.s: Ditto.\r
-       * lib/ntdll/rtl/i386/exception.c: Ditto.\r
-       * ntoskrnl/rtl/i386/except.s: Ditto.\r
-       * ntoskrnl/rtl/i386/exception.c: Ditto.\r
-       * ntoskrnl/rtl/i386/seh.s: Ditto.\r
-\r
-2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
-\r
-       * lib/kernel32/process/create.c (_except_handler): New function.\r
-       (BaseProcessStart): Ditto.\r
-       (KlCreateFirstThread): Return INVALID_HANDLE_VALUE on error; Call\r
-       BaseProcessStart() before process entry point.\r
-       * lib/kernel32/thread/thread.c (_except_handler): New function.\r
-       (ThreadStartup): Protect thread using SEH constructs.\r
-\r
-2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
-\r
-       * include/ddk/zw.h (NtProcessStartup): Use standard calling convention.\r
-       * subsys/csrss/csrss.c (NtProcessStartup): Ditto.\r
-       * subsys/smss/smss.c (NtProcessStartup): Ditto.\r
-       * subsys/system/autochk/autochk.c (NtProcessStartup): Ditto.\r
-       * subsys/system/usetup/usetup.c (NtProcessStartup): Ditto.\r
-\r
-2002-10-25  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
-\r
-       * apps/tests/tokentest/tokentest.c (ROS_ACE_HEADER): Move field\r
-       AccessMask ...\r
-       (ROS_ACE): ... here.\r
-       (DisplayDacl): Make pAce an ROS_ACE*; Use new path for AceType; Use\r
-       sizeof(ACE) instead of sizeof(ACE_HEADER).\r
-       * include/ntos/security.h (ACE_HEADER): Move field AccessMask ...\r
-       (ACE): ... here.\r
-       * lib/ntdll/rtl/acl.c: Use new path for AccessMask.\r
-       * ntoskrnl/se/semgr.c: Ditto.\r
-       * ntoskrnl/se/acl.c (SepInitDACLs): Use new path for AccessMask; Use\r
-       sizeof(ACE) instead of sizeof(ACE_HEADER).\r
-       * ntoskrnl/se/token.c (SepCreateSystemProcessToken): Use sizeof(ACE)\r
-       instead of sizeof(ACE_HEADER).\r
-\r
-2002-10-20  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
-\r
-       * include/napi/teb.h (RTL_USER_PROCESS_PARAMETERS): Use field names\r
-       as described in Windows NT/2000 Native API Reference.\r
-       * lib/kernel32/file/file.c: Use new field names.\r
-       * lib/kernel32/misc/console.c: Ditto.\r
-       * lib/kernel32/process/create.c: Ditto.\r
-       * lib/kernel32/process/proc.c: Ditto.\r
-       * lib/ntdll/rtl/path.c: Ditto.\r
-       * lib/ntdll/rtl/ppb.c: Ditto.\r
-       * lib/ntdll/rtl/process.c: Ditto.\r
-\r
-2002-10-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
-\r
-       * include/ntos.h: Include relevant files.\r
-       * include/internal/ke.h: Include files relative to\r
-       ntoskrnl/include.\r
-       * include/internal/arch/ke.h: Ditto.\r
-\r
-2002-10-01  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
-\r
-       * drivers/dd/floppy/floppy.c: Changed PAGESIZE to PAGE_SIZE.\r
-       * drivers/fs/cdfs/fcb.c: Ditto.\r
-       * drivers/fs/cdfs/fsctl.c: Ditto.\r
-       * drivers/fs/cdfs/rw.c: Ditto.\r
-       * drivers/fs/ext2/dir.c: Ditto.\r
-       * drivers/fs/ext2/inode.c: Ditto.\r
-       * drivers/fs/ext2/rw.c: Ditto.\r
-       * drivers/fs/ext2/super.c: Ditto.\r
-       * drivers/fs/minix/blockdev.c: Ditto.\r
-       * drivers/fs/minix/cache.c: Ditto.\r
-       * drivers/fs/minix/inode.c: Ditto.\r
-       * drivers/fs/minix/rw.c: Ditto.\r
-       * drivers/fs/ntfs/fcb.c: Ditto.\r
-       * drivers/fs/ntfs/ntfs.h: Ditto.\r
-       * drivers/fs/vfat/create.c: Ditto.\r
-       * drivers/fs/vfat/direntry.c: Ditto.\r
-       * drivers/fs/vfat/dirwr.c: Ditto.\r
-       * drivers/fs/vfat/fat.c: Ditto.\r
-       * drivers/fs/vfat/fcb.c: Ditto.\r
-       * drivers/fs/vfat/fsctl.c: Ditto.\r
-       * drivers/fs/vfat/rw.c: Ditto.\r
-       * drivers/storage/class2/class2.c: Ditto.\r
-       * drivers/storage/scsiport/scsiport.c: Ditto.\r
-       * hal/halx86/adapter.c: Ditto.\r
-       * hal/halx86/mp.c: Ditto.\r
-       * include/ddk/mmfuncs.h: Ditto.\r
-       * include/ddk/mmtypes.h: Ditto.\r
-       * include/ddk/i386/pagesize.h: Ditto.\r
-       * include/ntdll/pagesize.h: Ditto.\r
-       * lib/kernel32/process/create.c: Ditto.\r
-       * lib/kernel32/thread/thread.c: Ditto.\r
-       * lib/ntdll/ldr/utils.c: Ditto.\r
-       * lib/ntdll/rtl/env.c: Ditto.\r
-       * lib/ntdll/rtl/heap.c: Ditto.\r
-       * lib/ntdll/rtl/ppb.c: Ditto.\r
-       * lib/ntdll/rtl/process.c: Ditto.\r
-       * lib/ntdll/rtl/thread.c: Ditto.\r
-       * ntoskrnl/cc/copy.c: Ditto.\r
-       * ntoskrnl/cc/view.c: Ditto.\r
-       * ntoskrnl/ex/sysinfo.c: Ditto.\r
-       * ntoskrnl/include/internal/i386/mm.h: Ditto.\r
-       * ntoskrnl/io/mdl.c: Ditto.\r
-       * ntoskrnl/ke/kthread.c: Ditto.\r
-       * ntoskrnl/ke/i386/kernel.c: Ditto.\r
-       * ntoskrnl/ldr/init.c: Ditto.\r
-       * ntoskrnl/ldr/loader.c: Ditto.\r
-       * ntoskrnl/mm/anonmem.c: Ditto.\r
-       * ntoskrnl/mm/cont.c: Ditto.\r
-       * ntoskrnl/mm/freelist.c: Ditto.\r
-       * ntoskrnl/mm/iospace.c: Ditto.\r
-       * ntoskrnl/mm/kmap.c: Ditto.\r
-       * ntoskrnl/mm/marea.c: Ditto.\r
-       * ntoskrnl/mm/mdl.c: Ditto.\r
-       * ntoskrnl/mm/mminit.c: Ditto.\r
-       * ntoskrnl/mm/ncache.c: Ditto.\r
-       * ntoskrnl/mm/npool.c: Ditto.\r
-       * ntoskrnl/mm/pagefile.c: Ditto.\r
-       * ntoskrnl/mm/pageop.c: Ditto.\r
-       * ntoskrnl/mm/section.c: Ditto.\r
-       * ntoskrnl/mm/slab.c: Ditto.\r
-       * ntoskrnl/mm/i386/page.c: Ditto.\r
-       * ntoskrnl/ob/handle.c: Ditto.\r
-       * ntoskrnl/ps/create.c: Ditto.\r
-       * ntoskrnl/ps/process.c: Ditto.\r
-       * ntoskrnl/ps/w32call.c: Ditto.\r
-       * subsys/win32k/include/object.h: Ditto.\r
-\r
-2002-10-01  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
-\r
-       * lib/ntdll/string/ctype.c: Undefine __MSVCRT__ to not have mingw\r
-       runtime import _pctype.\r
-\r
-2002-09-30  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
-\r
-       * lib/user32/misc/desktop.c (string.h): Include.\r
-       * lib/user32/misc/resources.c: Ditto.\r
-       * lib/user32/misc/winhelp.c: Ditto.\r
-       * lib/user32/windows/accel.c: Ditto.\r
-       * lib/user32/windows/bitmap.c: Ditto.\r
-       * subsys/win32k/freetype/ctype.c: Undefine __MSVCRT__ and _pctype to not\r
-       have mingw runtime import _pctype.\r
-\r
-2002-09-30  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
-\r
-       * ntoskrnl/cc/view.c (alloca): Prototype.\r
-       * ntoskrnl/rtl/ctype.c: Undefine __MSVCRT__ to not have mingw runtime\r
-       import _pctype.\r
-\r
-2002-08-26  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * lib/gdi32/misc/dllmain.c (GdiDllInitialize): Don't initialize\r
-       win32k.sys for each process.\r
-       * subsys/csrss/init.c (CsrServerInitialization): Initialize\r
-       win32k.sys as well.\r
-\r
-2002-08-26  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/ps/process.c (NtCreateProcess): Reference the\r
-       parent process's handle using ExGetPreviousMode.\r
-\r
-2002-08-26  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * lib/user32/misc/dllmain.c (Init): Initialize gdi32 as well.\r
-\r
-2002-08-26  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * iface/addsys/genw32k.c (main, process): Generate a set of\r
-       stubs for csrss as well.\r
-\r
-2002-08-26  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * lib/kernel32/process/create.c (CreateProcessW): Initialize\r
-       all the members of the new process's PPB.\r
-\r
-2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): Ensure the\r
-       process isn't freed in the middle of our operations.\r
-\r
-2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation): Fixed.\r
-\r
-2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/ps/create.c (PiDeleteThread): Don't dereference\r
-       the thread's process while holding the thread list lock.\r
-\r
-2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/section.c (MmMapViewOfSection): Check there is \r
-       enough space for all parts of an image before mapping it; if\r
-       there isn't enough space free at the preferred base address\r
-       then try to choose a different one.\r
-\r
-2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/mpw.c (MmInitMpwThread): Run the MPW thread at\r
-       idle priority.\r
-\r
-2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/kmap.c (ExUnmapPage, ExAllocatePageWithPhysPage,\r
-       MiFreeNonPagedPoolRegion, MiAllocNonPagedPoolRegion): Maintain\r
-       a hint of the next free page; makes running with whole page\r
-       allocation more bearable.\r
-\r
-2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/anonmem.c (MmPageOutVirtualMemory): Show an\r
-       out of swap space message if we are out of swap space.\r
-       * ntoskrnl/mm/section.c (MmPageOutSectionView): Show an\r
-       out of swap space message if we are out of swap space.\r
-       * ntoskrnl/mm/pagefile.c (MmAllocSwapPage): Don't automatically\r
-       show an out of swap space message on failure.\r
-       * ntoskrnl/mm/pagefile.c (MmShowOutOfSpaceMessagePagingFile): New\r
-       function to notify the user that the pagefile is full.\r
-\r
-2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * drivers/lib/zlib/Makefile: Create a dummy zlib.sym\r
-\r
-2002-08-16  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/npool.c (ExAllocateWholePageBlock): Converted\r
-       to use PHYSICAL_ADDRESS type for page address.\r
-\r
-2002-08-16  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * subsys/win32k/ntuser/class.c (W32kCreateClass): Corrected\r
-       typo when calculating the offset into the class object to\r
-       put the class name string.\r
-\r
-2002-08-16  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/ps/thread.c (PsDispatchThreadNoLock): Don't call\r
-       the reaper function directly; set an event to wake up a seperate\r
-       reaper thread.\r
-       * ntoskrnl/ps/thread.c (PsReaperThreadMain): New function that\r
-       waits for a notification and then calls PsReapThreads.\r
-       * ntoskrnl/ps/thread.c (PsInitThreadManagement): Create the\r
-       reaper thread.\r
-\r
-2002-08-15  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * lib/advapi32/misc/dllmain.c (DllMain): Removed debug message.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * subsys/smss/init.c (SmPagingFilesQueryRoutine): If possible\r
-       take the size of the paging file from the registry.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/section.c (MmCreateDataFileSection): Extend the\r
-       section if necessary.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/pagefile.c (NtCreatePagingFile): Set the file\r
-       size using the FileAllocationInformation class.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/anonmem.c (MmWritePageVirtualMemory): Implemented\r
-       function to write anonymous memory pages to the swap file.\r
-       * ntoskrnl/mm/anonmem.c (MmFreeVirtualMemoryPage): Free any\r
-       swap page associated with the page.\r
-       * ntoskrnl/mm/mpw.c (MmWriteDirtyPages): New function to find\r
-       pages to write to disk.\r
-       * ntoskrnl/mm/mpw.c (MmMpwThreadMain): Implemented MPW functionality.\r
-       * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): New function\r
-       to write a single page back to disk.\r
-       * ntoskrnl/mm/rmap.c (MmSetCleanAllRmaps, MmSetDirtyAllRmaps,\r
-       MmIsDirtyPageRmap): New rmap function to support the MPW thread.\r
-       * ntoskrnl/mm/section.c (MmWritePageSectionView): Implemented\r
-       function to write back section pages.\r
-       * ntoskrnl/mm/section.c (MmFreeSectionPage): Free any swap\r
-       entry associated with the page; mark pages shared with\r
-       the cache as dirty if necessary.\r
-       \r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set name of\r
-       the module into the module text structure.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/io/rw.c (NtReadFile, NtWriteFile): Use the correct\r
-       test for whether to wait for the completion of i/o.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/cm/ntfunc.c (NtFlushKey): Request synchronous i/o\r
-       from NtOpenFile.\r
-       * ntoskrnl/cm/regfile (CmiInitPermanentRegistryHive): Request\r
-       synchronous i/o from NtCreateFile.\r
-       * ntoskrnl/dbg/kdb_stabs.c (LdrpLoadModuleSymbols): Request\r
-       synchronous i/o from NtOpenFile.\r
-       * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Request synchronous i/o\r
-       from NtOpenFile.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/cc/view.c (CcRosSuggestFreeCacheSegment): Maintain the\r
-       correct reference count.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/cc/view.c (CcRosFlushCacheSegment): New function to\r
-       write back a modified cache segment.\r
-       * ntoskrnl/cc/view.c (CcRosFlushDirtyPages): New function to\r
-       flush some dirty pages from the cache.\r
-       * ntoskrnl/cc/view.c (CcRosMarkDirtyCacheSegment): New function to\r
-       mark a cache segment modified while mapped into memory as dirty.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/cc/pin.c (CcMapData, CcUnpinData, CcSetDirtyPinnedData):\r
-       Store the dirty status in the BCB; don't write back dirty data\r
-       immediately.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * include/ntos/mm.h: Added SEC_XXXX defines from 'Windows NT/2000\r
-       Native API Reference'\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * drivers/fs/vfat/ea.c (VfatSetExtendedAttributes): Empty\r
-       placeholder for extended attribute functions.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation):\r
-       Added function to set allocation size.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * drivers/fs/vfat/fcb.c (vfatFCBInitializeCache): Renamed\r
-       to vfatFCBInitializeCacheFromVolume.\r
-       * drivers/fs/vfat/fcb.c (vfatMakeFCBFromDirEntry): Don't\r
-       initialise the cache with a file object representing the\r
-       volume unless the FCB is for a directory.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * drivers/fs/vfat/create.c (VfatPagingFileCreate): Added a\r
-       new function for handling paging file only code.\r
-       * drivers/fs/vfat/create.c (VfatSupersedeFile): Added a\r
-       new function for doing a file supersede.\r
-       * drivers/fs/vfat/create.c (VfatCreateFile): Reformatted and\r
-       adjusted control flow. Set allocation size and extended attributes\r
-       on create.\r
-       * drivers/fs/vfat/create.c (VfatCreate): Removed goto.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Renamed\r
-       updEntry to VfatUpdateEntry.\r
-       * drivers/fs/vfat/close.c (VfatCloseFile): Renamed\r
-       updEntry to VfatUpdateEntry.\r
-       * drivers/fs/vfat/dirwr.c (updEntry): Renamed to\r
-       VfatUpdateEntry.\r
-       * drivers/fs/vfat/dirwr.c (addEntry): Renamed to\r
-       VfatAddEntry.\r
-\r
-2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * apps/tests/sectest/sectest.c (main): Fixed formatting.\r
-\r
-2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/i386/page.c (MmSetPageProtect): Fixed\r
-       behaviour when called on the system address space.\r
-\r
-2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/virtual.c (MmQueryAnonMem, MmProtectAnonMem,\r
-       NtAllocateVirtualMemory, NtFreeVirtualMemory): Renamed\r
-       segments to regions; moved region code to seperate file.\r
-       Implemented NtQueryVirtualMemory and NtProtectVirtualMemory\r
-       for anonymous memory areas.\r
-\r
-2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/anonmem.c: Moved functions relating to\r
-       areas created with NtAllocateVirtualMemory to a \r
-       seperate file.\r
-\r
-2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/section.c (MmQuerySectionView): Implemented\r
-       NtQueryVirtualMemory for section views.\r
-\r
-2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/section.c (MmAccessFaultSectionView,\r
-       MmNotPresentFaultSectionView, MmProtectSectionView,\r
-       MmMapViewOfSegment, MmAlterViewAttributes): Implemented \r
-       NtProtectVirtualMemory for section views.\r
-\r
-2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/ke/main.c: Removed SEH test code.\r
-\r
-2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * lib/ntdll/ldr/utils.c (LdrFixupImports): Remove the readonly\r
-       protection from the IAT before writing to it.\r
-\r
-2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * lib/ntdll/ldr/utils.c (LdrAdjustDllName): Properly null terminate\r
-       the base name of the DLL.\r
-\r
-2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set the text segment\r
-       of modules to readonly after loading.\r
-\r
-2002-08-09  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/ps/create.c (NtCreateThread): Call PsSuspendThread\r
-       if NtCreateThread has CreateSuspended as TRUE.\r
-       * ntoskrnl/ps/suspend.c (PsSuspendThread, PsResumeThread,\r
-       PiSuspendThreadKernelRoutine): Fixed suspend functionality.\r
-\r
-2002-08-09  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/ke/i386/usertrap.c (print_user_address): Copy\r
-       the LDR variable from the right address.\r
-\r
-2002-08-09  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/ke/apc.c (KiDeliverNormalApc): Check for\r
-       kernel APCs pending on exit from the kernel.\r
-       * ntoskrnl/ke/apc.c (KiDeliverNormalApc, KiDeliverUserApc,\r
-       KiDeliverApc): Set the APC's inserted flag to FALSE after\r
-       removing it from the thread's queue.\r
-\r
-2002-08-09  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * lib/kernel32/thread/thread.c (ThreadStartup): Don't\r
-       call DLL entrypoints; this is done by LdrInitializeThunk.\r
-       * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call\r
-       DLLs in initialization order; take the loader lock before\r
-       calling.\r
-\r
-2002-08-09  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * apps/tests/thread/thread.c (main): Test suspend and\r
-       resume functionality.\r
-\r
-2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/mm/section (NtQuerySection): Return the\r
-       right result length.\r
-\r
-2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/ke/usertrap.c (print_user_address): Check for\r
-       a NULL LDR structure in the PEB; copy the LDR pointer in\r
-       safely. \r
-\r
-2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/ke/apc.c (KiDeliverUserApc): Deliver all present\r
-       APCs; release the APC spinlock while acccessing user memory.\r
-\r
-2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * include/internal/ps.h: Adjusted offsets into the ETHREAD\r
-       structure.\r
-       * include/internal/ps.h: Removed redundant members from the\r
-       KTHREAD structure.\r
-       * ntoskrnl/ke/kthread.c (KeInitializeThread): Removed\r
-       redundant members from the KTHREAD structure.\r
-\r
-2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/dbg/kdb.c (KdbEnterDebuggerException): New\r
-       function to enter the debugger on an exception.\r
-       * ntoskrnl/kd/kdebug.c (KdInitSystem): Initialize the\r
-       local kernel debugger if enabled.\r
-       * ntoskrnl/ke/catch.c (KiDispatchException): Enter the\r
-       local kernel debugger on an exception.\r
-\r
-2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * include/ntdll/ldr.h: Added definition for a DLL entrypoint.\r
-       * lib/kernel32/process/create.c (KlCreateFirstThread): Put\r
-       the argument to the NtProcessStartup function on the stack.\r
-       * lib/kernel32/process/create.c (KlInitPeb): Read the\r
-       base address of the new image from the PEB.\r
-       * lib/kernel32/process/create.c (CreateProcessW): Start the\r
-       first thread at the entrypoint of the new image.\r
-       * lib/ntdll/ldr/startup.c (LdrInitializeThunk): If the\r
-       function is called after the initial startup then just call the\r
-       entrypoints for the loaded DLLs with DLL_THREAD_ATTACH. Don't\r
-       call the entrypoint of the image.\r
-       * lib/ntdll/rtl/process.c (RtlpCreateFirstThread): Put the\r
-       argument to the NtProcessStartup function on the stack.\r
-       * lib/ntdll/rtl/process.c (KlInitPeb): Read the base address of\r
-       the new image from the PEB.\r
-       * lib/ntdll/rtl/process.c (RtlCreateUserProcess): Start the\r
-       first thread at the entrypoint of the new image.\r
-       * ntoskrnl/ke/i386/bthread.S (PsBeginThreadWithContextInternal):\r
-       Use the system call path to begin a usermode thread.\r
-       * ntoskrnl/ke/i386/thread.c (Ke386InitThreadWithContext): Convert\r
-       the supplied context into a trap frame.\r
-       * ntoskrnl/ldr/init.c (LdrLoadInitialProcess): Put the PEB argument\r
-       to the NtProcessStartup function on the new stack; start the\r
-       first thread at the entrypoint of the image.\r
-       * ntoskrnl/ps/create.c (NtCreateThread): Create an APC to call\r
-       LdrInitializeThunk in the context of a new thread before its\r
-       entrypoint.\r
-\r
-2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Uninitialise\r
-       the cache on file cleanup.\r
-       * drivers/fs/vfat/fcb.c (vfatReleaseFcb): Don't uninitialise\r
-       the cache on file close.\r
-       * ntoskrnl/cc/copy.c: Renamed zero page global variable.\r
-       * ntoskrnl/cc/view.c: Added cache delete function.\r
-\r
-2002-07-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
-\r
-       * rules.mak (RSYM): Define.\r
-       * include/ddk/zwtypes.h (DebugDbgLoadSymbols): Add to enum\r
-       _DEBUG_CONTROL_CODE.\r
-       * include/ntdll/ldr.h (LDR_SYMBOL_INFO, LdrpLoadUserModuleSymbols): Add.\r
-       (LdrLoadModuleSymbols): Remove.\r
-       * include/ntos/kdbgsyms.h (ST_FILENAME, ST_FUNCTION,\r
-       ST_LINENUMBER): Add.\r
-       (SYMBOL). Make Name an ANSI_STRING.\r
-       (IMAGE_SYMBOL_INFO, AreSymbolsParsed): Add.\r
-       * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call\r
-       LdrpLoadUserModuleSymbols() not LdrLoadModuleSymbols().\r
-       * lib/ntdll/ldr/utils.c (LdrLoadModuleSymbols): Rename to\r
-       LdrpLoadUserModuleSymbols.\r
-       (LdrpLoadUserModuleSymbols): Use DebugDbgLoadSymbols debug control code.\r
-       (LdrLoadDll): assert if out of memory.\r
-       (LdrLoadDll): Call\r
-       LdrpLoadUserModuleSymbols(), not LdrLoadModuleSymbols().\r
-       * lib/ntdll/string/ctype.c (_pctype): #undef.\r
-       * ntoskrnl/dbg/dbgctrl.c (NtSystemDebugControl): Call\r
-       LdrLoadUserModuleSymbols on DebugDbgLoadSymbols.\r
-       * ntoskrnl/include/internal/ldr.h (LdrGetAddressInformation): Add.\r
-       * ntoskrnl/include/internal/module.h (MODULE_TEXT_SECTION): Make SymbolInfo\r
-       an IMAGE_SYMBOL_INFO.\r
-       * ntoskrnl/ke/i386/exp.c (LdrGetAddressInformation): Add prototype.\r
-       (print_address): Change #ifdef KDBG to #ifdef DBG.\r
-       (KiDoubleFaultHandler, KiDumpTrapFrame, KeDumpStackFrames): Dump\r
-       one stack frame per line.\r
-       * ntoskrnl/ke/i386/multiboot.S: Create pagetables for more kernel\r
-       address space so larger modules can be passed from the boot loader.\r
-       * ntoskrnl/ke/i386/usertrap.c (LdrGetAddressInformation): Add prototype.\r
-       (print_user_address): Print symbols using LdrGetAddressInformation().\r
-       * ntoskrnl/ldr/loader.c (SYMBOLFILE_HEADER, IMAGE_SYMBOL_INFO_CACHE,\r
-       STAB_ENTRY, N_FUN, N_SLINE, N_SO, SymbolListHead): Add.\r
-       (TAG_SYM_BUF): Remove.\r
-       (LdrInitDebug): Remove unneeded code.\r
-       (LdrInit1): Prepare for loading symbols.\r
-       (LdrpReadLine, HexL, LdrpParseLine, LdrpLoadModuleSymbolsFromBuffer,\r
-       LdrpLoadUserModuleSymbolsFromBuffer): Remove.\r
-       (LdrpParseImageSymbols, LdrpGetFileName, LdrpGetFunctionName,\r
-       LdrpGetLineNumber, LdrGetAddressInformation, LdrpLookupUserSymbolInfo): Add.\r
-       (LdrpLoadModuleSymbols, LdrInitializeBootStartDriver): Change to use new\r
-       symbol structures.\r
-       (LdrLoadUserModuleSymbols): Cache symbol buffers.\r
-       (LdrUnloadModuleSymbols): Implement.\r
-       (LdrLoadModule, LdrUnloadModule): Change #ifdef KDBG to #ifdef DBG.\r
-       (LdrPEProcessModule): Split a line into two lines.\r
-       (LdrPEProcessModule): Setup for loading symbols.\r
-       * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Open with FILE_SHARE_READ.\r
-       * ntoskrnl/ps/process.c (PiFreeSymbols): Call LdrUnloadModuleSymbols() to\r
-       free symbols.\r
-       (PiDeleteProcess): Change #ifdef KDBG to #ifdef DBG.\r
-       * ntoskrnl/rtl/ctype.c (_pctype): #undef.\r
-       * ntoskrnl/rtl/string.c (strncpy): Terminate destination string.\r
-       * tools/Makefile (rsym): Add target.\r
-       * tools/helper.mk: Include config and use -g if DBG = 1.\r
-\r
-2002-07-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
-\r
-       * Makefile (install_before): Install system.hiv to correct location.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * subsys/win32k/include/callback.h: Fixed callback argument\r
-       definitions.\r
-       * subsys/win32k/ntuser/winpos.c: Implemented some more of the windows\r
-       sizing/moving code.\r
-       * subsys/win32k/ntuser/painting.c: Implemented some more of the\r
-       window painting code.\r
-       * subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.\r
-       * subsys/win32k/objects/region.c: Added stubs for some more\r
-       region functions.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the\r
-       process desktop handle as well.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/se/token.c: Don't call the ZwXXX variant of\r
-       system calls when in system context.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * ntoskrnl/Makefile: Added file with MDA output code.\r
-       * ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for\r
-       debug output.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * lib/user32/windows/defwnd.c: Implemented some more of the\r
-       default window handler.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * lib/user32/misc/stubs.c: Removed some stubs to seperate files.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * lib/user32/user32.def: Export ScreenToClient otherwise we\r
-       get problems when code in user32 tries to call it.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * include/win32k/region.h: Added prototypes for some missing\r
-       region functions.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * include/win32k/ntuser.h: Added prototypes for some missing\r
-       NtUserXXX functions.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * include/user32/wininternal.h: Added some constants for\r
-       private GetDCEx styles that WINE needs.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * include/user32/callback.h: Fixed callbacks for messages with\r
-       parameters.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * include/napi/win32.h (W32THREAD): Added pointer to the\r
-       thread's desktop.\r
-       * include/napi/win32.h (W32PROCESS): Removed handle table,\r
-       added a pointer to the process's window station.\r
-       * subsys/win32k/ntuser/guicheck.c (W32kGuiCheck): Reference\r
-       a process's window station on the first win32k system call. Reference\r
-       a thread's desktop on the first win32k system call.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * include/messages.h: Added some missing WM_XXX constants.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * drivers/dd/ide/makefile: Compiling with debugging messages\r
-       needs libgcc to be linked in.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * iface/addsys/genw32k.c: Generate a variable with the\r
-       number of system calls.\r
-       * iface/native/genntdll.c: Generate a proper stack frame for\r
-       the user system call stubs.\r
-       * ntoskrnl/ke/i386/syscall.S: Generate a proper stack frame for\r
-       the handler for system calls.\r
-\r
-2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
-\r
-       * Makefile: Build the GUI startup application.\r
-       * subsys/system/gstart/gstart.c: Application to start up\r
-       the GUI.\r
-\r
-2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * tools/helper.mk: Make an import library a proper target\r
-       depending on the .def file.\r
-\r
-2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * subsys/win32k/ntuser/window.c (NtUserGetWindowLong): Began\r
-       implementation.\r
-\r
-2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * subsys/win32k/misc/object.c (ObmCreateHandle): Return the\r
-       correct handle value.\r
-\r
-2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * subsys/win32k/makefile: Make win32k depend on the file containing\r
-       the service table. \r
-\r
-2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * ntoskrnl/ke/i386/stkswitch.S (KeSwitchStackAndRet,\r
-       KePushAndStackSwitchAndSysRet): Push one value only.\r
-       * ntoskrnl/ps/w32call.c (NtCallbackReturn, NtW32Call): Moved\r
-       these functions to a new file. Restore the old trap frame after\r
-       returning from a callback.\r
-\r
-2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * lib/user32/windows/message.c (CallWindowProcA, CallWindowProcW):\r
-       Convert message to Unicode or ASCII if necessary.\r
-\r
-2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * include/user32/callback.h: Added WM_CREATE and WM_NCCALCSIZE\r
-       callbacks.\r
-       * lib/user32/windows/window.c (User32SendCREATEMessageForKernel,\r
-       User32SendNCCREATEMessageForKernel): Implemented.\r
-       * subsys/win32k/ntuser/callback.c (W32kSendCREATEMessage):\r
-       Implemented.    \r
-\r
-2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * include/structs.h: Added Unicode and ASCII versions of\r
-       CREATESTRUCT.\r
-\r
-2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * tools/helper.mk: Make the install target depend on all the\r
-       files to be installed.\r
-\r
-2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the\r
-       top of the old stack.\r
-       * ntoskrnl/ps/thread.c (NtW32Call): Set TSS.Esp0 to the top of\r
-       the new stack. Free the callback stack correctly. Don't copy\r
-       portion of the trap frame that doesn't exist in non-v86-mode\r
-       interrupts.\r
-       * ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to\r
-       free a stack allocated with PsAllocateCallbackStack.\r
-\r
-2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * drivers/dd/null/makefile: Commented out local LDFLAGS as\r
-       these cause bad relocations in the stripped image.\r
-\r
-2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * config: Corrected spelling error.\r
-\r
-2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * subsys/system/winlogon/winlogon.c (WinMain): Check for\r
-       failure when creating a window system.\r
-\r
-2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * ntoskrnl/ob/handle.c (ObDuplicateObject): Added this internal\r
-       function for duplicating objects.\r
-       * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the parent\r
-       process's window station to the child process.\r
-       * ntoskrnl/ps/process.c (PsInitProcessManagement): Initialize the\r
-       first process's window station.\r
-\r
-2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * ntoskrnl/mm/marea.c (MmCreateMemoryArea): Initialise\r
-       page operation structure members.\r
-       * ntoskrnl/mm/pageop.c (MmReleasePageOp, MmGetPageOp): Increment\r
-       or decrement the page operation count in the memory area.\r
-       * ntoskrnl/mm/virtual.c (MmNotPresentFaultVirtualMemory,\r
-       MmPageOutVirtualMemory): Check for a deleted memory area before \r
-       handling the fault.\r
-       * ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all\r
-       page operations to finish before freeing the memory area.\r
-\r
-2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * ntoskrnl/ke/i386/syscall.S (interrupt_handler2e): Corrected\r
-       test for previous mode, upper 16-bit of CS on the stack after an\r
-       interrupt are arbitary.\r
-\r
-2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * lib/user32/misc/winsta.c: Cleaned up indentation.\r
-\r
-2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-       \r
-       * apps/tests/winhello/winhello.c (WinMain, MainWndProc):\r
-       Cleaned up formatting, some more error checks.\r
-\r
-2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,\r
-       MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.\r
-\r
-2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3\r
-       correctly.\r
-\r
-2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
-\r
-       * ntoskrnl/include/internal/ps.h: Added KTHREAD_STACK_LIMIT definition.\r
-       * ntoskrnl/ke/i386/tskswitch.S (Ki386ContextSwitch): Force all the\r
-       pages of the kernel stack to be accessible from this process.\r
-       \r
-2002-06-04  David Welch  <welch@cwcom.net>\r
-\r
-       * ntoskrnl/cc/view.c (ReadCacheSegmentChain): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/cc/copy.c (CcRosCreateCacheSegment): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/cc/copy.c (CcFreeCachePage): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/include/internal/mm.h: Changed prototypes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/include/internal/ps.h (KPROCESS): Changed type of\r
-       page directory base to PHYSICAL_ADDRESS.\r
-       * ntoskrnl/include/internal/i386/mm.h: Changed prototypes to use\r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/ke/kthread.c (KeFreeStackPage): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/ke/kthread.c (KeInitializeThread): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/ke/process.c (KeAttachProcess, KeDetachProcess): Changes \r
-       to use PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/ke/kernel.c (PcrPages, KeApplicationProcessorInit): Changes\r
-       to use PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/balance.c (MM_ALLOCATION_REQUEST): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/balance.c (MmReleasePageMemoryConsumer): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/balance.c (MmRequestPageMemoryConsumer): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/cont.c (MmFreeContinuousPage): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/cont.c (MmAllocateContinuousAlignedMemory): Changes to \r
-       use PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/freelist.c (MmTransferOwnershipPage, \r
-       MmGetLRUFirstUserPage, MmGetLRUNextUserPage, MmGetContinuousPages,\r
-       MmInitializePageList, MmSetFlagsPage, MmSetRmapListHeadPage,\r
-       MmGetRmapListHeadPage, MmMarkPageMapped, MmMarkPageUnmapped,\r
-       MmGetFlagsPage, MmSetSavedSwapEntryPage, MmGetSavedSwapEntryPage,\r
-       MmReferencePage, MmGetReferenceCountPage, MmIsUsablePage,\r
-       MmDereferencePage, MmGetLockCountPage, MmLockPage, MmUnlockPage,\r
-       MmAllocPage): Changes to use PHYSICAL_ADDRESS type for physical \r
-       addresses.\r
-       * ntoskrnl/mm/iospace.c (MmMapIoSpace): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/kmap.c (ExAllocatePage, MiZeroPage, MiCopyFromUserPage,\r
-       ExAllocatePageWithPhysPage): Changes to use PHYSICAL_ADDRESS type for \r
-       physical addresses.\r
-       * ntoskrnl/mm/marea.c (MmFreeMemoryArea): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/mdl.c (MmUnlockPages, MmMapLockedPages, \r
-       MmProbeAndLockPages): Changes to use PHYSICAL_ADDRESS type for \r
-       physical addresses.\r
-       * ntoskrnl/mm/mm.c (MmSharedDataPagePhysicalAddress, \r
-       MmCommitPagedPoolAddress, MmNotPresentFault): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/mminit.c (MmInitVirtualMemory): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/ncache.c (MmAllocateNonCachedMemory, \r
-       MmFreeNonCachedPage): Changes to use PHYSICAL_ADDRESS type for \r
-       physical addresses.\r
-       * ntoskrnl/mm/npool.c (grow_kernel_pool): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/rmap.c (MmPageOutPhysicalAddress, MmInsertRmap,\r
-       MmDeleteAllRmaps, MmDeleteRmap): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/section.c (MiReadPage, MmNotPresentFaultSectionView,\r
-       MmAccessFaultSectionView, MmPageOutDeleteMapping, \r
-       MmPageOutSectionView, MmFreeSectionPage): Changes to use \r
-       PHYSICAL_ADDRESS type for physical addresses.\r
-       * ntoskrnl/mm/slab.c (ExGrowSlabCache): Changes to use \r
-       PHYSICAL_ADDRESS type for physical address.\r
-       * ntoskrnl/mm/virtual.c (MmPageOutVirtualMemory, \r
-       MmNotPresentFaultVirtualMemory, MmFreeVirtualMemoryPage): Changes to \r
-       use PHYSICAL_ADDRESS type for physical address.\r
-       * ntoskrnl/mm/wset.c (MmTrimUserMemory): Changes to use \r
-       PHYSICAL_ADDRESS type for physical address.\r
-       * ntoskrnl/mm/page.c (Mmi386ReleaseMmInfo, MmCopyMmInfo,\r
-       MmGetPhysicalAddressForProcess, MmCreateVirtualMapping,\r
-       MmCreateVirtualMappingUnsafe, MmCreateVirtualMappingForProcess,\r
-       MmDeleteVirtualMapping): Changes to use PHYSICAL_ADDRESS type for \r
-       physical address.\r
-       * ntoskrnl/ps/process (PsInitProcessManagment): Changes to use \r
-       PHYSICAL_ADDRESS type for physical address.\r
-       * ntoskrnl/ps/thread.c (PsAllocateCallbackStack): Changes to use \r
-       PHYSICAL_ADDRESS type for physical address.\r
-\r
-2002-06-04  David Welch  <welch@cwcom.net>\r
-\r
-       * Lots of change since the ChangeLog was last updated.\r
-\r
-2001-03-18  David Welch  <welch@cwcom.net>\r
-\r
-       * ntoskrnl/ke/apc.c (KiDeliverApc): Bug fix.\r
-       * ntoskrnl/ke/apc.c (KeInsertQueueApc): More comments.\r
-       * ntoskrnl/ke/catch.c (KiDispatchException): Bug fix.\r
-       * ntoskrnl/ke/timer.c (KeDelayExecutionThread): Don't use removed \r
-       function KeAddTimeoutThread.\r
-       * ntoskrnl/ke/timer.c (KeAddTimeoutThread): Removed.\r
-       * ntoskrnl/ke/wait.c (KeWaitForSingleObject, KeWaitForMultipleObjects):\r
-       Don't use KeAddTimeoutThread.\r
-       * ntoskrnl/mm/freelist.c (MmAllocateContiguousAlignedMemory): Bug fix\r
-       * ntoskrnl/mm/freelist.c (MmAllocatePage): Allocate from the top\r
-       memory.\r
-\r
-2001-03-17  David Welch  <welch@cwcom.net>\r
-\r
-       * ntoskrnl/ke/catch.c (KiDispatchException): Implementation of\r
-       exception handling, user-mode only.\r
-\r
-2001-03-16  David Welch  <welch@cwcom.net>\r
-\r
-       * include/ddk/zw.h: Corrected declarations of NtCreateProfile,\r
-       NtQueryIntervalProfile, NtSetIntervalProfile.\r
-       * include/ddk/zwtypes.h: Added definitions of KPROFILE_SOURCE.\r
-       * ntoskrnl/include/internal/ke.h: Added the interrupted EIP as a\r
-       parameter to KiUpdateSystemTime for profiling purposes.\r
-       * ntoskrnl/include/internal/nt: Added declaration for profiling\r
-       support initialization.\r
-       * ntoskrnl/ke/timer.c (KiUpdateSystemTime, KeExpireTimers): Call\r
-       the profiling code on a timer interrupt with the interrupt EIP.\r
-       * ntoskrnl/ke/i386/irq.c (KiDispatchInterrupt): Pass the interrupted\r
-       EIP to KiUpdateSystemTime.\r
-       * ntoskrnl/mm/virtual.c (NtReadVirtualMemory, NtWriteVirtualMemory):\r
-       Release the MDLs used properly.\r
-       * ntoskrnl/nt/nt.c: Call the profiling support initialization.\r
-       * ntoskrnl/nt/ntevent.c (NtCreateEvent): Don't try copying the\r
-       ObjectAttributes parameter if it is NULL.\r
-       * ntoskrnl/nt/profile.c: Implemented profiling.\r
-\r
-2001-03-16  David Welch  <welch@cwcom.net>\r
-\r
-       * ntoskrnl/include/internal/safe.h: Corrected typo.\r
-       * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):\r
-       Corrected typos.\r
-       * ntoskrnl/rtl/mem.c: Missing header file.\r
-\r
-2001-03-16  David Welch  <welch@cwcom.net>\r
-\r
-       * ntoskrnl/include/internal/safe.h: Add definitions for handling\r
-       potentially unsafe pointers.\r
-\r
-2001-03-16  David Welch  <welch@cwcom.net>\r
-\r
-       * ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and\r
-       MmSafeCopyFromUser as source files need these but don't want internal \r
-       mm definitions.\r
-       * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,\r
-       NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from\r
-       user mode safely.\r
-       * ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper\r
-       functions for copying data to and from potentially unsafe pointers.\r
-\r
-2000-12-23  David Welch  <welch@cwcom.net>\r
-\r
-       * All task switching is done in software.\r
-       * Beginnings of v86 mode support.\r
-\r
-2000-12-22  David Welch  <welch@cwcom.net>\r
-\r
-       * ntoskrnl/ps/kill.c (PiTerminateProcessThreads): Drop \r
-       PiThreadListLock before calling PsTerminateOtherThread\r
-\r
-2000-12-16  David Welch  <welch@cwcom.net>\r
-\r
-       * ntoskrnl/ex/fmutex.c (ExReleaseFastMutexUnsafe): Only set the\r
-       fast mutex's owner back to NULL if it is being released\r
-\r
-2000-12-10  David Welch  <welch@cwcom.net>\r
-\r
-       * ntoskrnl/ke/i386/vm86_sup.S (Ki386RetToV86Mode): Added function\r
-       to do the raw switch to v86 mode.\r
-       * ntoskrnl/include/internal/vm86.h: Definitions for the v86 mode\r
-       support.\r
-\r
-2000-12-10  David Welch  <welch@cwcom.net>\r
-\r
-       * ntoskrnl/ke/i386/trap.s (PsBeginThreadWithContextInternal): Moved\r
-       to ntoskrnl/ke/i386/bswitch.S.\r
-       * ntoskrnl/ke/i386/trap.s (interrupt_handler2e): Moved to\r
-       ntoskrnl/ke/i386/syscall.S.\r
-       * ntoskrnl/ke/i386/trap.s (old_interrupt_handler2e): Removed.\r
-\r
-2000-12-04  David Welch  <welch@cwcom.net>\r
-\r
-       * ntoskrnl/ke/i386/irq.c (KiInterruptDispatch): Record the last PC \r
-       value for a rescheduled thread.\r
-       * ntoskrnl/ke/i386/irqhand.s: Construct a primitive trap frame\r
-       in interrupt handlers.  \r
-       \r
-2000-08-30  David Welch  <welch@cwcom.net>\r
-\r
-       * Added calibration of KeStallExecutionProcessor timing\r
-         (code from linux 2.2.16).\r
-              \r
-       * Corrected compilation bugs in user32 library.\r
-\r
-       * Corrected compilation bugs related to anonymous structs\r
-         in ndis code.\r
-              \r
-       * Pass command line to kernel from loadros.\r
-              \r
-       * Corrected PIC mask calculation.\r
-              \r
-2000-05-27  David Welch <welch@cwcom.net>\r
-\r
-        * Fixed issue with closing non-existent or already closed\r
-          handle.\r
-\r
-2000-01-26  David Welch <welch@cwcom.net>\r
-\r
-        * ZwCreateProcess now maps ntdll rather than the user-mode\r
-          code.\r
-\r
-1999-09-06  David Welch <welch@cwcom.net>\r
-\r
-        * Implemented ZwOpenProcess.\r
-               \r
-       * Partially implemented killing other threads (possible memory\r
-          leaks).\r
-              \r
-       * Made a start on a proper implemention of APCs (based on \r
-         article in NT insider).\r
-\r
-1998-12-08  David Welch <welch@cwcom.net>\r
-\r
-        * Corrected bug in shell (Read two keypresses and assumed they\r
-          where the key going up and down respectively).\r
-              \r
-       * Corrected race in dpc handling.\r
-              \r
-       * Took out cleanup sections in ZwReadFile (now handled by the \r
-         APC).\r
-              \r
-       * Disabled broken code in kernel32.\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-       \r
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/fs/util.c (FsRtlGetFileSize): Implement.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * lib/ntdll/rtl/nls.c (RtlCustomCPToUnicodeN, RtlMultiByteToUnicodeN,
+       RtlOemToUnicodeN, RtlUnicodeToCustomCPN, RtlUnicodeToMultiByteN,
+       RtlUnicodeToMultiByteSize, RtlUnicodeToOemN,
+       RtlUpcaseUnicodeToCustomCPN, RtlUpcaseUnicodeToMultiByteN,
+       RtlUpcaseUnicodeToOemN): Assert when unimplemented code is reached.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/ntos/zwtypes.h (FILE_BASIC_INFORMATION): Use LARGE_INTEGER,
+       not TIME type for time fields.
+       * lib/kernel32/file/copy.c (SetLastWriteTime): Adjust for new type.
+       (CopyFileExW): Ditto.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/ntos/types.h (FALSE): Protect with #ifndef FALSE.
+       (TRUE): Protect with #ifndef TRUE.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/napi/i386/segment.h (put_user, get_user,
+       bad_user_access_length, __segment_dummy, __sd, __const_sd, __put_user,
+       __get_user, __generic_memcpy_tofs, __constant_memcpy_tofs, COMMON,
+       __generic_memcpy_fromfs, __constant_memcpy_fromfs, memcpy_fromfs,
+       memcpy_tofs, get_fs_byte, get_fs_word, get_fs_long, put_fs_byte,
+       put_fs_word, put_fs_long, get_user_word, get_user_byte, get_user_long,
+       put_user_byte, put_user_word, put_user_long, get_fs, get_ds, set_fs,
+       set_ds): Remove.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/ddk/pstypes.h (TLS_OUT_OF_INDEXES): Define.
+
+2003-02-18  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/cc/view.c (CcRosFlushDirtyPages): Treat a write attempt with
+       a return value of STATUS_END_OF_FILE as a successful write.
+       * ntoskrnl/cc/copy.c (WriteCacheSegment): Ditto.
+
+2003-02-18  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/cm/regfile.c (CmiRemoveSubKey): Kill warnings.
+       (CmiMergeFree): Ditto.
+
+2003-02-10  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/structs.h (OSVERSIONINFOEXA): Expand definition of
+       OSVERSIONINFOA.
+       (OSVERSIONINFOEXW): Expand definition of OSVERSIONINFOW.
+       * lib/msafd/misc/helpers.c (LocateHelperDLL): Cast AddressFamily,
+       SocketType, and Protocol to INT.
+       * lib/ws2_32/misc/catalog.c (LocateProvider): Ditto.
+
+2003-01-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/dbg/profile.c (KdbProfilerThreadMain): Make STDCALL.
+
+2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * drivers/net/tcpip/makefile (TCP_OBJECTS): Add transport/tcp/tcpcore.o,
+       transport/tcp/tcp_input.o, transport/tcp/tcp_ipv4.o,
+       transport/tcp/tcp_output.o, and transport/tcp/tcp_timer.o.
+       * drivers/net/tcpip/transport/tcp/tcp.c (TCPStartup): Call tcp_init().
+       * drivers/net/tcpip/include/linux.h: New file.
+       * drivers/net/tcpip/include/tcpcore.h: Ditto.
+       * drivers/net/tcpip/include/tcpdef.h: Ditto.
+       * drivers/net/tcpip/transport/tcp/tcp_input.c: Ditto.
+       * drivers/net/tcpip/transport/tcp/tcp_ipv4.c: Ditto.
+       * drivers/net/tcpip/transport/tcp/tcp_output.c: Ditto.
+       * drivers/net/tcpip/transport/tcp/tcp_timer.c: Ditto.
+       * drivers/net/tcpip/transport/tcp/tcpcore.c: Ditto.
+
+2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * lib/kernel32/k32.h: New file.
+       * lib/kernel32/makefile (TARGET_CFLAGS): Add -I./.
+       (TARGET_PCH): Set to k32.h.
+       * lib/kernel32/except/except.c: Use <k32.h>.
+       * lib/kernel32/file/backup.c: Ditto.
+       * lib/kernel32/file/cnotify.c: Ditto.
+       * lib/kernel32/file/copy.c: Ditto.
+       * lib/kernel32/file/create.c: Ditto.
+       * lib/kernel32/file/curdir.c: Ditto.
+       * lib/kernel32/file/delete.c: Ditto.
+       * lib/kernel32/file/deviceio.c: Ditto.
+       * lib/kernel32/file/dir.c: Ditto.
+       * lib/kernel32/file/dosdev.c: Ditto.
+       * lib/kernel32/file/file.c: Ditto.
+       * lib/kernel32/file/find.c: Ditto.
+       * lib/kernel32/file/iocompl.c: Ditto.
+       * lib/kernel32/file/lfile.c: Ditto.
+       * lib/kernel32/file/lock.c: Ditto.
+       * lib/kernel32/file/mailslot.c: Ditto.
+       * lib/kernel32/file/move.c: Ditto.
+       * lib/kernel32/file/npipe.c: Ditto.
+       * lib/kernel32/file/pipe.c: Ditto.
+       * lib/kernel32/file/rw.c: Ditto.
+       * lib/kernel32/file/tape.c: Ditto.
+       * lib/kernel32/file/volume.c: Ditto.
+       * lib/kernel32/mem/global.c: Ditto.
+       * lib/kernel32/mem/heap.c: Ditto.
+       * lib/kernel32/mem/isbad.c: Ditto.
+       * lib/kernel32/mem/local.c: Ditto.
+       * lib/kernel32/mem/procmem.c: Ditto.
+       * lib/kernel32/mem/section.c: Ditto.
+       * lib/kernel32/mem/virtual.c: Ditto.
+       * lib/kernel32/misc/atom.c: Ditto.
+       * lib/kernel32/misc/comm.c: Ditto.
+       * lib/kernel32/misc/console.c: Ditto.
+       * lib/kernel32/misc/debug.c: Ditto.
+       * lib/kernel32/misc/dllmain.c: Ditto.
+       * lib/kernel32/misc/env.c: Ditto.
+       * lib/kernel32/misc/error.c: Ditto.
+       * lib/kernel32/misc/handle.c: Ditto.
+       * lib/kernel32/misc/ldr.c: Ditto.
+       * lib/kernel32/misc/profile.c: Ditto.
+       * lib/kernel32/misc/res.c: Ditto.
+       * lib/kernel32/misc/stubs.c: Ditto.
+       * lib/kernel32/misc/sysinfo.c: Ditto.
+       * lib/kernel32/misc/time.c: Ditto.
+       * lib/kernel32/process/cmdline.c: Ditto.
+       * lib/kernel32/process/create.c: Ditto.
+       * lib/kernel32/process/proc.c: Ditto.
+       * lib/kernel32/process/session.c: Ditto.
+       * lib/kernel32/string/lstring.c: Ditto.
+       * lib/kernel32/synch/critical.c: Ditto.
+       * lib/kernel32/synch/event.c: Ditto.
+       * lib/kernel32/synch/intrlck.c: Ditto.
+       * lib/kernel32/synch/mutex.c: Ditto.
+       * lib/kernel32/synch/sem.c: Ditto.
+       * lib/kernel32/synch/timer.c: Ditto.
+       * lib/kernel32/synch/wait.c: Ditto.
+       * lib/kernel32/thread/fiber.c: Ditto.
+       * lib/kernel32/thread/thread.c: Ditto.
+       * lib/kernel32/thread/tls.c: Ditto.
+
+2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * apps/testsets/Makefile (TEST_SETS): Remove ldr.
+       * include/msvcrt/ctype.h (towupper): Make returntype wchar_t.
+
+2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * tools/rtouch.c: Include <sys/utime.h>, not <utime.h>.
+
+2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * tools/rtouch.c: New file.
+       * rules.mak (ROS_USE_PCH): Default to no.
+       (RTOUCH): Define.
+       * tools/Makefile: Add rtouch utility.
+       * tools/helper.mk: Support precompiled headers.
+
+2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/dbg/profile.c: New file.
+       * ntoskrnl/Makefile (OBJECTS_KDBG): Add dbg/profile.o.
+       * ntoskrnl/dbg/kdb.h: Define NTOS_MODE_KERNEL. Include <ntos.h>.
+       (LdrGetAddressInformation, KdbInitProfiling, KdbInitProfiling2,
+       KdbDisableProfiling, KdbEnableProfiling, KdbProfileInterrupt) Prototype.
+       * ntoskrnl/kd/kdebug.c (KdInitSystem): Add /PROFILE option if KDBG=1.
+       * ntoskrnl/ke/main.c (ExpInitializeExecutive): Call KdbInitProfiling2()
+       if KDBG=1.
+       * ntoskrnl/ke/i386/irq.c: Include <../dbg/kdb.h> if KDBG=1.
+       (KiInterruptDispatch): Call KdbProfileInterrupt() on timer interrupt
+       if KDBG=1.
+
+2003-01-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * drivers/fs/vfat/create.c (VfatSupersedeFile): Only notify cache manager
+       about change in file size if caching is initiated on the file stream.
+
+2003-01-11  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * boot.bat: Use DOS end-of-line characters.
+
+2003-01-02  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/ke/timer.c (KeExpireTimers): Avoid signed/unsigned comparison
+       warning.
+       * lib/user32/controls/scrollbar.c (SCROLL_DrawScrollBar): Put a statement
+       at end.
+
+2002-12-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Only uninitialize caching
+       when initialized.
+       * drivers/fs/vfat/fcb.c (vfatReleaseFCB): Ditto.
+       * lib/kernel32/mem/section.c (CreateFileMappingW): Pass NULL as
+       MaximumSize to NtCreateSection if dwMaximumSizeHigh and dwMaximumSizeLow
+       are both 0.
+       * ntoskrnl/cc/pin.c (CcMapData): Assert if Bcb is NULL.
+       * ntoskrnl/cc/view.c (CcRosReleaseCacheSegment, CcRosLookupCacheSegment,
+       CcRosMarkDirtyCacheSegment, CcRosUnmapCacheSegment,
+       CcRosCreateCacheSegment, CcRosGetCacheSegmentChain,
+       CcRosGetCacheSegment, CcRosRequestCacheSegment, CcFlushCache,
+       CcRosDeleteFileCache, CcRosReferenceCache, CcRosDereferenceCache,
+       CcRosReleaseFileCache, CcGetFileObjectFromSectionPtrs): Ditto.
+       * ntoskrnl/mm/section.c (MiReadPage): Assert if Fcb->Bcb is NULL.
+       (MmCreateDataFileSection): Make sure caching is initialized for the file
+       stream.
+
+2002-11-15  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/ddk/ldrtypes.h: Move ...
+       * include/ntos/ldrtypes.h: ... here.
+       * include/ddk/ntddk.h: Include ldrtypes.h at new location.
+
+2002-11-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * drivers/bus/acpi/ospm/osl.c (acpi_os_readable, acpi_os_writable):
+       Match prototypes.
+       * include/ascii.h (AbortSystemShutdownA): Correct prototype.
+       * include/debug.h (assert): Wrap in #ifndef assert.
+       * include/funcs.h (AbortSystemShutdown): Remove duplicate prototype.
+       * include/ddk/rtltypes.h: Move ...
+       * include/ntos/rtltypes.h: ... here.
+       * include/ddk/rtl.h: Move ...
+       * include/ntos/rtl.h: ... here.
+       * include/ddk/zwtypes.h: Move ...
+       * include/ntos/zwtypes.h: ... here.
+       * include/ddk/zw.h: Move ...
+       * include/ntos/zw.h: ... here.
+       | include/ddk/cmfuncs.h: Remove file; Move NtCreateKey to ntos/zw.h.
+       * include/ntos.h: #include ntos/rtltypes.h, ntos/rtl.h, ntos/zwtypes.h,
+       and ntos/zw.h.
+       * include/unicode.h: (AbortSystemShutdownW): Correct prototype.
+       * include/ddk/ntddk.h: Include headers at new location; Don't include
+       removed files.
+       * include/defines.h: Wrap definitions in w32api in #ifndef __USE_W32API.
+       * include/ntos/zwtypes.h: Ditto.
+       * include/napi/lpc.h: Ditto.
+       * include/napi/shared_data.h: Ditto.
+       * include/napi/teb.h: Ditto.
+       * include/napi/types.h: Ditto.
+       * include/ntdll/ldr.h: Ditto.
+       * include/ntdll/rtl.h: Ditto.
+       * include/ntos/console.h: Ditto.
+       * include/ntos/disk.h: Ditto.
+       * include/ntos/except.h: Ditto.
+       * include/ntos/file.h: Ditto.
+       * include/ntos/gditypes.h: Ditto.
+       * include/ntos/heap.h: Ditto.
+       * include/ntos/keyboard.h: Ditto.
+       * include/ntos/mm.h: Ditto.
+       * include/ntos/ntdef.h: Ditto.
+       * include/ntos/ps.h: Ditto.
+       * include/ntos/registry.h: Ditto.
+       * include/ntos/security.h: Ditto.
+       * include/ntos/synch.h: Ditto.
+       * include/ntos/time.h: Ditto.
+       * include/ntos/types.h: Ditto.
+       * include/ntos/port.h: Ditto.
+       * lib/advapi32/misc/shutdown.c (AbortSystemShutdownW,
+       AbortSystemShutdownA): Correct prototype.
+       * lib/advapi32/reg/reg.c: #include ntos.h.
+       * lib/advapi32/sec/misc.c: Ditto.
+       * lib/advapi32/sec/sid.c: Ditto.
+       * lib/advapi32/service/sctrl.c: Ditto.
+       * lib/advapi32/token/token.c: Ditto.
+       * lib/kernel32/misc/dllmain.c: Ditto.
+       * ntoskrnl/ex/napi.c: Ditto.
+       * ntoskrnl/rtl/i386/exception.c: Ditto.
+       * lib/advapi32/sec/ac.c: Ditto.
+       (FindFirstFreeAce, GetAce): Change PACE* to PACE_HEADER*.
+       * lib/advapi32/service/scm.c (EnumServicesStatusExA,
+       EnumServicesStatusExW, QueryServiceStatusEx): Correct prototype.
+       * lib/ntdll/rtl/ppb.c (RtlDestroyProcessParameters): Match prototype.
+       * ntoskrnl/dbg/errinfo.c (DbgGetErrorText): Use %08x, not %08lx.
+       * ntoskrnl/io/arcname.c (IoCreateSystemRootLink): Use %u, not %lu.
+       * ntoskrnl/ke/main.c (ExpInitializeExecutive): Ditto.
+       * (_main): Use %d, not %ld.
+       * ntoskrnl/include/internal/i386/ke.h: Add #pragma GCC system_header.
+       * include/ddk/ntdef.h (NTSYSAPI, NTAPI, NTKERNELAPI): Define to STDCALL;
+       Check if already defined.
+       * include/base.h (STDCALL, CDECL, CALLBACK, PASCAL): Move to ntos/types.h.
+
+2002-11-13  Rick Gaiser  <RickG81@Wanadoo.nl>
+
+       * drivers/bus/isapnp/isapnp.c (FindNextReadPort): Increment Port before
+       checking wether port address is in NE2000 address space range and returning
+       port address value.
+
+2002-11-10  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * drivers/bus/acpi/include/acpi.h: Include platform/types.h.
+       * drivers/bus/acpi/include/actypes.h: (UINT8, BOOLEAN, UCHAR, UINT16,
+       INT32, UINT32, UINT64): Disable, use the OS defined types instead.
+       * drivers/bus/acpi/include/platform/types.h: Remove all types,
+       include ntos.h instead.
+       * drivers/bus/acpi/ospm/include/acpisys.h: Don't include
+       platform/types.h.
+
+2002-11-10  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/defines.h: Fix warnings when bulding with gcc 3.3.
+       * include/ddk/status.h: Ditto.
+       * include/freetype/internal/ftdebug.h: Ditto.
+       * include/net/ndis.h: Ditto.
+       * lib/msafd/misc/helpers.c: Ditto.
+       * lib/user32/windows/defwnd.c: Ditto.
+       * lib/user32/windows/window.c: Ditto.
+       * ntoskrnl/cm/ntfunc.c: Ditto.
+       * ntoskrnl/cm/regfile.c: Ditto.
+       * ntoskrnl/cm/regobj.c: Ditto.
+       * ntoskrnl/dbg/errinfo.c: Ditto.
+       * ntoskrnl/ex/hashtab.c: Ditto.
+       * ntoskrnl/include/internal/mm.h: Ditto.
+       * ntoskrnl/io/irp.c: Ditto.
+       * ntoskrnl/kd/gdbstub.c: Ditto.
+       * ntoskrnl/ke/queue.c: Ditto.
+       * ntoskrnl/ke/sem.c: Ditto.
+       * ntoskrnl/ldr/resource.c: Ditto.
+       * ntoskrnl/mm/balance.c: Ditto.
+       * ntoskrnl/mm/freelist.c: Ditto.
+       * ntoskrnl/mm/mdl.c: Ditto.
+       * ntoskrnl/mm/npool.c: Ditto.
+       * ntoskrnl/mm/section.c: Ditto.
+       * ntoskrnl/rtl/error.c: Ditto.
+       * ntoskrnl/rtl/mem.c: Ditto.
+       * ntoskrnl/rtl/string.c: Ditto.
+       * ntoskrnl/rtl/time.c: Ditto.
+       * ntoskrnl/rtl/unicode.c: Ditto.
+       * ntoskrnl/rtl/wstring.c: Ditto.
+       * ntoskrnl/rtl/i386/exception.c: Ditto.
+       * subsys/win32k/freetype/src/base/ftinit.c: Ditto.
+
+2002-11-03  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * apps/tests/lpc/lpcclt.c: Change LPC_MESSAGE_HEADER to LPC_MESSAGE.
+       * include/csrss/csrss.h: Ditto.
+       * include/lsass/lsass.h: Ditto.
+       * include/napi/dbg.h: Ditto.
+       * include/napi/lpc.h: Ditto.
+       * lib/kernel32/misc/console.c: Ditto.
+       * lib/ntdll/csr/lpc.c: Ditto.
+       * lib/ntdll/dbg/debug.c: Ditto.
+       * lib/secur32/lsa.c: Ditto.
+       * ntoskrnl/dbg/user.c: Ditto.
+       * ntoskrnl/include/internal/port.h: Ditto.
+       * ntoskrnl/lpc/connect.c: Ditto.
+       * ntoskrnl/lpc/reply.c: Ditto.
+       * ntoskrnl/ps/process.c: Ditto.
+       * subsys/csrss/api/conio.c: Ditto.
+       * subsys/csrss/api/process.c: Ditto.
+       * subsys/csrss/api/user.c: Ditto.
+
+2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * lib/msvcrt/except/seh.s: Fix end-of-line formatting.
+       * lib/ntdll/rtl/i386/exception.c: Ditto.
+       * lib/ntdll/rtl/i386/except.s: Ditto.
+       * ntoskrnl/rtl/i386/except.s: Ditto.
+       * ntoskrnl/rtl/i386/seh.s: Ditto.
+
+2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * lib/msvcrt/Makefile (OBJECTS_EXCEPT): Add except/seh.o; Remove
+       except/exhand3.o.
+       * lib/msvcrt/except/exhand2.c (MsvcrtDebug): New function.
+       * lib/msvcrt/except/unwind.c (PEXCEPTION_FRAME): Remove.
+       (_global_unwind2): Correct prototype.
+       * lib/ntdll/makefile (RTL_I386_OBJECTS, ARCH_OBJECTS): New groups.
+       (TARGET_OBJECTS): Add ARCH_OBJECTS group.
+       * lib/ntdll/rtl/exception.c (KiUserExceptionDispatcher): Set
+       NumberParameters in exception record.
+       (RtlRaiseStatus): Remove.
+       * ntoskrnl/Makefile (OBJECTS_RTL): Remove rtl/seh.o.
+       (OBJECTS_RTL_I386): Add rtl/i386/except.o, rtl/i386/exception.o, and
+       rtl/i386/seh.o.
+       * ntoskrnl/ke/catch.c (RtlpExecuteHandlerForException,
+       RtlpDumpExceptionRegistrations, RtlpDispatchException,
+       RtlpExecuteHandler, RtlpExceptionHandler, RtlpUnwindHandler,
+       RtlpExecuteHandlerForException, RtlpExecuteHandlerForUnwind,
+       RtlUnwind): Remove.
+       (RtlpDispatchException): Add prototype.
+       * ntoskrnl/ke/i386/usertrap.c (ExceptionTypeStrings): Remove.
+       * ntoskrnl/ps/create.c (PsCreateTeb): Mark end of exception
+       registration list.
+       * tools/helper.mk (TARGET_ASFLAGS): Add -g if DBG = 1.
+       * lib/msvcrt/except/exhand3.c: Remove.
+       * ntoskrnl/rtl/seh.c: Ditto.
+       * lib/msvcrt/except/seh.s: New file.
+       * lib/ntdll/rtl/i386/except.s: Ditto.
+       * lib/ntdll/rtl/i386/exception.c: Ditto.
+       * ntoskrnl/rtl/i386/except.s: Ditto.
+       * ntoskrnl/rtl/i386/exception.c: Ditto.
+       * ntoskrnl/rtl/i386/seh.s: Ditto.
+
+2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * lib/kernel32/process/create.c (_except_handler): New function.
+       (BaseProcessStart): Ditto.
+       (KlCreateFirstThread): Return INVALID_HANDLE_VALUE on error; Call
+       BaseProcessStart() before process entry point.
+       * lib/kernel32/thread/thread.c (_except_handler): New function.
+       (ThreadStartup): Protect thread using SEH constructs.
+
+2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/ddk/zw.h (NtProcessStartup): Use standard calling convention.
+       * subsys/csrss/csrss.c (NtProcessStartup): Ditto.
+       * subsys/smss/smss.c (NtProcessStartup): Ditto.
+       * subsys/system/autochk/autochk.c (NtProcessStartup): Ditto.
+       * subsys/system/usetup/usetup.c (NtProcessStartup): Ditto.
+
+2002-10-25  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * apps/tests/tokentest/tokentest.c (ROS_ACE_HEADER): Move field
+       AccessMask ...
+       (ROS_ACE): ... here.
+       (DisplayDacl): Make pAce an ROS_ACE*; Use new path for AceType; Use
+       sizeof(ACE) instead of sizeof(ACE_HEADER).
+       * include/ntos/security.h (ACE_HEADER): Move field AccessMask ...
+       (ACE): ... here.
+       * lib/ntdll/rtl/acl.c: Use new path for AccessMask.
+       * ntoskrnl/se/semgr.c: Ditto.
+       * ntoskrnl/se/acl.c (SepInitDACLs): Use new path for AccessMask; Use
+       sizeof(ACE) instead of sizeof(ACE_HEADER).
+       * ntoskrnl/se/token.c (SepCreateSystemProcessToken): Use sizeof(ACE)
+       instead of sizeof(ACE_HEADER).
+
+2002-10-20  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/napi/teb.h (RTL_USER_PROCESS_PARAMETERS): Use field names
+       as described in Windows NT/2000 Native API Reference.
+       * lib/kernel32/file/file.c: Use new field names.
+       * lib/kernel32/misc/console.c: Ditto.
+       * lib/kernel32/process/create.c: Ditto.
+       * lib/kernel32/process/proc.c: Ditto.
+       * lib/ntdll/rtl/path.c: Ditto.
+       * lib/ntdll/rtl/ppb.c: Ditto.
+       * lib/ntdll/rtl/process.c: Ditto.
+
+2002-10-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/ntos.h: Include relevant files.
+       * include/internal/ke.h: Include files relative to
+       ntoskrnl/include.
+       * include/internal/arch/ke.h: Ditto.
+
+2002-10-01  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * drivers/dd/floppy/floppy.c: Changed PAGESIZE to PAGE_SIZE.
+       * drivers/fs/cdfs/fcb.c: Ditto.
+       * drivers/fs/cdfs/fsctl.c: Ditto.
+       * drivers/fs/cdfs/rw.c: Ditto.
+       * drivers/fs/ext2/dir.c: Ditto.
+       * drivers/fs/ext2/inode.c: Ditto.
+       * drivers/fs/ext2/rw.c: Ditto.
+       * drivers/fs/ext2/super.c: Ditto.
+       * drivers/fs/minix/blockdev.c: Ditto.
+       * drivers/fs/minix/cache.c: Ditto.
+       * drivers/fs/minix/inode.c: Ditto.
+       * drivers/fs/minix/rw.c: Ditto.
+       * drivers/fs/ntfs/fcb.c: Ditto.
+       * drivers/fs/ntfs/ntfs.h: Ditto.
+       * drivers/fs/vfat/create.c: Ditto.
+       * drivers/fs/vfat/direntry.c: Ditto.
+       * drivers/fs/vfat/dirwr.c: Ditto.
+       * drivers/fs/vfat/fat.c: Ditto.
+       * drivers/fs/vfat/fcb.c: Ditto.
+       * drivers/fs/vfat/fsctl.c: Ditto.
+       * drivers/fs/vfat/rw.c: Ditto.
+       * drivers/storage/class2/class2.c: Ditto.
+       * drivers/storage/scsiport/scsiport.c: Ditto.
+       * hal/halx86/adapter.c: Ditto.
+       * hal/halx86/mp.c: Ditto.
+       * include/ddk/mmfuncs.h: Ditto.
+       * include/ddk/mmtypes.h: Ditto.
+       * include/ddk/i386/pagesize.h: Ditto.
+       * include/ntdll/pagesize.h: Ditto.
+       * lib/kernel32/process/create.c: Ditto.
+       * lib/kernel32/thread/thread.c: Ditto.
+       * lib/ntdll/ldr/utils.c: Ditto.
+       * lib/ntdll/rtl/env.c: Ditto.
+       * lib/ntdll/rtl/heap.c: Ditto.
+       * lib/ntdll/rtl/ppb.c: Ditto.
+       * lib/ntdll/rtl/process.c: Ditto.
+       * lib/ntdll/rtl/thread.c: Ditto.
+       * ntoskrnl/cc/copy.c: Ditto.
+       * ntoskrnl/cc/view.c: Ditto.
+       * ntoskrnl/ex/sysinfo.c: Ditto.
+       * ntoskrnl/include/internal/i386/mm.h: Ditto.
+       * ntoskrnl/io/mdl.c: Ditto.
+       * ntoskrnl/ke/kthread.c: Ditto.
+       * ntoskrnl/ke/i386/kernel.c: Ditto.
+       * ntoskrnl/ldr/init.c: Ditto.
+       * ntoskrnl/ldr/loader.c: Ditto.
+       * ntoskrnl/mm/anonmem.c: Ditto.
+       * ntoskrnl/mm/cont.c: Ditto.
+       * ntoskrnl/mm/freelist.c: Ditto.
+       * ntoskrnl/mm/iospace.c: Ditto.
+       * ntoskrnl/mm/kmap.c: Ditto.
+       * ntoskrnl/mm/marea.c: Ditto.
+       * ntoskrnl/mm/mdl.c: Ditto.
+       * ntoskrnl/mm/mminit.c: Ditto.
+       * ntoskrnl/mm/ncache.c: Ditto.
+       * ntoskrnl/mm/npool.c: Ditto.
+       * ntoskrnl/mm/pagefile.c: Ditto.
+       * ntoskrnl/mm/pageop.c: Ditto.
+       * ntoskrnl/mm/section.c: Ditto.
+       * ntoskrnl/mm/slab.c: Ditto.
+       * ntoskrnl/mm/i386/page.c: Ditto.
+       * ntoskrnl/ob/handle.c: Ditto.
+       * ntoskrnl/ps/create.c: Ditto.
+       * ntoskrnl/ps/process.c: Ditto.
+       * ntoskrnl/ps/w32call.c: Ditto.
+       * subsys/win32k/include/object.h: Ditto.
+
+2002-10-01  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * lib/ntdll/string/ctype.c: Undefine __MSVCRT__ to not have mingw
+       runtime import _pctype.
+
+2002-09-30  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * lib/user32/misc/desktop.c (string.h): Include.
+       * lib/user32/misc/resources.c: Ditto.
+       * lib/user32/misc/winhelp.c: Ditto.
+       * lib/user32/windows/accel.c: Ditto.
+       * lib/user32/windows/bitmap.c: Ditto.
+       * subsys/win32k/freetype/ctype.c: Undefine __MSVCRT__ and _pctype to not
+       have mingw runtime import _pctype.
+
+2002-09-30  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/cc/view.c (alloca): Prototype.
+       * ntoskrnl/rtl/ctype.c: Undefine __MSVCRT__ to not have mingw runtime
+       import _pctype.
+
+2002-08-26  David Welch  <welch@computer2.darkstar.org>
+
+       * lib/gdi32/misc/dllmain.c (GdiDllInitialize): Don't initialize
+       win32k.sys for each process.
+       * subsys/csrss/init.c (CsrServerInitialization): Initialize
+       win32k.sys as well.
+
+2002-08-26  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/ps/process.c (NtCreateProcess): Reference the
+       parent process's handle using ExGetPreviousMode.
+
+2002-08-26  David Welch  <welch@computer2.darkstar.org>
+
+       * lib/user32/misc/dllmain.c (Init): Initialize gdi32 as well.
+
+2002-08-26  David Welch  <welch@computer2.darkstar.org>
+
+       * iface/addsys/genw32k.c (main, process): Generate a set of
+       stubs for csrss as well.
+
+2002-08-26  David Welch  <welch@computer2.darkstar.org>
+
+       * lib/kernel32/process/create.c (CreateProcessW): Initialize
+       all the members of the new process's PPB.
+
+2002-08-17  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): Ensure the
+       process isn't freed in the middle of our operations.
+
+2002-08-17  David Welch  <welch@computer2.darkstar.org>
+
+       * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation): Fixed.
+
+2002-08-17  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/ps/create.c (PiDeleteThread): Don't dereference
+       the thread's process while holding the thread list lock.
+
+2002-08-17  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/section.c (MmMapViewOfSection): Check there is 
+       enough space for all parts of an image before mapping it; if
+       there isn't enough space free at the preferred base address
+       then try to choose a different one.
+
+2002-08-17  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/mpw.c (MmInitMpwThread): Run the MPW thread at
+       idle priority.
+
+2002-08-17  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/kmap.c (ExUnmapPage, ExAllocatePageWithPhysPage,
+       MiFreeNonPagedPoolRegion, MiAllocNonPagedPoolRegion): Maintain
+       a hint of the next free page; makes running with whole page
+       allocation more bearable.
+
+2002-08-17  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/anonmem.c (MmPageOutVirtualMemory): Show an
+       out of swap space message if we are out of swap space.
+       * ntoskrnl/mm/section.c (MmPageOutSectionView): Show an
+       out of swap space message if we are out of swap space.
+       * ntoskrnl/mm/pagefile.c (MmAllocSwapPage): Don't automatically
+       show an out of swap space message on failure.
+       * ntoskrnl/mm/pagefile.c (MmShowOutOfSpaceMessagePagingFile): New
+       function to notify the user that the pagefile is full.
+
+2002-08-17  David Welch  <welch@computer2.darkstar.org>
+
+       * drivers/lib/zlib/Makefile: Create a dummy zlib.sym
+
+2002-08-16  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/npool.c (ExAllocateWholePageBlock): Converted
+       to use PHYSICAL_ADDRESS type for page address.
+
+2002-08-16  David Welch  <welch@computer2.darkstar.org>
+
+       * subsys/win32k/ntuser/class.c (W32kCreateClass): Corrected
+       typo when calculating the offset into the class object to
+       put the class name string.
+
+2002-08-16  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/ps/thread.c (PsDispatchThreadNoLock): Don't call
+       the reaper function directly; set an event to wake up a seperate
+       reaper thread.
+       * ntoskrnl/ps/thread.c (PsReaperThreadMain): New function that
+       waits for a notification and then calls PsReapThreads.
+       * ntoskrnl/ps/thread.c (PsInitThreadManagement): Create the
+       reaper thread.
+
+2002-08-15  David Welch  <welch@computer2.darkstar.org>
+
+       * lib/advapi32/misc/dllmain.c (DllMain): Removed debug message.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * subsys/smss/init.c (SmPagingFilesQueryRoutine): If possible
+       take the size of the paging file from the registry.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/section.c (MmCreateDataFileSection): Extend the
+       section if necessary.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/pagefile.c (NtCreatePagingFile): Set the file
+       size using the FileAllocationInformation class.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/anonmem.c (MmWritePageVirtualMemory): Implemented
+       function to write anonymous memory pages to the swap file.
+       * ntoskrnl/mm/anonmem.c (MmFreeVirtualMemoryPage): Free any
+       swap page associated with the page.
+       * ntoskrnl/mm/mpw.c (MmWriteDirtyPages): New function to find
+       pages to write to disk.
+       * ntoskrnl/mm/mpw.c (MmMpwThreadMain): Implemented MPW functionality.
+       * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): New function
+       to write a single page back to disk.
+       * ntoskrnl/mm/rmap.c (MmSetCleanAllRmaps, MmSetDirtyAllRmaps,
+       MmIsDirtyPageRmap): New rmap function to support the MPW thread.
+       * ntoskrnl/mm/section.c (MmWritePageSectionView): Implemented
+       function to write back section pages.
+       * ntoskrnl/mm/section.c (MmFreeSectionPage): Free any swap
+       entry associated with the page; mark pages shared with
+       the cache as dirty if necessary.
+       
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set name of
+       the module into the module text structure.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/io/rw.c (NtReadFile, NtWriteFile): Use the correct
+       test for whether to wait for the completion of i/o.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/cm/ntfunc.c (NtFlushKey): Request synchronous i/o
+       from NtOpenFile.
+       * ntoskrnl/cm/regfile (CmiInitPermanentRegistryHive): Request
+       synchronous i/o from NtCreateFile.
+       * ntoskrnl/dbg/kdb_stabs.c (LdrpLoadModuleSymbols): Request
+       synchronous i/o from NtOpenFile.
+       * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Request synchronous i/o
+       from NtOpenFile.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/cc/view.c (CcRosSuggestFreeCacheSegment): Maintain the
+       correct reference count.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/cc/view.c (CcRosFlushCacheSegment): New function to
+       write back a modified cache segment.
+       * ntoskrnl/cc/view.c (CcRosFlushDirtyPages): New function to
+       flush some dirty pages from the cache.
+       * ntoskrnl/cc/view.c (CcRosMarkDirtyCacheSegment): New function to
+       mark a cache segment modified while mapped into memory as dirty.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/cc/pin.c (CcMapData, CcUnpinData, CcSetDirtyPinnedData):
+       Store the dirty status in the BCB; don't write back dirty data
+       immediately.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * include/ntos/mm.h: Added SEC_XXXX defines from 'Windows NT/2000
+       Native API Reference'
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * drivers/fs/vfat/ea.c (VfatSetExtendedAttributes): Empty
+       placeholder for extended attribute functions.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation):
+       Added function to set allocation size.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * drivers/fs/vfat/fcb.c (vfatFCBInitializeCache): Renamed
+       to vfatFCBInitializeCacheFromVolume.
+       * drivers/fs/vfat/fcb.c (vfatMakeFCBFromDirEntry): Don't
+       initialise the cache with a file object representing the
+       volume unless the FCB is for a directory.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * drivers/fs/vfat/create.c (VfatPagingFileCreate): Added a
+       new function for handling paging file only code.
+       * drivers/fs/vfat/create.c (VfatSupersedeFile): Added a
+       new function for doing a file supersede.
+       * drivers/fs/vfat/create.c (VfatCreateFile): Reformatted and
+       adjusted control flow. Set allocation size and extended attributes
+       on create.
+       * drivers/fs/vfat/create.c (VfatCreate): Removed goto.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Renamed
+       updEntry to VfatUpdateEntry.
+       * drivers/fs/vfat/close.c (VfatCloseFile): Renamed
+       updEntry to VfatUpdateEntry.
+       * drivers/fs/vfat/dirwr.c (updEntry): Renamed to
+       VfatUpdateEntry.
+       * drivers/fs/vfat/dirwr.c (addEntry): Renamed to
+       VfatAddEntry.
+
+2002-08-14  David Welch  <welch@computer2.darkstar.org>
+
+       * apps/tests/sectest/sectest.c (main): Fixed formatting.
+
+2002-08-10  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/i386/page.c (MmSetPageProtect): Fixed
+       behaviour when called on the system address space.
+
+2002-08-10  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/virtual.c (MmQueryAnonMem, MmProtectAnonMem,
+       NtAllocateVirtualMemory, NtFreeVirtualMemory): Renamed
+       segments to regions; moved region code to seperate file.
+       Implemented NtQueryVirtualMemory and NtProtectVirtualMemory
+       for anonymous memory areas.
+
+2002-08-10  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/anonmem.c: Moved functions relating to
+       areas created with NtAllocateVirtualMemory to a 
+       seperate file.
+
+2002-08-10  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/section.c (MmQuerySectionView): Implemented
+       NtQueryVirtualMemory for section views.
+
+2002-08-10  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/section.c (MmAccessFaultSectionView,
+       MmNotPresentFaultSectionView, MmProtectSectionView,
+       MmMapViewOfSegment, MmAlterViewAttributes): Implemented 
+       NtProtectVirtualMemory for section views.
+
+2002-08-10  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/ke/main.c: Removed SEH test code.
+
+2002-08-10  David Welch  <welch@computer2.darkstar.org>
+
+       * lib/ntdll/ldr/utils.c (LdrFixupImports): Remove the readonly
+       protection from the IAT before writing to it.
+
+2002-08-10  David Welch  <welch@computer2.darkstar.org>
+
+       * lib/ntdll/ldr/utils.c (LdrAdjustDllName): Properly null terminate
+       the base name of the DLL.
+
+2002-08-10  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set the text segment
+       of modules to readonly after loading.
+
+2002-08-09  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/ps/create.c (NtCreateThread): Call PsSuspendThread
+       if NtCreateThread has CreateSuspended as TRUE.
+       * ntoskrnl/ps/suspend.c (PsSuspendThread, PsResumeThread,
+       PiSuspendThreadKernelRoutine): Fixed suspend functionality.
+
+2002-08-09  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/ke/i386/usertrap.c (print_user_address): Copy
+       the LDR variable from the right address.
+
+2002-08-09  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/ke/apc.c (KiDeliverNormalApc): Check for
+       kernel APCs pending on exit from the kernel.
+       * ntoskrnl/ke/apc.c (KiDeliverNormalApc, KiDeliverUserApc,
+       KiDeliverApc): Set the APC's inserted flag to FALSE after
+       removing it from the thread's queue.
+
+2002-08-09  David Welch  <welch@computer2.darkstar.org>
+
+       * lib/kernel32/thread/thread.c (ThreadStartup): Don't
+       call DLL entrypoints; this is done by LdrInitializeThunk.
+       * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
+       DLLs in initialization order; take the loader lock before
+       calling.
+
+2002-08-09  David Welch  <welch@computer2.darkstar.org>
+
+       * apps/tests/thread/thread.c (main): Test suspend and
+       resume functionality.
+
+2002-08-08  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/mm/section (NtQuerySection): Return the
+       right result length.
+
+2002-08-08  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/ke/usertrap.c (print_user_address): Check for
+       a NULL LDR structure in the PEB; copy the LDR pointer in
+       safely. 
+
+2002-08-08  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/ke/apc.c (KiDeliverUserApc): Deliver all present
+       APCs; release the APC spinlock while acccessing user memory.
+
+2002-08-08  David Welch  <welch@computer2.darkstar.org>
+
+       * include/internal/ps.h: Adjusted offsets into the ETHREAD
+       structure.
+       * include/internal/ps.h: Removed redundant members from the
+       KTHREAD structure.
+       * ntoskrnl/ke/kthread.c (KeInitializeThread): Removed
+       redundant members from the KTHREAD structure.
+
+2002-08-08  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/dbg/kdb.c (KdbEnterDebuggerException): New
+       function to enter the debugger on an exception.
+       * ntoskrnl/kd/kdebug.c (KdInitSystem): Initialize the
+       local kernel debugger if enabled.
+       * ntoskrnl/ke/catch.c (KiDispatchException): Enter the
+       local kernel debugger on an exception.
+
+2002-08-08  David Welch  <welch@computer2.darkstar.org>
+
+       * include/ntdll/ldr.h: Added definition for a DLL entrypoint.
+       * lib/kernel32/process/create.c (KlCreateFirstThread): Put
+       the argument to the NtProcessStartup function on the stack.
+       * lib/kernel32/process/create.c (KlInitPeb): Read the
+       base address of the new image from the PEB.
+       * lib/kernel32/process/create.c (CreateProcessW): Start the
+       first thread at the entrypoint of the new image.
+       * lib/ntdll/ldr/startup.c (LdrInitializeThunk): If the
+       function is called after the initial startup then just call the
+       entrypoints for the loaded DLLs with DLL_THREAD_ATTACH. Don't
+       call the entrypoint of the image.
+       * lib/ntdll/rtl/process.c (RtlpCreateFirstThread): Put the
+       argument to the NtProcessStartup function on the stack.
+       * lib/ntdll/rtl/process.c (KlInitPeb): Read the base address of
+       the new image from the PEB.
+       * lib/ntdll/rtl/process.c (RtlCreateUserProcess): Start the
+       first thread at the entrypoint of the new image.
+       * ntoskrnl/ke/i386/bthread.S (PsBeginThreadWithContextInternal):
+       Use the system call path to begin a usermode thread.
+       * ntoskrnl/ke/i386/thread.c (Ke386InitThreadWithContext): Convert
+       the supplied context into a trap frame.
+       * ntoskrnl/ldr/init.c (LdrLoadInitialProcess): Put the PEB argument
+       to the NtProcessStartup function on the new stack; start the
+       first thread at the entrypoint of the image.
+       * ntoskrnl/ps/create.c (NtCreateThread): Create an APC to call
+       LdrInitializeThunk in the context of a new thread before its
+       entrypoint.
+
+2002-08-08  David Welch  <welch@computer2.darkstar.org>
+
+       * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Uninitialise
+       the cache on file cleanup.
+       * drivers/fs/vfat/fcb.c (vfatReleaseFcb): Don't uninitialise
+       the cache on file close.
+       * ntoskrnl/cc/copy.c: Renamed zero page global variable.
+       * ntoskrnl/cc/view.c: Added cache delete function.
+
+2002-07-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * rules.mak (RSYM): Define.
+       * include/ddk/zwtypes.h (DebugDbgLoadSymbols): Add to enum
+       _DEBUG_CONTROL_CODE.
+       * include/ntdll/ldr.h (LDR_SYMBOL_INFO, LdrpLoadUserModuleSymbols): Add.
+       (LdrLoadModuleSymbols): Remove.
+       * include/ntos/kdbgsyms.h (ST_FILENAME, ST_FUNCTION,
+       ST_LINENUMBER): Add.
+       (SYMBOL). Make Name an ANSI_STRING.
+       (IMAGE_SYMBOL_INFO, AreSymbolsParsed): Add.
+       * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
+       LdrpLoadUserModuleSymbols() not LdrLoadModuleSymbols().
+       * lib/ntdll/ldr/utils.c (LdrLoadModuleSymbols): Rename to
+       LdrpLoadUserModuleSymbols.
+       (LdrpLoadUserModuleSymbols): Use DebugDbgLoadSymbols debug control code.
+       (LdrLoadDll): assert if out of memory.
+       (LdrLoadDll): Call
+       LdrpLoadUserModuleSymbols(), not LdrLoadModuleSymbols().
+       * lib/ntdll/string/ctype.c (_pctype): #undef.
+       * ntoskrnl/dbg/dbgctrl.c (NtSystemDebugControl): Call
+       LdrLoadUserModuleSymbols on DebugDbgLoadSymbols.
+       * ntoskrnl/include/internal/ldr.h (LdrGetAddressInformation): Add.
+       * ntoskrnl/include/internal/module.h (MODULE_TEXT_SECTION): Make SymbolInfo
+       an IMAGE_SYMBOL_INFO.
+       * ntoskrnl/ke/i386/exp.c (LdrGetAddressInformation): Add prototype.
+       (print_address): Change #ifdef KDBG to #ifdef DBG.
+       (KiDoubleFaultHandler, KiDumpTrapFrame, KeDumpStackFrames): Dump
+       one stack frame per line.
+       * ntoskrnl/ke/i386/multiboot.S: Create pagetables for more kernel
+       address space so larger modules can be passed from the boot loader.
+       * ntoskrnl/ke/i386/usertrap.c (LdrGetAddressInformation): Add prototype.
+       (print_user_address): Print symbols using LdrGetAddressInformation().
+       * ntoskrnl/ldr/loader.c (SYMBOLFILE_HEADER, IMAGE_SYMBOL_INFO_CACHE,
+       STAB_ENTRY, N_FUN, N_SLINE, N_SO, SymbolListHead): Add.
+       (TAG_SYM_BUF): Remove.
+       (LdrInitDebug): Remove unneeded code.
+       (LdrInit1): Prepare for loading symbols.
+       (LdrpReadLine, HexL, LdrpParseLine, LdrpLoadModuleSymbolsFromBuffer,
+       LdrpLoadUserModuleSymbolsFromBuffer): Remove.
+       (LdrpParseImageSymbols, LdrpGetFileName, LdrpGetFunctionName,
+       LdrpGetLineNumber, LdrGetAddressInformation, LdrpLookupUserSymbolInfo): Add.
+       (LdrpLoadModuleSymbols, LdrInitializeBootStartDriver): Change to use new
+       symbol structures.
+       (LdrLoadUserModuleSymbols): Cache symbol buffers.
+       (LdrUnloadModuleSymbols): Implement.
+       (LdrLoadModule, LdrUnloadModule): Change #ifdef KDBG to #ifdef DBG.
+       (LdrPEProcessModule): Split a line into two lines.
+       (LdrPEProcessModule): Setup for loading symbols.
+       * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Open with FILE_SHARE_READ.
+       * ntoskrnl/ps/process.c (PiFreeSymbols): Call LdrUnloadModuleSymbols() to
+       free symbols.
+       (PiDeleteProcess): Change #ifdef KDBG to #ifdef DBG.
+       * ntoskrnl/rtl/ctype.c (_pctype): #undef.
+       * ntoskrnl/rtl/string.c (strncpy): Terminate destination string.
+       * tools/Makefile (rsym): Add target.
+       * tools/helper.mk: Include config and use -g if DBG = 1.
+
+2002-07-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * Makefile (install_before): Install system.hiv to correct location.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * subsys/win32k/include/callback.h: Fixed callback argument
+       definitions.
+       * subsys/win32k/ntuser/winpos.c: Implemented some more of the windows
+       sizing/moving code.
+       * subsys/win32k/ntuser/painting.c: Implemented some more of the
+       window painting code.
+       * subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.
+       * subsys/win32k/objects/region.c: Added stubs for some more
+       region functions.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the
+       process desktop handle as well.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/se/token.c: Don't call the ZwXXX variant of
+       system calls when in system context.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * ntoskrnl/Makefile: Added file with MDA output code.
+       * ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for
+       debug output.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * lib/user32/windows/defwnd.c: Implemented some more of the
+       default window handler.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * lib/user32/misc/stubs.c: Removed some stubs to seperate files.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * lib/user32/user32.def: Export ScreenToClient otherwise we
+       get problems when code in user32 tries to call it.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * include/win32k/region.h: Added prototypes for some missing
+       region functions.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * include/win32k/ntuser.h: Added prototypes for some missing
+       NtUserXXX functions.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * include/user32/wininternal.h: Added some constants for
+       private GetDCEx styles that WINE needs.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * include/user32/callback.h: Fixed callbacks for messages with
+       parameters.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * include/napi/win32.h (W32THREAD): Added pointer to the
+       thread's desktop.
+       * include/napi/win32.h (W32PROCESS): Removed handle table,
+       added a pointer to the process's window station.
+       * subsys/win32k/ntuser/guicheck.c (W32kGuiCheck): Reference
+       a process's window station on the first win32k system call. Reference
+       a thread's desktop on the first win32k system call.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * include/messages.h: Added some missing WM_XXX constants.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * drivers/dd/ide/makefile: Compiling with debugging messages
+       needs libgcc to be linked in.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * iface/addsys/genw32k.c: Generate a variable with the
+       number of system calls.
+       * iface/native/genntdll.c: Generate a proper stack frame for
+       the user system call stubs.
+       * ntoskrnl/ke/i386/syscall.S: Generate a proper stack frame for
+       the handler for system calls.
+
+2002-07-04  David Welch  <welch@computer2.darkstar.org>
+
+       * Makefile: Build the GUI startup application.
+       * subsys/system/gstart/gstart.c: Application to start up
+       the GUI.
+
+2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * tools/helper.mk: Make an import library a proper target
+       depending on the .def file.
+
+2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * subsys/win32k/ntuser/window.c (NtUserGetWindowLong): Began
+       implementation.
+
+2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * subsys/win32k/misc/object.c (ObmCreateHandle): Return the
+       correct handle value.
+
+2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * subsys/win32k/makefile: Make win32k depend on the file containing
+       the service table. 
+
+2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * ntoskrnl/ke/i386/stkswitch.S (KeSwitchStackAndRet,
+       KePushAndStackSwitchAndSysRet): Push one value only.
+       * ntoskrnl/ps/w32call.c (NtCallbackReturn, NtW32Call): Moved
+       these functions to a new file. Restore the old trap frame after
+       returning from a callback.
+
+2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * lib/user32/windows/message.c (CallWindowProcA, CallWindowProcW):
+       Convert message to Unicode or ASCII if necessary.
+
+2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * include/user32/callback.h: Added WM_CREATE and WM_NCCALCSIZE
+       callbacks.
+       * lib/user32/windows/window.c (User32SendCREATEMessageForKernel,
+       User32SendNCCREATEMessageForKernel): Implemented.
+       * subsys/win32k/ntuser/callback.c (W32kSendCREATEMessage):
+       Implemented.    
+
+2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * include/structs.h: Added Unicode and ASCII versions of
+       CREATESTRUCT.
+
+2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * tools/helper.mk: Make the install target depend on all the
+       files to be installed.
+
+2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the
+       top of the old stack.
+       * ntoskrnl/ps/thread.c (NtW32Call): Set TSS.Esp0 to the top of
+       the new stack. Free the callback stack correctly. Don't copy
+       portion of the trap frame that doesn't exist in non-v86-mode
+       interrupts.
+       * ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to
+       free a stack allocated with PsAllocateCallbackStack.
+
+2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * drivers/dd/null/makefile: Commented out local LDFLAGS as
+       these cause bad relocations in the stripped image.
+
+2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * config: Corrected spelling error.
+
+2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * subsys/system/winlogon/winlogon.c (WinMain): Check for
+       failure when creating a window system.
+
+2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * ntoskrnl/ob/handle.c (ObDuplicateObject): Added this internal
+       function for duplicating objects.
+       * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the parent
+       process's window station to the child process.
+       * ntoskrnl/ps/process.c (PsInitProcessManagement): Initialize the
+       first process's window station.
+
+2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * ntoskrnl/mm/marea.c (MmCreateMemoryArea): Initialise
+       page operation structure members.
+       * ntoskrnl/mm/pageop.c (MmReleasePageOp, MmGetPageOp): Increment
+       or decrement the page operation count in the memory area.
+       * ntoskrnl/mm/virtual.c (MmNotPresentFaultVirtualMemory,
+       MmPageOutVirtualMemory): Check for a deleted memory area before 
+       handling the fault.
+       * ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all
+       page operations to finish before freeing the memory area.
+
+2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * ntoskrnl/ke/i386/syscall.S (interrupt_handler2e): Corrected
+       test for previous mode, upper 16-bit of CS on the stack after an
+       interrupt are arbitary.
+
+2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * lib/user32/misc/winsta.c: Cleaned up indentation.
+
+2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+       
+       * apps/tests/winhello/winhello.c (WinMain, MainWndProc):
+       Cleaned up formatting, some more error checks.
+
+2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,
+       MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.
+
+2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3
+       correctly.
+
+2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>
+
+       * ntoskrnl/include/internal/ps.h: Added KTHREAD_STACK_LIMIT definition.
+       * ntoskrnl/ke/i386/tskswitch.S (Ki386ContextSwitch): Force all the
+       pages of the kernel stack to be accessible from this process.
+       
+2002-06-04  David Welch  <welch@cwcom.net>
+
+       * ntoskrnl/cc/view.c (ReadCacheSegmentChain): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/cc/copy.c (CcRosCreateCacheSegment): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/cc/copy.c (CcFreeCachePage): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/include/internal/mm.h: Changed prototypes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/include/internal/ps.h (KPROCESS): Changed type of
+       page directory base to PHYSICAL_ADDRESS.
+       * ntoskrnl/include/internal/i386/mm.h: Changed prototypes to use
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/ke/kthread.c (KeFreeStackPage): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/ke/kthread.c (KeInitializeThread): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/ke/process.c (KeAttachProcess, KeDetachProcess): Changes 
+       to use PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/ke/kernel.c (PcrPages, KeApplicationProcessorInit): Changes
+       to use PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/balance.c (MM_ALLOCATION_REQUEST): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/balance.c (MmReleasePageMemoryConsumer): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/balance.c (MmRequestPageMemoryConsumer): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/cont.c (MmFreeContinuousPage): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/cont.c (MmAllocateContinuousAlignedMemory): Changes to 
+       use PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/freelist.c (MmTransferOwnershipPage, 
+       MmGetLRUFirstUserPage, MmGetLRUNextUserPage, MmGetContinuousPages,
+       MmInitializePageList, MmSetFlagsPage, MmSetRmapListHeadPage,
+       MmGetRmapListHeadPage, MmMarkPageMapped, MmMarkPageUnmapped,
+       MmGetFlagsPage, MmSetSavedSwapEntryPage, MmGetSavedSwapEntryPage,
+       MmReferencePage, MmGetReferenceCountPage, MmIsUsablePage,
+       MmDereferencePage, MmGetLockCountPage, MmLockPage, MmUnlockPage,
+       MmAllocPage): Changes to use PHYSICAL_ADDRESS type for physical 
+       addresses.
+       * ntoskrnl/mm/iospace.c (MmMapIoSpace): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/kmap.c (ExAllocatePage, MiZeroPage, MiCopyFromUserPage,
+       ExAllocatePageWithPhysPage): Changes to use PHYSICAL_ADDRESS type for 
+       physical addresses.
+       * ntoskrnl/mm/marea.c (MmFreeMemoryArea): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/mdl.c (MmUnlockPages, MmMapLockedPages, 
+       MmProbeAndLockPages): Changes to use PHYSICAL_ADDRESS type for 
+       physical addresses.
+       * ntoskrnl/mm/mm.c (MmSharedDataPagePhysicalAddress, 
+       MmCommitPagedPoolAddress, MmNotPresentFault): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/mminit.c (MmInitVirtualMemory): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/ncache.c (MmAllocateNonCachedMemory, 
+       MmFreeNonCachedPage): Changes to use PHYSICAL_ADDRESS type for 
+       physical addresses.
+       * ntoskrnl/mm/npool.c (grow_kernel_pool): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/rmap.c (MmPageOutPhysicalAddress, MmInsertRmap,
+       MmDeleteAllRmaps, MmDeleteRmap): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/section.c (MiReadPage, MmNotPresentFaultSectionView,
+       MmAccessFaultSectionView, MmPageOutDeleteMapping, 
+       MmPageOutSectionView, MmFreeSectionPage): Changes to use 
+       PHYSICAL_ADDRESS type for physical addresses.
+       * ntoskrnl/mm/slab.c (ExGrowSlabCache): Changes to use 
+       PHYSICAL_ADDRESS type for physical address.
+       * ntoskrnl/mm/virtual.c (MmPageOutVirtualMemory, 
+       MmNotPresentFaultVirtualMemory, MmFreeVirtualMemoryPage): Changes to 
+       use PHYSICAL_ADDRESS type for physical address.
+       * ntoskrnl/mm/wset.c (MmTrimUserMemory): Changes to use 
+       PHYSICAL_ADDRESS type for physical address.
+       * ntoskrnl/mm/page.c (Mmi386ReleaseMmInfo, MmCopyMmInfo,
+       MmGetPhysicalAddressForProcess, MmCreateVirtualMapping,
+       MmCreateVirtualMappingUnsafe, MmCreateVirtualMappingForProcess,
+       MmDeleteVirtualMapping): Changes to use PHYSICAL_ADDRESS type for 
+       physical address.
+       * ntoskrnl/ps/process (PsInitProcessManagment): Changes to use 
+       PHYSICAL_ADDRESS type for physical address.
+       * ntoskrnl/ps/thread.c (PsAllocateCallbackStack): Changes to use 
+       PHYSICAL_ADDRESS type for physical address.
+
+2002-06-04  David Welch  <welch@cwcom.net>
+
+       * Lots of change since the ChangeLog was last updated.
+
+2001-03-18  David Welch  <welch@cwcom.net>
+
+       * ntoskrnl/ke/apc.c (KiDeliverApc): Bug fix.
+       * ntoskrnl/ke/apc.c (KeInsertQueueApc): More comments.
+       * ntoskrnl/ke/catch.c (KiDispatchException): Bug fix.
+       * ntoskrnl/ke/timer.c (KeDelayExecutionThread): Don't use removed 
+       function KeAddTimeoutThread.
+       * ntoskrnl/ke/timer.c (KeAddTimeoutThread): Removed.
+       * ntoskrnl/ke/wait.c (KeWaitForSingleObject, KeWaitForMultipleObjects):
+       Don't use KeAddTimeoutThread.
+       * ntoskrnl/mm/freelist.c (MmAllocateContiguousAlignedMemory): Bug fix
+       * ntoskrnl/mm/freelist.c (MmAllocatePage): Allocate from the top
+       memory.
+
+2001-03-17  David Welch  <welch@cwcom.net>
+
+       * ntoskrnl/ke/catch.c (KiDispatchException): Implementation of
+       exception handling, user-mode only.
+
+2001-03-16  David Welch  <welch@cwcom.net>
+
+       * include/ddk/zw.h: Corrected declarations of NtCreateProfile,
+       NtQueryIntervalProfile, NtSetIntervalProfile.
+       * include/ddk/zwtypes.h: Added definitions of KPROFILE_SOURCE.
+       * ntoskrnl/include/internal/ke.h: Added the interrupted EIP as a
+       parameter to KiUpdateSystemTime for profiling purposes.
+       * ntoskrnl/include/internal/nt: Added declaration for profiling
+       support initialization.
+       * ntoskrnl/ke/timer.c (KiUpdateSystemTime, KeExpireTimers): Call
+       the profiling code on a timer interrupt with the interrupt EIP.
+       * ntoskrnl/ke/i386/irq.c (KiDispatchInterrupt): Pass the interrupted
+       EIP to KiUpdateSystemTime.
+       * ntoskrnl/mm/virtual.c (NtReadVirtualMemory, NtWriteVirtualMemory):
+       Release the MDLs used properly.
+       * ntoskrnl/nt/nt.c: Call the profiling support initialization.
+       * ntoskrnl/nt/ntevent.c (NtCreateEvent): Don't try copying the
+       ObjectAttributes parameter if it is NULL.
+       * ntoskrnl/nt/profile.c: Implemented profiling.
+
+2001-03-16  David Welch  <welch@cwcom.net>
+
+       * ntoskrnl/include/internal/safe.h: Corrected typo.
+       * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):
+       Corrected typos.
+       * ntoskrnl/rtl/mem.c: Missing header file.
+
+2001-03-16  David Welch  <welch@cwcom.net>
+
+       * ntoskrnl/include/internal/safe.h: Add definitions for handling
+       potentially unsafe pointers.
+
+2001-03-16  David Welch  <welch@cwcom.net>
+
+       * ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and
+       MmSafeCopyFromUser as source files need these but don't want internal 
+       mm definitions.
+       * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,
+       NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from
+       user mode safely.
+       * ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper
+       functions for copying data to and from potentially unsafe pointers.
+
+2000-12-23  David Welch  <welch@cwcom.net>
+
+       * All task switching is done in software.
+       * Beginnings of v86 mode support.
+
+2000-12-22  David Welch  <welch@cwcom.net>
+
+       * ntoskrnl/ps/kill.c (PiTerminateProcessThreads): Drop 
+       PiThreadListLock before calling PsTerminateOtherThread
+
+2000-12-16  David Welch  <welch@cwcom.net>
+
+       * ntoskrnl/ex/fmutex.c (ExReleaseFastMutexUnsafe): Only set the
+       fast mutex's owner back to NULL if it is being released
+
+2000-12-10  David Welch  <welch@cwcom.net>
+
+       * ntoskrnl/ke/i386/vm86_sup.S (Ki386RetToV86Mode): Added function
+       to do the raw switch to v86 mode.
+       * ntoskrnl/include/internal/vm86.h: Definitions for the v86 mode
+       support.
+
+2000-12-10  David Welch  <welch@cwcom.net>
+
+       * ntoskrnl/ke/i386/trap.s (PsBeginThreadWithContextInternal): Moved
+       to ntoskrnl/ke/i386/bswitch.S.
+       * ntoskrnl/ke/i386/trap.s (interrupt_handler2e): Moved to
+       ntoskrnl/ke/i386/syscall.S.
+       * ntoskrnl/ke/i386/trap.s (old_interrupt_handler2e): Removed.
+
+2000-12-04  David Welch  <welch@cwcom.net>
+
+       * ntoskrnl/ke/i386/irq.c (KiInterruptDispatch): Record the last PC 
+       value for a rescheduled thread.
+       * ntoskrnl/ke/i386/irqhand.s: Construct a primitive trap frame
+       in interrupt handlers.  
+       
+2000-08-30  David Welch  <welch@cwcom.net>
+
+       * Added calibration of KeStallExecutionProcessor timing
+         (code from linux 2.2.16).
+              
+       * Corrected compilation bugs in user32 library.
+
+       * Corrected compilation bugs related to anonymous structs
+         in ndis code.
+              
+       * Pass command line to kernel from loadros.
+              
+       * Corrected PIC mask calculation.
+              
+2000-05-27  David Welch <welch@cwcom.net>
+
+        * Fixed issue with closing non-existent or already closed
+          handle.
+
+2000-01-26  David Welch <welch@cwcom.net>
+
+        * ZwCreateProcess now maps ntdll rather than the user-mode
+          code.
+
+1999-09-06  David Welch <welch@cwcom.net>
+
+        * Implemented ZwOpenProcess.
+               
+       * Partially implemented killing other threads (possible memory
+          leaks).
+              
+       * Made a start on a proper implemention of APCs (based on 
+         article in NT insider).
+
+1998-12-08  David Welch <welch@cwcom.net>
+
+        * Corrected bug in shell (Read two keypresses and assumed they
+          where the key going up and down respectively).
+              
+       * Corrected race in dpc handling.
+              
+       * Took out cleanup sections in ZwReadFile (now handled by the 
+         APC).
+              
+       * Disabled broken code in kernel32.
+
+
+
+
+
+
+
+
+
+