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