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