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