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