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