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