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