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