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