NtSetInformationFile(): FileRenameInformation: Fixed missing fields
[reactos.git] / ChangeLog
1 2002-11-03  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
2 \r
3         * apps/tests/lpc/lpcclt.c: Change LPC_MESSAGE_HEADER to LPC_MESSAGE.\r
4         * include/csrss/csrss.h: Ditto.\r
5         * include/lsass/lsass.h: Ditto.\r
6         * include/napi/dbg.h: Ditto.\r
7         * include/napi/lpc.h: Ditto.\r
8         * lib/kernel32/misc/console.c: Ditto.\r
9         * lib/ntdll/csr/lpc.c: Ditto.\r
10         * lib/ntdll/dbg/debug.c: Ditto.\r
11         * lib/secur32/lsa.c: Ditto.\r
12         * ntoskrnl/dbg/user.c: Ditto.\r
13         * ntoskrnl/include/internal/port.h: Ditto.\r
14         * ntoskrnl/lpc/connect.c: Ditto.\r
15         * ntoskrnl/lpc/reply.c: Ditto.\r
16         * ntoskrnl/ps/process.c: Ditto.\r
17         * subsys/csrss/api/conio.c: Ditto.\r
18         * subsys/csrss/api/process.c: Ditto.\r
19         * subsys/csrss/api/user.c: Ditto.\r
20 \r
21 2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
22 \r
23         * lib/msvcrt/except/seh.s: Fix end-of-line formatting.\r
24         * lib/ntdll/rtl/i386/exception.c: Ditto.\r
25         * lib/ntdll/rtl/i386/except.s: Ditto.\r
26         * ntoskrnl/rtl/i386/except.s: Ditto.\r
27         * ntoskrnl/rtl/i386/seh.s: Ditto.\r
28 \r
29 2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
30 \r
31         * lib/msvcrt/Makefile (OBJECTS_EXCEPT): Add except/seh.o; Remove\r
32         except/exhand3.o.\r
33         * lib/msvcrt/except/exhand2.c (MsvcrtDebug): New function.\r
34         * lib/msvcrt/except/unwind.c (PEXCEPTION_FRAME): Remove.\r
35         (_global_unwind2): Correct prototype.\r
36         * lib/ntdll/makefile (RTL_I386_OBJECTS, ARCH_OBJECTS): New groups.\r
37         (TARGET_OBJECTS): Add ARCH_OBJECTS group.\r
38         * lib/ntdll/rtl/exception.c (KiUserExceptionDispatcher): Set\r
39         NumberParameters in exception record.\r
40         (RtlRaiseStatus): Remove.\r
41         * ntoskrnl/Makefile (OBJECTS_RTL): Remove rtl/seh.o.\r
42         (OBJECTS_RTL_I386): Add rtl/i386/except.o, rtl/i386/exception.o, and\r
43         rtl/i386/seh.o.\r
44         * ntoskrnl/ke/catch.c (RtlpExecuteHandlerForException,\r
45         RtlpDumpExceptionRegistrations, RtlpDispatchException,\r
46         RtlpExecuteHandler, RtlpExceptionHandler, RtlpUnwindHandler,\r
47         RtlpExecuteHandlerForException, RtlpExecuteHandlerForUnwind,\r
48         RtlUnwind): Remove.\r
49         (RtlpDispatchException): Add prototype.\r
50         * ntoskrnl/ke/i386/usertrap.c (ExceptionTypeStrings): Remove.\r
51         * ntoskrnl/ps/create.c (PsCreateTeb): Mark end of exception\r
52         registration list.\r
53         * tools/helper.mk (TARGET_ASFLAGS): Add -g if DBG = 1.\r
54         * lib/msvcrt/except/exhand3.c: Remove.\r
55         * ntoskrnl/rtl/seh.c: Ditto.\r
56         * lib/msvcrt/except/seh.s: New file.\r
57         * lib/ntdll/rtl/i386/except.s: Ditto.\r
58         * lib/ntdll/rtl/i386/exception.c: Ditto.\r
59         * ntoskrnl/rtl/i386/except.s: Ditto.\r
60         * ntoskrnl/rtl/i386/exception.c: Ditto.\r
61         * ntoskrnl/rtl/i386/seh.s: Ditto.\r
62 \r
63 2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
64 \r
65         * lib/kernel32/process/create.c (_except_handler): New function.\r
66         (BaseProcessStart): Ditto.\r
67         (KlCreateFirstThread): Return INVALID_HANDLE_VALUE on error; Call\r
68         BaseProcessStart() before process entry point.\r
69         * lib/kernel32/thread/thread.c (_except_handler): New function.\r
70         (ThreadStartup): Protect thread using SEH constructs.\r
71 \r
72 2002-10-26  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
73 \r
74         * include/ddk/zw.h (NtProcessStartup): Use standard calling convention.\r
75         * subsys/csrss/csrss.c (NtProcessStartup): Ditto.\r
76         * subsys/smss/smss.c (NtProcessStartup): Ditto.\r
77         * subsys/system/autochk/autochk.c (NtProcessStartup): Ditto.\r
78         * subsys/system/usetup/usetup.c (NtProcessStartup): Ditto.\r
79 \r
80 2002-10-25  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
81 \r
82         * apps/tests/tokentest/tokentest.c (ROS_ACE_HEADER): Move field\r
83         AccessMask ...\r
84         (ROS_ACE): ... here.\r
85         (DisplayDacl): Make pAce an ROS_ACE*; Use new path for AceType; Use\r
86         sizeof(ACE) instead of sizeof(ACE_HEADER).\r
87         * include/ntos/security.h (ACE_HEADER): Move field AccessMask ...\r
88         (ACE): ... here.\r
89         * lib/ntdll/rtl/acl.c: Use new path for AccessMask.\r
90         * ntoskrnl/se/semgr.c: Ditto.\r
91         * ntoskrnl/se/acl.c (SepInitDACLs): Use new path for AccessMask; Use\r
92         sizeof(ACE) instead of sizeof(ACE_HEADER).\r
93         * ntoskrnl/se/token.c (SepCreateSystemProcessToken): Use sizeof(ACE)\r
94         instead of sizeof(ACE_HEADER).\r
95 \r
96 2002-10-20  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
97 \r
98         * include/napi/teb.h (RTL_USER_PROCESS_PARAMETERS): Use field names\r
99         as described in Windows NT/2000 Native API Reference.\r
100         * lib/kernel32/file/file.c: Use new field names.\r
101         * lib/kernel32/misc/console.c: Ditto.\r
102         * lib/kernel32/process/create.c: Ditto.\r
103         * lib/kernel32/process/proc.c: Ditto.\r
104         * lib/ntdll/rtl/path.c: Ditto.\r
105         * lib/ntdll/rtl/ppb.c: Ditto.\r
106         * lib/ntdll/rtl/process.c: Ditto.\r
107 \r
108 2002-10-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
109 \r
110         * include/ntos.h: Include relevant files.\r
111         * include/internal/ke.h: Include files relative to\r
112         ntoskrnl/include.\r
113         * include/internal/arch/ke.h: Ditto.\r
114 \r
115 2002-10-01  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
116 \r
117         * drivers/dd/floppy/floppy.c: Changed PAGESIZE to PAGE_SIZE.\r
118         * drivers/fs/cdfs/fcb.c: Ditto.\r
119         * drivers/fs/cdfs/fsctl.c: Ditto.\r
120         * drivers/fs/cdfs/rw.c: Ditto.\r
121         * drivers/fs/ext2/dir.c: Ditto.\r
122         * drivers/fs/ext2/inode.c: Ditto.\r
123         * drivers/fs/ext2/rw.c: Ditto.\r
124         * drivers/fs/ext2/super.c: Ditto.\r
125         * drivers/fs/minix/blockdev.c: Ditto.\r
126         * drivers/fs/minix/cache.c: Ditto.\r
127         * drivers/fs/minix/inode.c: Ditto.\r
128         * drivers/fs/minix/rw.c: Ditto.\r
129         * drivers/fs/ntfs/fcb.c: Ditto.\r
130         * drivers/fs/ntfs/ntfs.h: Ditto.\r
131         * drivers/fs/vfat/create.c: Ditto.\r
132         * drivers/fs/vfat/direntry.c: Ditto.\r
133         * drivers/fs/vfat/dirwr.c: Ditto.\r
134         * drivers/fs/vfat/fat.c: Ditto.\r
135         * drivers/fs/vfat/fcb.c: Ditto.\r
136         * drivers/fs/vfat/fsctl.c: Ditto.\r
137         * drivers/fs/vfat/rw.c: Ditto.\r
138         * drivers/storage/class2/class2.c: Ditto.\r
139         * drivers/storage/scsiport/scsiport.c: Ditto.\r
140         * hal/halx86/adapter.c: Ditto.\r
141         * hal/halx86/mp.c: Ditto.\r
142         * include/ddk/mmfuncs.h: Ditto.\r
143         * include/ddk/mmtypes.h: Ditto.\r
144         * include/ddk/i386/pagesize.h: Ditto.\r
145         * include/ntdll/pagesize.h: Ditto.\r
146         * lib/kernel32/process/create.c: Ditto.\r
147         * lib/kernel32/thread/thread.c: Ditto.\r
148         * lib/ntdll/ldr/utils.c: Ditto.\r
149         * lib/ntdll/rtl/env.c: Ditto.\r
150         * lib/ntdll/rtl/heap.c: Ditto.\r
151         * lib/ntdll/rtl/ppb.c: Ditto.\r
152         * lib/ntdll/rtl/process.c: Ditto.\r
153         * lib/ntdll/rtl/thread.c: Ditto.\r
154         * ntoskrnl/cc/copy.c: Ditto.\r
155         * ntoskrnl/cc/view.c: Ditto.\r
156         * ntoskrnl/ex/sysinfo.c: Ditto.\r
157         * ntoskrnl/include/internal/i386/mm.h: Ditto.\r
158         * ntoskrnl/io/mdl.c: Ditto.\r
159         * ntoskrnl/ke/kthread.c: Ditto.\r
160         * ntoskrnl/ke/i386/kernel.c: Ditto.\r
161         * ntoskrnl/ldr/init.c: Ditto.\r
162         * ntoskrnl/ldr/loader.c: Ditto.\r
163         * ntoskrnl/mm/anonmem.c: Ditto.\r
164         * ntoskrnl/mm/cont.c: Ditto.\r
165         * ntoskrnl/mm/freelist.c: Ditto.\r
166         * ntoskrnl/mm/iospace.c: Ditto.\r
167         * ntoskrnl/mm/kmap.c: Ditto.\r
168         * ntoskrnl/mm/marea.c: Ditto.\r
169         * ntoskrnl/mm/mdl.c: Ditto.\r
170         * ntoskrnl/mm/mminit.c: Ditto.\r
171         * ntoskrnl/mm/ncache.c: Ditto.\r
172         * ntoskrnl/mm/npool.c: Ditto.\r
173         * ntoskrnl/mm/pagefile.c: Ditto.\r
174         * ntoskrnl/mm/pageop.c: Ditto.\r
175         * ntoskrnl/mm/section.c: Ditto.\r
176         * ntoskrnl/mm/slab.c: Ditto.\r
177         * ntoskrnl/mm/i386/page.c: Ditto.\r
178         * ntoskrnl/ob/handle.c: Ditto.\r
179         * ntoskrnl/ps/create.c: Ditto.\r
180         * ntoskrnl/ps/process.c: Ditto.\r
181         * ntoskrnl/ps/w32call.c: Ditto.\r
182         * subsys/win32k/include/object.h: Ditto.\r
183 \r
184 2002-10-01  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
185 \r
186         * lib/ntdll/string/ctype.c: Undefine __MSVCRT__ to not have mingw\r
187         runtime import _pctype.\r
188 \r
189 2002-09-30  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
190 \r
191         * lib/user32/misc/desktop.c (string.h): Include.\r
192         * lib/user32/misc/resources.c: Ditto.\r
193         * lib/user32/misc/winhelp.c: Ditto.\r
194         * lib/user32/windows/accel.c: Ditto.\r
195         * lib/user32/windows/bitmap.c: Ditto.\r
196         * subsys/win32k/freetype/ctype.c: Undefine __MSVCRT__ and _pctype to not\r
197         have mingw runtime import _pctype.\r
198 \r
199 2002-09-30  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
200 \r
201         * ntoskrnl/cc/view.c (alloca): Prototype.\r
202         * ntoskrnl/rtl/ctype.c: Undefine __MSVCRT__ to not have mingw runtime\r
203         import _pctype.\r
204 \r
205 2002-08-26  David Welch  <welch@computer2.darkstar.org>\r
206 \r
207         * lib/gdi32/misc/dllmain.c (GdiDllInitialize): Don't initialize\r
208         win32k.sys for each process.\r
209         * subsys/csrss/init.c (CsrServerInitialization): Initialize\r
210         win32k.sys as well.\r
211 \r
212 2002-08-26  David Welch  <welch@computer2.darkstar.org>\r
213 \r
214         * ntoskrnl/ps/process.c (NtCreateProcess): Reference the\r
215         parent process's handle using ExGetPreviousMode.\r
216 \r
217 2002-08-26  David Welch  <welch@computer2.darkstar.org>\r
218 \r
219         * lib/user32/misc/dllmain.c (Init): Initialize gdi32 as well.\r
220 \r
221 2002-08-26  David Welch  <welch@computer2.darkstar.org>\r
222 \r
223         * iface/addsys/genw32k.c (main, process): Generate a set of\r
224         stubs for csrss as well.\r
225 \r
226 2002-08-26  David Welch  <welch@computer2.darkstar.org>\r
227 \r
228         * lib/kernel32/process/create.c (CreateProcessW): Initialize\r
229         all the members of the new process's PPB.\r
230 \r
231 2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
232 \r
233         * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): Ensure the\r
234         process isn't freed in the middle of our operations.\r
235 \r
236 2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
237 \r
238         * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation): Fixed.\r
239 \r
240 2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
241 \r
242         * ntoskrnl/ps/create.c (PiDeleteThread): Don't dereference\r
243         the thread's process while holding the thread list lock.\r
244 \r
245 2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
246 \r
247         * ntoskrnl/mm/section.c (MmMapViewOfSection): Check there is \r
248         enough space for all parts of an image before mapping it; if\r
249         there isn't enough space free at the preferred base address\r
250         then try to choose a different one.\r
251 \r
252 2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
253 \r
254         * ntoskrnl/mm/mpw.c (MmInitMpwThread): Run the MPW thread at\r
255         idle priority.\r
256 \r
257 2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
258 \r
259         * ntoskrnl/mm/kmap.c (ExUnmapPage, ExAllocatePageWithPhysPage,\r
260         MiFreeNonPagedPoolRegion, MiAllocNonPagedPoolRegion): Maintain\r
261         a hint of the next free page; makes running with whole page\r
262         allocation more bearable.\r
263 \r
264 2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
265 \r
266         * ntoskrnl/mm/anonmem.c (MmPageOutVirtualMemory): Show an\r
267         out of swap space message if we are out of swap space.\r
268         * ntoskrnl/mm/section.c (MmPageOutSectionView): Show an\r
269         out of swap space message if we are out of swap space.\r
270         * ntoskrnl/mm/pagefile.c (MmAllocSwapPage): Don't automatically\r
271         show an out of swap space message on failure.\r
272         * ntoskrnl/mm/pagefile.c (MmShowOutOfSpaceMessagePagingFile): New\r
273         function to notify the user that the pagefile is full.\r
274 \r
275 2002-08-17  David Welch  <welch@computer2.darkstar.org>\r
276 \r
277         * drivers/lib/zlib/Makefile: Create a dummy zlib.sym\r
278 \r
279 2002-08-16  David Welch  <welch@computer2.darkstar.org>\r
280 \r
281         * ntoskrnl/mm/npool.c (ExAllocateWholePageBlock): Converted\r
282         to use PHYSICAL_ADDRESS type for page address.\r
283 \r
284 2002-08-16  David Welch  <welch@computer2.darkstar.org>\r
285 \r
286         * subsys/win32k/ntuser/class.c (W32kCreateClass): Corrected\r
287         typo when calculating the offset into the class object to\r
288         put the class name string.\r
289 \r
290 2002-08-16  David Welch  <welch@computer2.darkstar.org>\r
291 \r
292         * ntoskrnl/ps/thread.c (PsDispatchThreadNoLock): Don't call\r
293         the reaper function directly; set an event to wake up a seperate\r
294         reaper thread.\r
295         * ntoskrnl/ps/thread.c (PsReaperThreadMain): New function that\r
296         waits for a notification and then calls PsReapThreads.\r
297         * ntoskrnl/ps/thread.c (PsInitThreadManagement): Create the\r
298         reaper thread.\r
299 \r
300 2002-08-15  David Welch  <welch@computer2.darkstar.org>\r
301 \r
302         * lib/advapi32/misc/dllmain.c (DllMain): Removed debug message.\r
303 \r
304 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
305 \r
306         * subsys/smss/init.c (SmPagingFilesQueryRoutine): If possible\r
307         take the size of the paging file from the registry.\r
308 \r
309 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
310 \r
311         * ntoskrnl/mm/section.c (MmCreateDataFileSection): Extend the\r
312         section if necessary.\r
313 \r
314 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
315 \r
316         * ntoskrnl/mm/pagefile.c (NtCreatePagingFile): Set the file\r
317         size using the FileAllocationInformation class.\r
318 \r
319 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
320 \r
321         * ntoskrnl/mm/anonmem.c (MmWritePageVirtualMemory): Implemented\r
322         function to write anonymous memory pages to the swap file.\r
323         * ntoskrnl/mm/anonmem.c (MmFreeVirtualMemoryPage): Free any\r
324         swap page associated with the page.\r
325         * ntoskrnl/mm/mpw.c (MmWriteDirtyPages): New function to find\r
326         pages to write to disk.\r
327         * ntoskrnl/mm/mpw.c (MmMpwThreadMain): Implemented MPW functionality.\r
328         * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): New function\r
329         to write a single page back to disk.\r
330         * ntoskrnl/mm/rmap.c (MmSetCleanAllRmaps, MmSetDirtyAllRmaps,\r
331         MmIsDirtyPageRmap): New rmap function to support the MPW thread.\r
332         * ntoskrnl/mm/section.c (MmWritePageSectionView): Implemented\r
333         function to write back section pages.\r
334         * ntoskrnl/mm/section.c (MmFreeSectionPage): Free any swap\r
335         entry associated with the page; mark pages shared with\r
336         the cache as dirty if necessary.\r
337         \r
338 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
339 \r
340         * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set name of\r
341         the module into the module text structure.\r
342 \r
343 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
344 \r
345         * ntoskrnl/io/rw.c (NtReadFile, NtWriteFile): Use the correct\r
346         test for whether to wait for the completion of i/o.\r
347 \r
348 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
349 \r
350         * ntoskrnl/cm/ntfunc.c (NtFlushKey): Request synchronous i/o\r
351         from NtOpenFile.\r
352         * ntoskrnl/cm/regfile (CmiInitPermanentRegistryHive): Request\r
353         synchronous i/o from NtCreateFile.\r
354         * ntoskrnl/dbg/kdb_stabs.c (LdrpLoadModuleSymbols): Request\r
355         synchronous i/o from NtOpenFile.\r
356         * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Request synchronous i/o\r
357         from NtOpenFile.\r
358 \r
359 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
360 \r
361         * ntoskrnl/cc/view.c (CcRosSuggestFreeCacheSegment): Maintain the\r
362         correct reference count.\r
363 \r
364 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
365 \r
366         * ntoskrnl/cc/view.c (CcRosFlushCacheSegment): New function to\r
367         write back a modified cache segment.\r
368         * ntoskrnl/cc/view.c (CcRosFlushDirtyPages): New function to\r
369         flush some dirty pages from the cache.\r
370         * ntoskrnl/cc/view.c (CcRosMarkDirtyCacheSegment): New function to\r
371         mark a cache segment modified while mapped into memory as dirty.\r
372 \r
373 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
374 \r
375         * ntoskrnl/cc/pin.c (CcMapData, CcUnpinData, CcSetDirtyPinnedData):\r
376         Store the dirty status in the BCB; don't write back dirty data\r
377         immediately.\r
378 \r
379 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
380 \r
381         * include/ntos/mm.h: Added SEC_XXXX defines from 'Windows NT/2000\r
382         Native API Reference'\r
383 \r
384 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
385 \r
386         * drivers/fs/vfat/ea.c (VfatSetExtendedAttributes): Empty\r
387         placeholder for extended attribute functions.\r
388 \r
389 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
390 \r
391         * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation):\r
392         Added function to set allocation size.\r
393 \r
394 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
395 \r
396         * drivers/fs/vfat/fcb.c (vfatFCBInitializeCache): Renamed\r
397         to vfatFCBInitializeCacheFromVolume.\r
398         * drivers/fs/vfat/fcb.c (vfatMakeFCBFromDirEntry): Don't\r
399         initialise the cache with a file object representing the\r
400         volume unless the FCB is for a directory.\r
401 \r
402 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
403 \r
404         * drivers/fs/vfat/create.c (VfatPagingFileCreate): Added a\r
405         new function for handling paging file only code.\r
406         * drivers/fs/vfat/create.c (VfatSupersedeFile): Added a\r
407         new function for doing a file supersede.\r
408         * drivers/fs/vfat/create.c (VfatCreateFile): Reformatted and\r
409         adjusted control flow. Set allocation size and extended attributes\r
410         on create.\r
411         * drivers/fs/vfat/create.c (VfatCreate): Removed goto.\r
412 \r
413 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
414 \r
415         * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Renamed\r
416         updEntry to VfatUpdateEntry.\r
417         * drivers/fs/vfat/close.c (VfatCloseFile): Renamed\r
418         updEntry to VfatUpdateEntry.\r
419         * drivers/fs/vfat/dirwr.c (updEntry): Renamed to\r
420         VfatUpdateEntry.\r
421         * drivers/fs/vfat/dirwr.c (addEntry): Renamed to\r
422         VfatAddEntry.\r
423 \r
424 2002-08-14  David Welch  <welch@computer2.darkstar.org>\r
425 \r
426         * apps/tests/sectest/sectest.c (main): Fixed formatting.\r
427 \r
428 2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
429 \r
430         * ntoskrnl/mm/i386/page.c (MmSetPageProtect): Fixed\r
431         behaviour when called on the system address space.\r
432 \r
433 2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
434 \r
435         * ntoskrnl/mm/virtual.c (MmQueryAnonMem, MmProtectAnonMem,\r
436         NtAllocateVirtualMemory, NtFreeVirtualMemory): Renamed\r
437         segments to regions; moved region code to seperate file.\r
438         Implemented NtQueryVirtualMemory and NtProtectVirtualMemory\r
439         for anonymous memory areas.\r
440 \r
441 2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
442 \r
443         * ntoskrnl/mm/anonmem.c: Moved functions relating to\r
444         areas created with NtAllocateVirtualMemory to a \r
445         seperate file.\r
446 \r
447 2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
448 \r
449         * ntoskrnl/mm/section.c (MmQuerySectionView): Implemented\r
450         NtQueryVirtualMemory for section views.\r
451 \r
452 2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
453 \r
454         * ntoskrnl/mm/section.c (MmAccessFaultSectionView,\r
455         MmNotPresentFaultSectionView, MmProtectSectionView,\r
456         MmMapViewOfSegment, MmAlterViewAttributes): Implemented \r
457         NtProtectVirtualMemory for section views.\r
458 \r
459 2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
460 \r
461         * ntoskrnl/ke/main.c: Removed SEH test code.\r
462 \r
463 2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
464 \r
465         * lib/ntdll/ldr/utils.c (LdrFixupImports): Remove the readonly\r
466         protection from the IAT before writing to it.\r
467 \r
468 2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
469 \r
470         * lib/ntdll/ldr/utils.c (LdrAdjustDllName): Properly null terminate\r
471         the base name of the DLL.\r
472 \r
473 2002-08-10  David Welch  <welch@computer2.darkstar.org>\r
474 \r
475         * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set the text segment\r
476         of modules to readonly after loading.\r
477 \r
478 2002-08-09  David Welch  <welch@computer2.darkstar.org>\r
479 \r
480         * ntoskrnl/ps/create.c (NtCreateThread): Call PsSuspendThread\r
481         if NtCreateThread has CreateSuspended as TRUE.\r
482         * ntoskrnl/ps/suspend.c (PsSuspendThread, PsResumeThread,\r
483         PiSuspendThreadKernelRoutine): Fixed suspend functionality.\r
484 \r
485 2002-08-09  David Welch  <welch@computer2.darkstar.org>\r
486 \r
487         * ntoskrnl/ke/i386/usertrap.c (print_user_address): Copy\r
488         the LDR variable from the right address.\r
489 \r
490 2002-08-09  David Welch  <welch@computer2.darkstar.org>\r
491 \r
492         * ntoskrnl/ke/apc.c (KiDeliverNormalApc): Check for\r
493         kernel APCs pending on exit from the kernel.\r
494         * ntoskrnl/ke/apc.c (KiDeliverNormalApc, KiDeliverUserApc,\r
495         KiDeliverApc): Set the APC's inserted flag to FALSE after\r
496         removing it from the thread's queue.\r
497 \r
498 2002-08-09  David Welch  <welch@computer2.darkstar.org>\r
499 \r
500         * lib/kernel32/thread/thread.c (ThreadStartup): Don't\r
501         call DLL entrypoints; this is done by LdrInitializeThunk.\r
502         * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call\r
503         DLLs in initialization order; take the loader lock before\r
504         calling.\r
505 \r
506 2002-08-09  David Welch  <welch@computer2.darkstar.org>\r
507 \r
508         * apps/tests/thread/thread.c (main): Test suspend and\r
509         resume functionality.\r
510 \r
511 2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
512 \r
513         * ntoskrnl/mm/section (NtQuerySection): Return the\r
514         right result length.\r
515 \r
516 2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
517 \r
518         * ntoskrnl/ke/usertrap.c (print_user_address): Check for\r
519         a NULL LDR structure in the PEB; copy the LDR pointer in\r
520         safely. \r
521 \r
522 2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
523 \r
524         * ntoskrnl/ke/apc.c (KiDeliverUserApc): Deliver all present\r
525         APCs; release the APC spinlock while acccessing user memory.\r
526 \r
527 2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
528 \r
529         * include/internal/ps.h: Adjusted offsets into the ETHREAD\r
530         structure.\r
531         * include/internal/ps.h: Removed redundant members from the\r
532         KTHREAD structure.\r
533         * ntoskrnl/ke/kthread.c (KeInitializeThread): Removed\r
534         redundant members from the KTHREAD structure.\r
535 \r
536 2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
537 \r
538         * ntoskrnl/dbg/kdb.c (KdbEnterDebuggerException): New\r
539         function to enter the debugger on an exception.\r
540         * ntoskrnl/kd/kdebug.c (KdInitSystem): Initialize the\r
541         local kernel debugger if enabled.\r
542         * ntoskrnl/ke/catch.c (KiDispatchException): Enter the\r
543         local kernel debugger on an exception.\r
544 \r
545 2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
546 \r
547         * include/ntdll/ldr.h: Added definition for a DLL entrypoint.\r
548         * lib/kernel32/process/create.c (KlCreateFirstThread): Put\r
549         the argument to the NtProcessStartup function on the stack.\r
550         * lib/kernel32/process/create.c (KlInitPeb): Read the\r
551         base address of the new image from the PEB.\r
552         * lib/kernel32/process/create.c (CreateProcessW): Start the\r
553         first thread at the entrypoint of the new image.\r
554         * lib/ntdll/ldr/startup.c (LdrInitializeThunk): If the\r
555         function is called after the initial startup then just call the\r
556         entrypoints for the loaded DLLs with DLL_THREAD_ATTACH. Don't\r
557         call the entrypoint of the image.\r
558         * lib/ntdll/rtl/process.c (RtlpCreateFirstThread): Put the\r
559         argument to the NtProcessStartup function on the stack.\r
560         * lib/ntdll/rtl/process.c (KlInitPeb): Read the base address of\r
561         the new image from the PEB.\r
562         * lib/ntdll/rtl/process.c (RtlCreateUserProcess): Start the\r
563         first thread at the entrypoint of the new image.\r
564         * ntoskrnl/ke/i386/bthread.S (PsBeginThreadWithContextInternal):\r
565         Use the system call path to begin a usermode thread.\r
566         * ntoskrnl/ke/i386/thread.c (Ke386InitThreadWithContext): Convert\r
567         the supplied context into a trap frame.\r
568         * ntoskrnl/ldr/init.c (LdrLoadInitialProcess): Put the PEB argument\r
569         to the NtProcessStartup function on the new stack; start the\r
570         first thread at the entrypoint of the image.\r
571         * ntoskrnl/ps/create.c (NtCreateThread): Create an APC to call\r
572         LdrInitializeThunk in the context of a new thread before its\r
573         entrypoint.\r
574 \r
575 2002-08-08  David Welch  <welch@computer2.darkstar.org>\r
576 \r
577         * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Uninitialise\r
578         the cache on file cleanup.\r
579         * drivers/fs/vfat/fcb.c (vfatReleaseFcb): Don't uninitialise\r
580         the cache on file close.\r
581         * ntoskrnl/cc/copy.c: Renamed zero page global variable.\r
582         * ntoskrnl/cc/view.c: Added cache delete function.\r
583 \r
584 2002-07-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
585 \r
586         * rules.mak (RSYM): Define.\r
587         * include/ddk/zwtypes.h (DebugDbgLoadSymbols): Add to enum\r
588         _DEBUG_CONTROL_CODE.\r
589         * include/ntdll/ldr.h (LDR_SYMBOL_INFO, LdrpLoadUserModuleSymbols): Add.\r
590         (LdrLoadModuleSymbols): Remove.\r
591         * include/ntos/kdbgsyms.h (ST_FILENAME, ST_FUNCTION,\r
592         ST_LINENUMBER): Add.\r
593         (SYMBOL). Make Name an ANSI_STRING.\r
594         (IMAGE_SYMBOL_INFO, AreSymbolsParsed): Add.\r
595         * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call\r
596         LdrpLoadUserModuleSymbols() not LdrLoadModuleSymbols().\r
597         * lib/ntdll/ldr/utils.c (LdrLoadModuleSymbols): Rename to\r
598         LdrpLoadUserModuleSymbols.\r
599         (LdrpLoadUserModuleSymbols): Use DebugDbgLoadSymbols debug control code.\r
600         (LdrLoadDll): assert if out of memory.\r
601         (LdrLoadDll): Call\r
602         LdrpLoadUserModuleSymbols(), not LdrLoadModuleSymbols().\r
603         * lib/ntdll/string/ctype.c (_pctype): #undef.\r
604         * ntoskrnl/dbg/dbgctrl.c (NtSystemDebugControl): Call\r
605         LdrLoadUserModuleSymbols on DebugDbgLoadSymbols.\r
606         * ntoskrnl/include/internal/ldr.h (LdrGetAddressInformation): Add.\r
607         * ntoskrnl/include/internal/module.h (MODULE_TEXT_SECTION): Make SymbolInfo\r
608         an IMAGE_SYMBOL_INFO.\r
609         * ntoskrnl/ke/i386/exp.c (LdrGetAddressInformation): Add prototype.\r
610         (print_address): Change #ifdef KDBG to #ifdef DBG.\r
611         (KiDoubleFaultHandler, KiDumpTrapFrame, KeDumpStackFrames): Dump\r
612         one stack frame per line.\r
613         * ntoskrnl/ke/i386/multiboot.S: Create pagetables for more kernel\r
614         address space so larger modules can be passed from the boot loader.\r
615         * ntoskrnl/ke/i386/usertrap.c (LdrGetAddressInformation): Add prototype.\r
616         (print_user_address): Print symbols using LdrGetAddressInformation().\r
617         * ntoskrnl/ldr/loader.c (SYMBOLFILE_HEADER, IMAGE_SYMBOL_INFO_CACHE,\r
618         STAB_ENTRY, N_FUN, N_SLINE, N_SO, SymbolListHead): Add.\r
619         (TAG_SYM_BUF): Remove.\r
620         (LdrInitDebug): Remove unneeded code.\r
621         (LdrInit1): Prepare for loading symbols.\r
622         (LdrpReadLine, HexL, LdrpParseLine, LdrpLoadModuleSymbolsFromBuffer,\r
623         LdrpLoadUserModuleSymbolsFromBuffer): Remove.\r
624         (LdrpParseImageSymbols, LdrpGetFileName, LdrpGetFunctionName,\r
625         LdrpGetLineNumber, LdrGetAddressInformation, LdrpLookupUserSymbolInfo): Add.\r
626         (LdrpLoadModuleSymbols, LdrInitializeBootStartDriver): Change to use new\r
627         symbol structures.\r
628         (LdrLoadUserModuleSymbols): Cache symbol buffers.\r
629         (LdrUnloadModuleSymbols): Implement.\r
630         (LdrLoadModule, LdrUnloadModule): Change #ifdef KDBG to #ifdef DBG.\r
631         (LdrPEProcessModule): Split a line into two lines.\r
632         (LdrPEProcessModule): Setup for loading symbols.\r
633         * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Open with FILE_SHARE_READ.\r
634         * ntoskrnl/ps/process.c (PiFreeSymbols): Call LdrUnloadModuleSymbols() to\r
635         free symbols.\r
636         (PiDeleteProcess): Change #ifdef KDBG to #ifdef DBG.\r
637         * ntoskrnl/rtl/ctype.c (_pctype): #undef.\r
638         * ntoskrnl/rtl/string.c (strncpy): Terminate destination string.\r
639         * tools/Makefile (rsym): Add target.\r
640         * tools/helper.mk: Include config and use -g if DBG = 1.\r
641 \r
642 2002-07-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>\r
643 \r
644         * Makefile (install_before): Install system.hiv to correct location.\r
645 \r
646 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
647 \r
648         * subsys/win32k/include/callback.h: Fixed callback argument\r
649         definitions.\r
650         * subsys/win32k/ntuser/winpos.c: Implemented some more of the windows\r
651         sizing/moving code.\r
652         * subsys/win32k/ntuser/painting.c: Implemented some more of the\r
653         window painting code.\r
654         * subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.\r
655         * subsys/win32k/objects/region.c: Added stubs for some more\r
656         region functions.\r
657 \r
658 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
659 \r
660         * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the\r
661         process desktop handle as well.\r
662 \r
663 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
664 \r
665         * ntoskrnl/se/token.c: Don't call the ZwXXX variant of\r
666         system calls when in system context.\r
667 \r
668 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
669 \r
670         * ntoskrnl/Makefile: Added file with MDA output code.\r
671         * ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for\r
672         debug output.\r
673 \r
674 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
675 \r
676         * lib/user32/windows/defwnd.c: Implemented some more of the\r
677         default window handler.\r
678 \r
679 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
680 \r
681         * lib/user32/misc/stubs.c: Removed some stubs to seperate files.\r
682 \r
683 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
684 \r
685         * lib/user32/user32.def: Export ScreenToClient otherwise we\r
686         get problems when code in user32 tries to call it.\r
687 \r
688 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
689 \r
690         * include/win32k/region.h: Added prototypes for some missing\r
691         region functions.\r
692 \r
693 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
694 \r
695         * include/win32k/ntuser.h: Added prototypes for some missing\r
696         NtUserXXX functions.\r
697 \r
698 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
699 \r
700         * include/user32/wininternal.h: Added some constants for\r
701         private GetDCEx styles that WINE needs.\r
702 \r
703 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
704 \r
705         * include/user32/callback.h: Fixed callbacks for messages with\r
706         parameters.\r
707 \r
708 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
709 \r
710         * include/napi/win32.h (W32THREAD): Added pointer to the\r
711         thread's desktop.\r
712         * include/napi/win32.h (W32PROCESS): Removed handle table,\r
713         added a pointer to the process's window station.\r
714         * subsys/win32k/ntuser/guicheck.c (W32kGuiCheck): Reference\r
715         a process's window station on the first win32k system call. Reference\r
716         a thread's desktop on the first win32k system call.\r
717 \r
718 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
719 \r
720         * include/messages.h: Added some missing WM_XXX constants.\r
721 \r
722 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
723 \r
724         * drivers/dd/ide/makefile: Compiling with debugging messages\r
725         needs libgcc to be linked in.\r
726 \r
727 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
728 \r
729         * iface/addsys/genw32k.c: Generate a variable with the\r
730         number of system calls.\r
731         * iface/native/genntdll.c: Generate a proper stack frame for\r
732         the user system call stubs.\r
733         * ntoskrnl/ke/i386/syscall.S: Generate a proper stack frame for\r
734         the handler for system calls.\r
735 \r
736 2002-07-04  David Welch  <welch@computer2.darkstar.org>\r
737 \r
738         * Makefile: Build the GUI startup application.\r
739         * subsys/system/gstart/gstart.c: Application to start up\r
740         the GUI.\r
741 \r
742 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
743 \r
744         * tools/helper.mk: Make an import library a proper target\r
745         depending on the .def file.\r
746 \r
747 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
748 \r
749         * subsys/win32k/ntuser/window.c (NtUserGetWindowLong): Began\r
750         implementation.\r
751 \r
752 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
753 \r
754         * subsys/win32k/misc/object.c (ObmCreateHandle): Return the\r
755         correct handle value.\r
756 \r
757 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
758 \r
759         * subsys/win32k/makefile: Make win32k depend on the file containing\r
760         the service table. \r
761 \r
762 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
763 \r
764         * ntoskrnl/ke/i386/stkswitch.S (KeSwitchStackAndRet,\r
765         KePushAndStackSwitchAndSysRet): Push one value only.\r
766         * ntoskrnl/ps/w32call.c (NtCallbackReturn, NtW32Call): Moved\r
767         these functions to a new file. Restore the old trap frame after\r
768         returning from a callback.\r
769 \r
770 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
771 \r
772         * lib/user32/windows/message.c (CallWindowProcA, CallWindowProcW):\r
773         Convert message to Unicode or ASCII if necessary.\r
774 \r
775 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
776 \r
777         * include/user32/callback.h: Added WM_CREATE and WM_NCCALCSIZE\r
778         callbacks.\r
779         * lib/user32/windows/window.c (User32SendCREATEMessageForKernel,\r
780         User32SendNCCREATEMessageForKernel): Implemented.\r
781         * subsys/win32k/ntuser/callback.c (W32kSendCREATEMessage):\r
782         Implemented.    \r
783 \r
784 2002-06-18  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
785 \r
786         * include/structs.h: Added Unicode and ASCII versions of\r
787         CREATESTRUCT.\r
788 \r
789 2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
790 \r
791         * tools/helper.mk: Make the install target depend on all the\r
792         files to be installed.\r
793 \r
794 2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
795 \r
796         * ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the\r
797         top of the old stack.\r
798         * ntoskrnl/ps/thread.c (NtW32Call): Set TSS.Esp0 to the top of\r
799         the new stack. Free the callback stack correctly. Don't copy\r
800         portion of the trap frame that doesn't exist in non-v86-mode\r
801         interrupts.\r
802         * ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to\r
803         free a stack allocated with PsAllocateCallbackStack.\r
804 \r
805 2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
806 \r
807         * drivers/dd/null/makefile: Commented out local LDFLAGS as\r
808         these cause bad relocations in the stripped image.\r
809 \r
810 2002-06-16  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
811 \r
812         * config: Corrected spelling error.\r
813 \r
814 2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
815 \r
816         * subsys/system/winlogon/winlogon.c (WinMain): Check for\r
817         failure when creating a window system.\r
818 \r
819 2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
820 \r
821         * ntoskrnl/ob/handle.c (ObDuplicateObject): Added this internal\r
822         function for duplicating objects.\r
823         * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the parent\r
824         process's window station to the child process.\r
825         * ntoskrnl/ps/process.c (PsInitProcessManagement): Initialize the\r
826         first process's window station.\r
827 \r
828 2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
829 \r
830         * ntoskrnl/mm/marea.c (MmCreateMemoryArea): Initialise\r
831         page operation structure members.\r
832         * ntoskrnl/mm/pageop.c (MmReleasePageOp, MmGetPageOp): Increment\r
833         or decrement the page operation count in the memory area.\r
834         * ntoskrnl/mm/virtual.c (MmNotPresentFaultVirtualMemory,\r
835         MmPageOutVirtualMemory): Check for a deleted memory area before \r
836         handling the fault.\r
837         * ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all\r
838         page operations to finish before freeing the memory area.\r
839 \r
840 2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
841 \r
842         * ntoskrnl/ke/i386/syscall.S (interrupt_handler2e): Corrected\r
843         test for previous mode, upper 16-bit of CS on the stack after an\r
844         interrupt are arbitary.\r
845 \r
846 2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
847 \r
848         * lib/user32/misc/winsta.c: Cleaned up indentation.\r
849 \r
850 2002-06-11  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
851         \r
852         * apps/tests/winhello/winhello.c (WinMain, MainWndProc):\r
853         Cleaned up formatting, some more error checks.\r
854 \r
855 2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
856 \r
857         * ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,\r
858         MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.\r
859 \r
860 2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
861 \r
862         * ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3\r
863         correctly.\r
864 \r
865 2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>\r
866 \r
867         * ntoskrnl/include/internal/ps.h: Added KTHREAD_STACK_LIMIT definition.\r
868         * ntoskrnl/ke/i386/tskswitch.S (Ki386ContextSwitch): Force all the\r
869         pages of the kernel stack to be accessible from this process.\r
870         \r
871 2002-06-04  David Welch  <welch@cwcom.net>\r
872 \r
873         * ntoskrnl/cc/view.c (ReadCacheSegmentChain): Changes to use \r
874         PHYSICAL_ADDRESS type for physical addresses.\r
875         * ntoskrnl/cc/copy.c (CcRosCreateCacheSegment): Changes to use \r
876         PHYSICAL_ADDRESS type for physical addresses.\r
877         * ntoskrnl/cc/copy.c (CcFreeCachePage): Changes to use \r
878         PHYSICAL_ADDRESS type for physical addresses.\r
879         * ntoskrnl/include/internal/mm.h: Changed prototypes to use \r
880         PHYSICAL_ADDRESS type for physical addresses.\r
881         * ntoskrnl/include/internal/ps.h (KPROCESS): Changed type of\r
882         page directory base to PHYSICAL_ADDRESS.\r
883         * ntoskrnl/include/internal/i386/mm.h: Changed prototypes to use\r
884         PHYSICAL_ADDRESS type for physical addresses.\r
885         * ntoskrnl/ke/kthread.c (KeFreeStackPage): Changes to use \r
886         PHYSICAL_ADDRESS type for physical addresses.\r
887         * ntoskrnl/ke/kthread.c (KeInitializeThread): Changes to use \r
888         PHYSICAL_ADDRESS type for physical addresses.\r
889         * ntoskrnl/ke/process.c (KeAttachProcess, KeDetachProcess): Changes \r
890         to use PHYSICAL_ADDRESS type for physical addresses.\r
891         * ntoskrnl/ke/kernel.c (PcrPages, KeApplicationProcessorInit): Changes\r
892         to use PHYSICAL_ADDRESS type for physical addresses.\r
893         * ntoskrnl/mm/balance.c (MM_ALLOCATION_REQUEST): Changes to use \r
894         PHYSICAL_ADDRESS type for physical addresses.\r
895         * ntoskrnl/mm/balance.c (MmReleasePageMemoryConsumer): Changes to use \r
896         PHYSICAL_ADDRESS type for physical addresses.\r
897         * ntoskrnl/mm/balance.c (MmRequestPageMemoryConsumer): Changes to use \r
898         PHYSICAL_ADDRESS type for physical addresses.\r
899         * ntoskrnl/mm/cont.c (MmFreeContinuousPage): Changes to use \r
900         PHYSICAL_ADDRESS type for physical addresses.\r
901         * ntoskrnl/mm/cont.c (MmAllocateContinuousAlignedMemory): Changes to \r
902         use PHYSICAL_ADDRESS type for physical addresses.\r
903         * ntoskrnl/mm/freelist.c (MmTransferOwnershipPage, \r
904         MmGetLRUFirstUserPage, MmGetLRUNextUserPage, MmGetContinuousPages,\r
905         MmInitializePageList, MmSetFlagsPage, MmSetRmapListHeadPage,\r
906         MmGetRmapListHeadPage, MmMarkPageMapped, MmMarkPageUnmapped,\r
907         MmGetFlagsPage, MmSetSavedSwapEntryPage, MmGetSavedSwapEntryPage,\r
908         MmReferencePage, MmGetReferenceCountPage, MmIsUsablePage,\r
909         MmDereferencePage, MmGetLockCountPage, MmLockPage, MmUnlockPage,\r
910         MmAllocPage): Changes to use PHYSICAL_ADDRESS type for physical \r
911         addresses.\r
912         * ntoskrnl/mm/iospace.c (MmMapIoSpace): Changes to use \r
913         PHYSICAL_ADDRESS type for physical addresses.\r
914         * ntoskrnl/mm/kmap.c (ExAllocatePage, MiZeroPage, MiCopyFromUserPage,\r
915         ExAllocatePageWithPhysPage): Changes to use PHYSICAL_ADDRESS type for \r
916         physical addresses.\r
917         * ntoskrnl/mm/marea.c (MmFreeMemoryArea): Changes to use \r
918         PHYSICAL_ADDRESS type for physical addresses.\r
919         * ntoskrnl/mm/mdl.c (MmUnlockPages, MmMapLockedPages, \r
920         MmProbeAndLockPages): Changes to use PHYSICAL_ADDRESS type for \r
921         physical addresses.\r
922         * ntoskrnl/mm/mm.c (MmSharedDataPagePhysicalAddress, \r
923         MmCommitPagedPoolAddress, MmNotPresentFault): Changes to use \r
924         PHYSICAL_ADDRESS type for physical addresses.\r
925         * ntoskrnl/mm/mminit.c (MmInitVirtualMemory): Changes to use \r
926         PHYSICAL_ADDRESS type for physical addresses.\r
927         * ntoskrnl/mm/ncache.c (MmAllocateNonCachedMemory, \r
928         MmFreeNonCachedPage): Changes to use PHYSICAL_ADDRESS type for \r
929         physical addresses.\r
930         * ntoskrnl/mm/npool.c (grow_kernel_pool): Changes to use \r
931         PHYSICAL_ADDRESS type for physical addresses.\r
932         * ntoskrnl/mm/rmap.c (MmPageOutPhysicalAddress, MmInsertRmap,\r
933         MmDeleteAllRmaps, MmDeleteRmap): Changes to use \r
934         PHYSICAL_ADDRESS type for physical addresses.\r
935         * ntoskrnl/mm/section.c (MiReadPage, MmNotPresentFaultSectionView,\r
936         MmAccessFaultSectionView, MmPageOutDeleteMapping, \r
937         MmPageOutSectionView, MmFreeSectionPage): Changes to use \r
938         PHYSICAL_ADDRESS type for physical addresses.\r
939         * ntoskrnl/mm/slab.c (ExGrowSlabCache): Changes to use \r
940         PHYSICAL_ADDRESS type for physical address.\r
941         * ntoskrnl/mm/virtual.c (MmPageOutVirtualMemory, \r
942         MmNotPresentFaultVirtualMemory, MmFreeVirtualMemoryPage): Changes to \r
943         use PHYSICAL_ADDRESS type for physical address.\r
944         * ntoskrnl/mm/wset.c (MmTrimUserMemory): Changes to use \r
945         PHYSICAL_ADDRESS type for physical address.\r
946         * ntoskrnl/mm/page.c (Mmi386ReleaseMmInfo, MmCopyMmInfo,\r
947         MmGetPhysicalAddressForProcess, MmCreateVirtualMapping,\r
948         MmCreateVirtualMappingUnsafe, MmCreateVirtualMappingForProcess,\r
949         MmDeleteVirtualMapping): Changes to use PHYSICAL_ADDRESS type for \r
950         physical address.\r
951         * ntoskrnl/ps/process (PsInitProcessManagment): Changes to use \r
952         PHYSICAL_ADDRESS type for physical address.\r
953         * ntoskrnl/ps/thread.c (PsAllocateCallbackStack): Changes to use \r
954         PHYSICAL_ADDRESS type for physical address.\r
955 \r
956 2002-06-04  David Welch  <welch@cwcom.net>\r
957 \r
958         * Lots of change since the ChangeLog was last updated.\r
959 \r
960 2001-03-18  David Welch  <welch@cwcom.net>\r
961 \r
962         * ntoskrnl/ke/apc.c (KiDeliverApc): Bug fix.\r
963         * ntoskrnl/ke/apc.c (KeInsertQueueApc): More comments.\r
964         * ntoskrnl/ke/catch.c (KiDispatchException): Bug fix.\r
965         * ntoskrnl/ke/timer.c (KeDelayExecutionThread): Don't use removed \r
966         function KeAddTimeoutThread.\r
967         * ntoskrnl/ke/timer.c (KeAddTimeoutThread): Removed.\r
968         * ntoskrnl/ke/wait.c (KeWaitForSingleObject, KeWaitForMultipleObjects):\r
969         Don't use KeAddTimeoutThread.\r
970         * ntoskrnl/mm/freelist.c (MmAllocateContiguousAlignedMemory): Bug fix\r
971         * ntoskrnl/mm/freelist.c (MmAllocatePage): Allocate from the top\r
972         memory.\r
973 \r
974 2001-03-17  David Welch  <welch@cwcom.net>\r
975 \r
976         * ntoskrnl/ke/catch.c (KiDispatchException): Implementation of\r
977         exception handling, user-mode only.\r
978 \r
979 2001-03-16  David Welch  <welch@cwcom.net>\r
980 \r
981         * include/ddk/zw.h: Corrected declarations of NtCreateProfile,\r
982         NtQueryIntervalProfile, NtSetIntervalProfile.\r
983         * include/ddk/zwtypes.h: Added definitions of KPROFILE_SOURCE.\r
984         * ntoskrnl/include/internal/ke.h: Added the interrupted EIP as a\r
985         parameter to KiUpdateSystemTime for profiling purposes.\r
986         * ntoskrnl/include/internal/nt: Added declaration for profiling\r
987         support initialization.\r
988         * ntoskrnl/ke/timer.c (KiUpdateSystemTime, KeExpireTimers): Call\r
989         the profiling code on a timer interrupt with the interrupt EIP.\r
990         * ntoskrnl/ke/i386/irq.c (KiDispatchInterrupt): Pass the interrupted\r
991         EIP to KiUpdateSystemTime.\r
992         * ntoskrnl/mm/virtual.c (NtReadVirtualMemory, NtWriteVirtualMemory):\r
993         Release the MDLs used properly.\r
994         * ntoskrnl/nt/nt.c: Call the profiling support initialization.\r
995         * ntoskrnl/nt/ntevent.c (NtCreateEvent): Don't try copying the\r
996         ObjectAttributes parameter if it is NULL.\r
997         * ntoskrnl/nt/profile.c: Implemented profiling.\r
998 \r
999 2001-03-16  David Welch  <welch@cwcom.net>\r
1000 \r
1001         * ntoskrnl/include/internal/safe.h: Corrected typo.\r
1002         * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):\r
1003         Corrected typos.\r
1004         * ntoskrnl/rtl/mem.c: Missing header file.\r
1005 \r
1006 2001-03-16  David Welch  <welch@cwcom.net>\r
1007 \r
1008         * ntoskrnl/include/internal/safe.h: Add definitions for handling\r
1009         potentially unsafe pointers.\r
1010 \r
1011 2001-03-16  David Welch  <welch@cwcom.net>\r
1012 \r
1013         * ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and\r
1014         MmSafeCopyFromUser as source files need these but don't want internal \r
1015         mm definitions.\r
1016         * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,\r
1017         NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from\r
1018         user mode safely.\r
1019         * ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper\r
1020         functions for copying data to and from potentially unsafe pointers.\r
1021 \r
1022 2000-12-23  David Welch  <welch@cwcom.net>\r
1023 \r
1024         * All task switching is done in software.\r
1025         * Beginnings of v86 mode support.\r
1026 \r
1027 2000-12-22  David Welch  <welch@cwcom.net>\r
1028 \r
1029         * ntoskrnl/ps/kill.c (PiTerminateProcessThreads): Drop \r
1030         PiThreadListLock before calling PsTerminateOtherThread\r
1031 \r
1032 2000-12-16  David Welch  <welch@cwcom.net>\r
1033 \r
1034         * ntoskrnl/ex/fmutex.c (ExReleaseFastMutexUnsafe): Only set the\r
1035         fast mutex's owner back to NULL if it is being released\r
1036 \r
1037 2000-12-10  David Welch  <welch@cwcom.net>\r
1038 \r
1039         * ntoskrnl/ke/i386/vm86_sup.S (Ki386RetToV86Mode): Added function\r
1040         to do the raw switch to v86 mode.\r
1041         * ntoskrnl/include/internal/vm86.h: Definitions for the v86 mode\r
1042         support.\r
1043 \r
1044 2000-12-10  David Welch  <welch@cwcom.net>\r
1045 \r
1046         * ntoskrnl/ke/i386/trap.s (PsBeginThreadWithContextInternal): Moved\r
1047         to ntoskrnl/ke/i386/bswitch.S.\r
1048         * ntoskrnl/ke/i386/trap.s (interrupt_handler2e): Moved to\r
1049         ntoskrnl/ke/i386/syscall.S.\r
1050         * ntoskrnl/ke/i386/trap.s (old_interrupt_handler2e): Removed.\r
1051 \r
1052 2000-12-04  David Welch  <welch@cwcom.net>\r
1053 \r
1054         * ntoskrnl/ke/i386/irq.c (KiInterruptDispatch): Record the last PC \r
1055         value for a rescheduled thread.\r
1056         * ntoskrnl/ke/i386/irqhand.s: Construct a primitive trap frame\r
1057         in interrupt handlers.  \r
1058         \r
1059 2000-08-30  David Welch  <welch@cwcom.net>\r
1060 \r
1061         * Added calibration of KeStallExecutionProcessor timing\r
1062           (code from linux 2.2.16).\r
1063                \r
1064         * Corrected compilation bugs in user32 library.\r
1065 \r
1066         * Corrected compilation bugs related to anonymous structs\r
1067           in ndis code.\r
1068                \r
1069         * Pass command line to kernel from loadros.\r
1070                \r
1071         * Corrected PIC mask calculation.\r
1072                \r
1073 2000-05-27  David Welch <welch@cwcom.net>\r
1074 \r
1075         * Fixed issue with closing non-existent or already closed\r
1076           handle.\r
1077 \r
1078 2000-01-26  David Welch <welch@cwcom.net>\r
1079 \r
1080         * ZwCreateProcess now maps ntdll rather than the user-mode\r
1081           code.\r
1082 \r
1083 1999-09-06  David Welch <welch@cwcom.net>\r
1084 \r
1085         * Implemented ZwOpenProcess.\r
1086                \r
1087         * Partially implemented killing other threads (possible memory\r
1088           leaks).\r
1089                \r
1090         * Made a start on a proper implemention of APCs (based on \r
1091           article in NT insider).\r
1092 \r
1093 1998-12-08  David Welch <welch@cwcom.net>\r
1094 \r
1095         * Corrected bug in shell (Read two keypresses and assumed they\r
1096           where the key going up and down respectively).\r
1097                \r
1098         * Corrected race in dpc handling.\r
1099                \r
1100         * Took out cleanup sections in ZwReadFile (now handled by the \r
1101           APC).\r
1102                \r
1103         * Disabled broken code in kernel32.\r
1104 \r
1105 \r
1106 \r
1107 \r
1108 \r
1109 \r
1110 \r
1111 \r
1112 \r
1113         \r