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