1 2002-11-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
3 * include/ddk/ldrtypes.h: Move ...
4 * include/ntos/ldrtypes.h: ... here.
5 * include/ddk/ntddk.h: Include ldrtypes.h at new location.
7 2002-11-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
9 * drivers/bus/acpi/ospm/osl.c (acpi_os_readable, acpi_os_writable):
11 * include/ascii.h (AbortSystemShutdownA): Correct prototype.
12 * include/debug.h (assert): Wrap in #ifndef assert.
13 * include/funcs.h (AbortSystemShutdown): Remove duplicate prototype.
14 * include/ddk/rtltypes.h: Move ...
15 * include/ntos/rtltypes.h: ... here.
16 * include/ddk/rtl.h: Move ...
17 * include/ntos/rtl.h: ... here.
18 * include/ddk/zwtypes.h: Move ...
19 * include/ntos/zwtypes.h: ... here.
20 * include/ddk/zw.h: Move ...
21 * include/ntos/zw.h: ... here.
22 | include/ddk/cmfuncs.h: Remove file; Move NtCreateKey to ntos/zw.h.
23 * include/ntos.h: #include ntos/rtltypes.h, ntos/rtl.h, ntos/zwtypes.h,
25 * include/unicode.h: (AbortSystemShutdownW): Correct prototype.
26 * include/ddk/ntddk.h: Include headers at new location; Don't include
28 * include/defines.h: Wrap definitions in w32api in #ifndef __USE_W32API.
29 * include/ntos/zwtypes.h: Ditto.
30 * include/napi/lpc.h: Ditto.
31 * include/napi/shared_data.h: Ditto.
32 * include/napi/teb.h: Ditto.
33 * include/napi/types.h: Ditto.
34 * include/ntdll/ldr.h: Ditto.
35 * include/ntdll/rtl.h: Ditto.
36 * include/ntos/console.h: Ditto.
37 * include/ntos/disk.h: Ditto.
38 * include/ntos/except.h: Ditto.
39 * include/ntos/file.h: Ditto.
40 * include/ntos/gditypes.h: Ditto.
41 * include/ntos/heap.h: Ditto.
42 * include/ntos/keyboard.h: Ditto.
43 * include/ntos/mm.h: Ditto.
44 * include/ntos/ntdef.h: Ditto.
45 * include/ntos/ps.h: Ditto.
46 * include/ntos/registry.h: Ditto.
47 * include/ntos/security.h: Ditto.
48 * include/ntos/synch.h: Ditto.
49 * include/ntos/time.h: Ditto.
50 * include/ntos/types.h: Ditto.
51 * include/ntos/port.h: Ditto.
52 * lib/advapi32/misc/shutdown.c (AbortSystemShutdownW,
53 AbortSystemShutdownA): Correct prototype.
54 * lib/advapi32/reg/reg.c: #include ntos.h.
55 * lib/advapi32/sec/misc.c: Ditto.
56 * lib/advapi32/sec/sid.c: Ditto.
57 * lib/advapi32/service/sctrl.c: Ditto.
58 * lib/advapi32/token/token.c: Ditto.
59 * lib/kernel32/misc/dllmain.c: Ditto.
60 * ntoskrnl/ex/napi.c: Ditto.
61 * ntoskrnl/rtl/i386/exception.c: Ditto.
62 * lib/advapi32/sec/ac.c: Ditto.
63 (FindFirstFreeAce, GetAce): Change PACE* to PACE_HEADER*.
64 * lib/advapi32/service/scm.c (EnumServicesStatusExA,
65 EnumServicesStatusExW, QueryServiceStatusEx): Correct prototype.
66 * lib/ntdll/rtl/ppb.c (RtlDestroyProcessParameters): Match prototype.
67 * ntoskrnl/dbg/errinfo.c (DbgGetErrorText): Use %08x, not %08lx.
68 * ntoskrnl/io/arcname.c (IoCreateSystemRootLink): Use %u, not %lu.
69 * ntoskrnl/ke/main.c (ExpInitializeExecutive): Ditto.
70 * (_main): Use %d, not %ld.
71 * ntoskrnl/include/internal/i386/ke.h: Add #pragma GCC system_header.
72 * include/ddk/ntdef.h (NTSYSAPI, NTAPI, NTKERNELAPI): Define to STDCALL;
73 Check if already defined.
74 * include/base.h (STDCALL, CDECL, CALLBACK, PASCAL): Move to ntos/types.h.
76 2002-11-13 Rick Gaiser <RickG81@Wanadoo.nl>
78 * drivers/bus/isapnp/isapnp.c (FindNextReadPort): Increment Port before
79 checking wether port address is in NE2000 address space range and returning
82 2002-11-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
84 * drivers/bus/acpi/include/acpi.h: Include platform/types.h.
85 * drivers/bus/acpi/include/actypes.h: (UINT8, BOOLEAN, UCHAR, UINT16,
86 INT32, UINT32, UINT64): Disable, use the OS defined types instead.
87 * drivers/bus/acpi/include/platform/types.h: Remove all types,
88 include ntos.h instead.
89 * drivers/bus/acpi/ospm/include/acpisys.h: Don't include
92 2002-11-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
94 * include/defines.h: Fix warnings when bulding with gcc 3.3.
95 * include/ddk/status.h: Ditto.
96 * include/freetype/internal/ftdebug.h: Ditto.
97 * include/net/ndis.h: Ditto.
98 * lib/msafd/misc/helpers.c: Ditto.
99 * lib/user32/windows/defwnd.c: Ditto.
100 * lib/user32/windows/window.c: Ditto.
101 * ntoskrnl/cm/ntfunc.c: Ditto.
102 * ntoskrnl/cm/regfile.c: Ditto.
103 * ntoskrnl/cm/regobj.c: Ditto.
104 * ntoskrnl/dbg/errinfo.c: Ditto.
105 * ntoskrnl/ex/hashtab.c: Ditto.
106 * ntoskrnl/include/internal/mm.h: Ditto.
107 * ntoskrnl/io/irp.c: Ditto.
108 * ntoskrnl/kd/gdbstub.c: Ditto.
109 * ntoskrnl/ke/queue.c: Ditto.
110 * ntoskrnl/ke/sem.c: Ditto.
111 * ntoskrnl/ldr/resource.c: Ditto.
112 * ntoskrnl/mm/balance.c: Ditto.
113 * ntoskrnl/mm/freelist.c: Ditto.
114 * ntoskrnl/mm/mdl.c: Ditto.
115 * ntoskrnl/mm/npool.c: Ditto.
116 * ntoskrnl/mm/section.c: Ditto.
117 * ntoskrnl/rtl/error.c: Ditto.
118 * ntoskrnl/rtl/mem.c: Ditto.
119 * ntoskrnl/rtl/string.c: Ditto.
120 * ntoskrnl/rtl/time.c: Ditto.
121 * ntoskrnl/rtl/unicode.c: Ditto.
122 * ntoskrnl/rtl/wstring.c: Ditto.
123 * ntoskrnl/rtl/i386/exception.c: Ditto.
124 * subsys/win32k/freetype/src/base/ftinit.c: Ditto.
126 2002-11-03 Casper S. Hornstrup <chorns@users.sourceforge.net>
128 * apps/tests/lpc/lpcclt.c: Change LPC_MESSAGE_HEADER to LPC_MESSAGE.
129 * include/csrss/csrss.h: Ditto.
130 * include/lsass/lsass.h: Ditto.
131 * include/napi/dbg.h: Ditto.
132 * include/napi/lpc.h: Ditto.
133 * lib/kernel32/misc/console.c: Ditto.
134 * lib/ntdll/csr/lpc.c: Ditto.
135 * lib/ntdll/dbg/debug.c: Ditto.
136 * lib/secur32/lsa.c: Ditto.
137 * ntoskrnl/dbg/user.c: Ditto.
138 * ntoskrnl/include/internal/port.h: Ditto.
139 * ntoskrnl/lpc/connect.c: Ditto.
140 * ntoskrnl/lpc/reply.c: Ditto.
141 * ntoskrnl/ps/process.c: Ditto.
142 * subsys/csrss/api/conio.c: Ditto.
143 * subsys/csrss/api/process.c: Ditto.
144 * subsys/csrss/api/user.c: Ditto.
146 2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
148 * lib/msvcrt/except/seh.s: Fix end-of-line formatting.
149 * lib/ntdll/rtl/i386/exception.c: Ditto.
150 * lib/ntdll/rtl/i386/except.s: Ditto.
151 * ntoskrnl/rtl/i386/except.s: Ditto.
152 * ntoskrnl/rtl/i386/seh.s: Ditto.
154 2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
156 * lib/msvcrt/Makefile (OBJECTS_EXCEPT): Add except/seh.o; Remove
158 * lib/msvcrt/except/exhand2.c (MsvcrtDebug): New function.
159 * lib/msvcrt/except/unwind.c (PEXCEPTION_FRAME): Remove.
160 (_global_unwind2): Correct prototype.
161 * lib/ntdll/makefile (RTL_I386_OBJECTS, ARCH_OBJECTS): New groups.
162 (TARGET_OBJECTS): Add ARCH_OBJECTS group.
163 * lib/ntdll/rtl/exception.c (KiUserExceptionDispatcher): Set
164 NumberParameters in exception record.
165 (RtlRaiseStatus): Remove.
166 * ntoskrnl/Makefile (OBJECTS_RTL): Remove rtl/seh.o.
167 (OBJECTS_RTL_I386): Add rtl/i386/except.o, rtl/i386/exception.o, and
169 * ntoskrnl/ke/catch.c (RtlpExecuteHandlerForException,
170 RtlpDumpExceptionRegistrations, RtlpDispatchException,
171 RtlpExecuteHandler, RtlpExceptionHandler, RtlpUnwindHandler,
172 RtlpExecuteHandlerForException, RtlpExecuteHandlerForUnwind,
174 (RtlpDispatchException): Add prototype.
175 * ntoskrnl/ke/i386/usertrap.c (ExceptionTypeStrings): Remove.
176 * ntoskrnl/ps/create.c (PsCreateTeb): Mark end of exception
178 * tools/helper.mk (TARGET_ASFLAGS): Add -g if DBG = 1.
179 * lib/msvcrt/except/exhand3.c: Remove.
180 * ntoskrnl/rtl/seh.c: Ditto.
181 * lib/msvcrt/except/seh.s: New file.
182 * lib/ntdll/rtl/i386/except.s: Ditto.
183 * lib/ntdll/rtl/i386/exception.c: Ditto.
184 * ntoskrnl/rtl/i386/except.s: Ditto.
185 * ntoskrnl/rtl/i386/exception.c: Ditto.
186 * ntoskrnl/rtl/i386/seh.s: Ditto.
188 2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
190 * lib/kernel32/process/create.c (_except_handler): New function.
191 (BaseProcessStart): Ditto.
192 (KlCreateFirstThread): Return INVALID_HANDLE_VALUE on error; Call
193 BaseProcessStart() before process entry point.
194 * lib/kernel32/thread/thread.c (_except_handler): New function.
195 (ThreadStartup): Protect thread using SEH constructs.
197 2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
199 * include/ddk/zw.h (NtProcessStartup): Use standard calling convention.
200 * subsys/csrss/csrss.c (NtProcessStartup): Ditto.
201 * subsys/smss/smss.c (NtProcessStartup): Ditto.
202 * subsys/system/autochk/autochk.c (NtProcessStartup): Ditto.
203 * subsys/system/usetup/usetup.c (NtProcessStartup): Ditto.
205 2002-10-25 Casper S. Hornstrup <chorns@users.sourceforge.net>
207 * apps/tests/tokentest/tokentest.c (ROS_ACE_HEADER): Move field
210 (DisplayDacl): Make pAce an ROS_ACE*; Use new path for AceType; Use
211 sizeof(ACE) instead of sizeof(ACE_HEADER).
212 * include/ntos/security.h (ACE_HEADER): Move field AccessMask ...
214 * lib/ntdll/rtl/acl.c: Use new path for AccessMask.
215 * ntoskrnl/se/semgr.c: Ditto.
216 * ntoskrnl/se/acl.c (SepInitDACLs): Use new path for AccessMask; Use
217 sizeof(ACE) instead of sizeof(ACE_HEADER).
218 * ntoskrnl/se/token.c (SepCreateSystemProcessToken): Use sizeof(ACE)
219 instead of sizeof(ACE_HEADER).
221 2002-10-20 Casper S. Hornstrup <chorns@users.sourceforge.net>
223 * include/napi/teb.h (RTL_USER_PROCESS_PARAMETERS): Use field names
224 as described in Windows NT/2000 Native API Reference.
225 * lib/kernel32/file/file.c: Use new field names.
226 * lib/kernel32/misc/console.c: Ditto.
227 * lib/kernel32/process/create.c: Ditto.
228 * lib/kernel32/process/proc.c: Ditto.
229 * lib/ntdll/rtl/path.c: Ditto.
230 * lib/ntdll/rtl/ppb.c: Ditto.
231 * lib/ntdll/rtl/process.c: Ditto.
233 2002-10-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
235 * include/ntos.h: Include relevant files.
236 * include/internal/ke.h: Include files relative to
238 * include/internal/arch/ke.h: Ditto.
240 2002-10-01 Casper S. Hornstrup <chorns@users.sourceforge.net>
242 * drivers/dd/floppy/floppy.c: Changed PAGESIZE to PAGE_SIZE.
243 * drivers/fs/cdfs/fcb.c: Ditto.
244 * drivers/fs/cdfs/fsctl.c: Ditto.
245 * drivers/fs/cdfs/rw.c: Ditto.
246 * drivers/fs/ext2/dir.c: Ditto.
247 * drivers/fs/ext2/inode.c: Ditto.
248 * drivers/fs/ext2/rw.c: Ditto.
249 * drivers/fs/ext2/super.c: Ditto.
250 * drivers/fs/minix/blockdev.c: Ditto.
251 * drivers/fs/minix/cache.c: Ditto.
252 * drivers/fs/minix/inode.c: Ditto.
253 * drivers/fs/minix/rw.c: Ditto.
254 * drivers/fs/ntfs/fcb.c: Ditto.
255 * drivers/fs/ntfs/ntfs.h: Ditto.
256 * drivers/fs/vfat/create.c: Ditto.
257 * drivers/fs/vfat/direntry.c: Ditto.
258 * drivers/fs/vfat/dirwr.c: Ditto.
259 * drivers/fs/vfat/fat.c: Ditto.
260 * drivers/fs/vfat/fcb.c: Ditto.
261 * drivers/fs/vfat/fsctl.c: Ditto.
262 * drivers/fs/vfat/rw.c: Ditto.
263 * drivers/storage/class2/class2.c: Ditto.
264 * drivers/storage/scsiport/scsiport.c: Ditto.
265 * hal/halx86/adapter.c: Ditto.
266 * hal/halx86/mp.c: Ditto.
267 * include/ddk/mmfuncs.h: Ditto.
268 * include/ddk/mmtypes.h: Ditto.
269 * include/ddk/i386/pagesize.h: Ditto.
270 * include/ntdll/pagesize.h: Ditto.
271 * lib/kernel32/process/create.c: Ditto.
272 * lib/kernel32/thread/thread.c: Ditto.
273 * lib/ntdll/ldr/utils.c: Ditto.
274 * lib/ntdll/rtl/env.c: Ditto.
275 * lib/ntdll/rtl/heap.c: Ditto.
276 * lib/ntdll/rtl/ppb.c: Ditto.
277 * lib/ntdll/rtl/process.c: Ditto.
278 * lib/ntdll/rtl/thread.c: Ditto.
279 * ntoskrnl/cc/copy.c: Ditto.
280 * ntoskrnl/cc/view.c: Ditto.
281 * ntoskrnl/ex/sysinfo.c: Ditto.
282 * ntoskrnl/include/internal/i386/mm.h: Ditto.
283 * ntoskrnl/io/mdl.c: Ditto.
284 * ntoskrnl/ke/kthread.c: Ditto.
285 * ntoskrnl/ke/i386/kernel.c: Ditto.
286 * ntoskrnl/ldr/init.c: Ditto.
287 * ntoskrnl/ldr/loader.c: Ditto.
288 * ntoskrnl/mm/anonmem.c: Ditto.
289 * ntoskrnl/mm/cont.c: Ditto.
290 * ntoskrnl/mm/freelist.c: Ditto.
291 * ntoskrnl/mm/iospace.c: Ditto.
292 * ntoskrnl/mm/kmap.c: Ditto.
293 * ntoskrnl/mm/marea.c: Ditto.
294 * ntoskrnl/mm/mdl.c: Ditto.
295 * ntoskrnl/mm/mminit.c: Ditto.
296 * ntoskrnl/mm/ncache.c: Ditto.
297 * ntoskrnl/mm/npool.c: Ditto.
298 * ntoskrnl/mm/pagefile.c: Ditto.
299 * ntoskrnl/mm/pageop.c: Ditto.
300 * ntoskrnl/mm/section.c: Ditto.
301 * ntoskrnl/mm/slab.c: Ditto.
302 * ntoskrnl/mm/i386/page.c: Ditto.
303 * ntoskrnl/ob/handle.c: Ditto.
304 * ntoskrnl/ps/create.c: Ditto.
305 * ntoskrnl/ps/process.c: Ditto.
306 * ntoskrnl/ps/w32call.c: Ditto.
307 * subsys/win32k/include/object.h: Ditto.
309 2002-10-01 Casper S. Hornstrup <chorns@users.sourceforge.net>
311 * lib/ntdll/string/ctype.c: Undefine __MSVCRT__ to not have mingw
312 runtime import _pctype.
314 2002-09-30 Casper S. Hornstrup <chorns@users.sourceforge.net>
316 * lib/user32/misc/desktop.c (string.h): Include.
317 * lib/user32/misc/resources.c: Ditto.
318 * lib/user32/misc/winhelp.c: Ditto.
319 * lib/user32/windows/accel.c: Ditto.
320 * lib/user32/windows/bitmap.c: Ditto.
321 * subsys/win32k/freetype/ctype.c: Undefine __MSVCRT__ and _pctype to not
322 have mingw runtime import _pctype.
324 2002-09-30 Casper S. Hornstrup <chorns@users.sourceforge.net>
326 * ntoskrnl/cc/view.c (alloca): Prototype.
327 * ntoskrnl/rtl/ctype.c: Undefine __MSVCRT__ to not have mingw runtime
330 2002-08-26 David Welch <welch@computer2.darkstar.org>
332 * lib/gdi32/misc/dllmain.c (GdiDllInitialize): Don't initialize
333 win32k.sys for each process.
334 * subsys/csrss/init.c (CsrServerInitialization): Initialize
337 2002-08-26 David Welch <welch@computer2.darkstar.org>
339 * ntoskrnl/ps/process.c (NtCreateProcess): Reference the
340 parent process's handle using ExGetPreviousMode.
342 2002-08-26 David Welch <welch@computer2.darkstar.org>
344 * lib/user32/misc/dllmain.c (Init): Initialize gdi32 as well.
346 2002-08-26 David Welch <welch@computer2.darkstar.org>
348 * iface/addsys/genw32k.c (main, process): Generate a set of
349 stubs for csrss as well.
351 2002-08-26 David Welch <welch@computer2.darkstar.org>
353 * lib/kernel32/process/create.c (CreateProcessW): Initialize
354 all the members of the new process's PPB.
356 2002-08-17 David Welch <welch@computer2.darkstar.org>
358 * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): Ensure the
359 process isn't freed in the middle of our operations.
361 2002-08-17 David Welch <welch@computer2.darkstar.org>
363 * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation): Fixed.
365 2002-08-17 David Welch <welch@computer2.darkstar.org>
367 * ntoskrnl/ps/create.c (PiDeleteThread): Don't dereference
368 the thread's process while holding the thread list lock.
370 2002-08-17 David Welch <welch@computer2.darkstar.org>
372 * ntoskrnl/mm/section.c (MmMapViewOfSection): Check there is
373 enough space for all parts of an image before mapping it; if
374 there isn't enough space free at the preferred base address
375 then try to choose a different one.
377 2002-08-17 David Welch <welch@computer2.darkstar.org>
379 * ntoskrnl/mm/mpw.c (MmInitMpwThread): Run the MPW thread at
382 2002-08-17 David Welch <welch@computer2.darkstar.org>
384 * ntoskrnl/mm/kmap.c (ExUnmapPage, ExAllocatePageWithPhysPage,
385 MiFreeNonPagedPoolRegion, MiAllocNonPagedPoolRegion): Maintain
386 a hint of the next free page; makes running with whole page
387 allocation more bearable.
389 2002-08-17 David Welch <welch@computer2.darkstar.org>
391 * ntoskrnl/mm/anonmem.c (MmPageOutVirtualMemory): Show an
392 out of swap space message if we are out of swap space.
393 * ntoskrnl/mm/section.c (MmPageOutSectionView): Show an
394 out of swap space message if we are out of swap space.
395 * ntoskrnl/mm/pagefile.c (MmAllocSwapPage): Don't automatically
396 show an out of swap space message on failure.
397 * ntoskrnl/mm/pagefile.c (MmShowOutOfSpaceMessagePagingFile): New
398 function to notify the user that the pagefile is full.
400 2002-08-17 David Welch <welch@computer2.darkstar.org>
402 * drivers/lib/zlib/Makefile: Create a dummy zlib.sym
404 2002-08-16 David Welch <welch@computer2.darkstar.org>
406 * ntoskrnl/mm/npool.c (ExAllocateWholePageBlock): Converted
407 to use PHYSICAL_ADDRESS type for page address.
409 2002-08-16 David Welch <welch@computer2.darkstar.org>
411 * subsys/win32k/ntuser/class.c (W32kCreateClass): Corrected
412 typo when calculating the offset into the class object to
413 put the class name string.
415 2002-08-16 David Welch <welch@computer2.darkstar.org>
417 * ntoskrnl/ps/thread.c (PsDispatchThreadNoLock): Don't call
418 the reaper function directly; set an event to wake up a seperate
420 * ntoskrnl/ps/thread.c (PsReaperThreadMain): New function that
421 waits for a notification and then calls PsReapThreads.
422 * ntoskrnl/ps/thread.c (PsInitThreadManagement): Create the
425 2002-08-15 David Welch <welch@computer2.darkstar.org>
427 * lib/advapi32/misc/dllmain.c (DllMain): Removed debug message.
429 2002-08-14 David Welch <welch@computer2.darkstar.org>
431 * subsys/smss/init.c (SmPagingFilesQueryRoutine): If possible
432 take the size of the paging file from the registry.
434 2002-08-14 David Welch <welch@computer2.darkstar.org>
436 * ntoskrnl/mm/section.c (MmCreateDataFileSection): Extend the
437 section if necessary.
439 2002-08-14 David Welch <welch@computer2.darkstar.org>
441 * ntoskrnl/mm/pagefile.c (NtCreatePagingFile): Set the file
442 size using the FileAllocationInformation class.
444 2002-08-14 David Welch <welch@computer2.darkstar.org>
446 * ntoskrnl/mm/anonmem.c (MmWritePageVirtualMemory): Implemented
447 function to write anonymous memory pages to the swap file.
448 * ntoskrnl/mm/anonmem.c (MmFreeVirtualMemoryPage): Free any
449 swap page associated with the page.
450 * ntoskrnl/mm/mpw.c (MmWriteDirtyPages): New function to find
451 pages to write to disk.
452 * ntoskrnl/mm/mpw.c (MmMpwThreadMain): Implemented MPW functionality.
453 * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): New function
454 to write a single page back to disk.
455 * ntoskrnl/mm/rmap.c (MmSetCleanAllRmaps, MmSetDirtyAllRmaps,
456 MmIsDirtyPageRmap): New rmap function to support the MPW thread.
457 * ntoskrnl/mm/section.c (MmWritePageSectionView): Implemented
458 function to write back section pages.
459 * ntoskrnl/mm/section.c (MmFreeSectionPage): Free any swap
460 entry associated with the page; mark pages shared with
461 the cache as dirty if necessary.
463 2002-08-14 David Welch <welch@computer2.darkstar.org>
465 * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set name of
466 the module into the module text structure.
468 2002-08-14 David Welch <welch@computer2.darkstar.org>
470 * ntoskrnl/io/rw.c (NtReadFile, NtWriteFile): Use the correct
471 test for whether to wait for the completion of i/o.
473 2002-08-14 David Welch <welch@computer2.darkstar.org>
475 * ntoskrnl/cm/ntfunc.c (NtFlushKey): Request synchronous i/o
477 * ntoskrnl/cm/regfile (CmiInitPermanentRegistryHive): Request
478 synchronous i/o from NtCreateFile.
479 * ntoskrnl/dbg/kdb_stabs.c (LdrpLoadModuleSymbols): Request
480 synchronous i/o from NtOpenFile.
481 * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Request synchronous i/o
484 2002-08-14 David Welch <welch@computer2.darkstar.org>
486 * ntoskrnl/cc/view.c (CcRosSuggestFreeCacheSegment): Maintain the
487 correct reference count.
489 2002-08-14 David Welch <welch@computer2.darkstar.org>
491 * ntoskrnl/cc/view.c (CcRosFlushCacheSegment): New function to
492 write back a modified cache segment.
493 * ntoskrnl/cc/view.c (CcRosFlushDirtyPages): New function to
494 flush some dirty pages from the cache.
495 * ntoskrnl/cc/view.c (CcRosMarkDirtyCacheSegment): New function to
496 mark a cache segment modified while mapped into memory as dirty.
498 2002-08-14 David Welch <welch@computer2.darkstar.org>
500 * ntoskrnl/cc/pin.c (CcMapData, CcUnpinData, CcSetDirtyPinnedData):
501 Store the dirty status in the BCB; don't write back dirty data
504 2002-08-14 David Welch <welch@computer2.darkstar.org>
506 * include/ntos/mm.h: Added SEC_XXXX defines from 'Windows NT/2000
507 Native API Reference'
509 2002-08-14 David Welch <welch@computer2.darkstar.org>
511 * drivers/fs/vfat/ea.c (VfatSetExtendedAttributes): Empty
512 placeholder for extended attribute functions.
514 2002-08-14 David Welch <welch@computer2.darkstar.org>
516 * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation):
517 Added function to set allocation size.
519 2002-08-14 David Welch <welch@computer2.darkstar.org>
521 * drivers/fs/vfat/fcb.c (vfatFCBInitializeCache): Renamed
522 to vfatFCBInitializeCacheFromVolume.
523 * drivers/fs/vfat/fcb.c (vfatMakeFCBFromDirEntry): Don't
524 initialise the cache with a file object representing the
525 volume unless the FCB is for a directory.
527 2002-08-14 David Welch <welch@computer2.darkstar.org>
529 * drivers/fs/vfat/create.c (VfatPagingFileCreate): Added a
530 new function for handling paging file only code.
531 * drivers/fs/vfat/create.c (VfatSupersedeFile): Added a
532 new function for doing a file supersede.
533 * drivers/fs/vfat/create.c (VfatCreateFile): Reformatted and
534 adjusted control flow. Set allocation size and extended attributes
536 * drivers/fs/vfat/create.c (VfatCreate): Removed goto.
538 2002-08-14 David Welch <welch@computer2.darkstar.org>
540 * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Renamed
541 updEntry to VfatUpdateEntry.
542 * drivers/fs/vfat/close.c (VfatCloseFile): Renamed
543 updEntry to VfatUpdateEntry.
544 * drivers/fs/vfat/dirwr.c (updEntry): Renamed to
546 * drivers/fs/vfat/dirwr.c (addEntry): Renamed to
549 2002-08-14 David Welch <welch@computer2.darkstar.org>
551 * apps/tests/sectest/sectest.c (main): Fixed formatting.
553 2002-08-10 David Welch <welch@computer2.darkstar.org>
555 * ntoskrnl/mm/i386/page.c (MmSetPageProtect): Fixed
556 behaviour when called on the system address space.
558 2002-08-10 David Welch <welch@computer2.darkstar.org>
560 * ntoskrnl/mm/virtual.c (MmQueryAnonMem, MmProtectAnonMem,
561 NtAllocateVirtualMemory, NtFreeVirtualMemory): Renamed
562 segments to regions; moved region code to seperate file.
563 Implemented NtQueryVirtualMemory and NtProtectVirtualMemory
564 for anonymous memory areas.
566 2002-08-10 David Welch <welch@computer2.darkstar.org>
568 * ntoskrnl/mm/anonmem.c: Moved functions relating to
569 areas created with NtAllocateVirtualMemory to a
572 2002-08-10 David Welch <welch@computer2.darkstar.org>
574 * ntoskrnl/mm/section.c (MmQuerySectionView): Implemented
575 NtQueryVirtualMemory for section views.
577 2002-08-10 David Welch <welch@computer2.darkstar.org>
579 * ntoskrnl/mm/section.c (MmAccessFaultSectionView,
580 MmNotPresentFaultSectionView, MmProtectSectionView,
581 MmMapViewOfSegment, MmAlterViewAttributes): Implemented
582 NtProtectVirtualMemory for section views.
584 2002-08-10 David Welch <welch@computer2.darkstar.org>
586 * ntoskrnl/ke/main.c: Removed SEH test code.
588 2002-08-10 David Welch <welch@computer2.darkstar.org>
590 * lib/ntdll/ldr/utils.c (LdrFixupImports): Remove the readonly
591 protection from the IAT before writing to it.
593 2002-08-10 David Welch <welch@computer2.darkstar.org>
595 * lib/ntdll/ldr/utils.c (LdrAdjustDllName): Properly null terminate
596 the base name of the DLL.
598 2002-08-10 David Welch <welch@computer2.darkstar.org>
600 * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set the text segment
601 of modules to readonly after loading.
603 2002-08-09 David Welch <welch@computer2.darkstar.org>
605 * ntoskrnl/ps/create.c (NtCreateThread): Call PsSuspendThread
606 if NtCreateThread has CreateSuspended as TRUE.
607 * ntoskrnl/ps/suspend.c (PsSuspendThread, PsResumeThread,
608 PiSuspendThreadKernelRoutine): Fixed suspend functionality.
610 2002-08-09 David Welch <welch@computer2.darkstar.org>
612 * ntoskrnl/ke/i386/usertrap.c (print_user_address): Copy
613 the LDR variable from the right address.
615 2002-08-09 David Welch <welch@computer2.darkstar.org>
617 * ntoskrnl/ke/apc.c (KiDeliverNormalApc): Check for
618 kernel APCs pending on exit from the kernel.
619 * ntoskrnl/ke/apc.c (KiDeliverNormalApc, KiDeliverUserApc,
620 KiDeliverApc): Set the APC's inserted flag to FALSE after
621 removing it from the thread's queue.
623 2002-08-09 David Welch <welch@computer2.darkstar.org>
625 * lib/kernel32/thread/thread.c (ThreadStartup): Don't
626 call DLL entrypoints; this is done by LdrInitializeThunk.
627 * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
628 DLLs in initialization order; take the loader lock before
631 2002-08-09 David Welch <welch@computer2.darkstar.org>
633 * apps/tests/thread/thread.c (main): Test suspend and
634 resume functionality.
636 2002-08-08 David Welch <welch@computer2.darkstar.org>
638 * ntoskrnl/mm/section (NtQuerySection): Return the
641 2002-08-08 David Welch <welch@computer2.darkstar.org>
643 * ntoskrnl/ke/usertrap.c (print_user_address): Check for
644 a NULL LDR structure in the PEB; copy the LDR pointer in
647 2002-08-08 David Welch <welch@computer2.darkstar.org>
649 * ntoskrnl/ke/apc.c (KiDeliverUserApc): Deliver all present
650 APCs; release the APC spinlock while acccessing user memory.
652 2002-08-08 David Welch <welch@computer2.darkstar.org>
654 * include/internal/ps.h: Adjusted offsets into the ETHREAD
656 * include/internal/ps.h: Removed redundant members from the
658 * ntoskrnl/ke/kthread.c (KeInitializeThread): Removed
659 redundant members from the KTHREAD structure.
661 2002-08-08 David Welch <welch@computer2.darkstar.org>
663 * ntoskrnl/dbg/kdb.c (KdbEnterDebuggerException): New
664 function to enter the debugger on an exception.
665 * ntoskrnl/kd/kdebug.c (KdInitSystem): Initialize the
666 local kernel debugger if enabled.
667 * ntoskrnl/ke/catch.c (KiDispatchException): Enter the
668 local kernel debugger on an exception.
670 2002-08-08 David Welch <welch@computer2.darkstar.org>
672 * include/ntdll/ldr.h: Added definition for a DLL entrypoint.
673 * lib/kernel32/process/create.c (KlCreateFirstThread): Put
674 the argument to the NtProcessStartup function on the stack.
675 * lib/kernel32/process/create.c (KlInitPeb): Read the
676 base address of the new image from the PEB.
677 * lib/kernel32/process/create.c (CreateProcessW): Start the
678 first thread at the entrypoint of the new image.
679 * lib/ntdll/ldr/startup.c (LdrInitializeThunk): If the
680 function is called after the initial startup then just call the
681 entrypoints for the loaded DLLs with DLL_THREAD_ATTACH. Don't
682 call the entrypoint of the image.
683 * lib/ntdll/rtl/process.c (RtlpCreateFirstThread): Put the
684 argument to the NtProcessStartup function on the stack.
685 * lib/ntdll/rtl/process.c (KlInitPeb): Read the base address of
686 the new image from the PEB.
687 * lib/ntdll/rtl/process.c (RtlCreateUserProcess): Start the
688 first thread at the entrypoint of the new image.
689 * ntoskrnl/ke/i386/bthread.S (PsBeginThreadWithContextInternal):
690 Use the system call path to begin a usermode thread.
691 * ntoskrnl/ke/i386/thread.c (Ke386InitThreadWithContext): Convert
692 the supplied context into a trap frame.
693 * ntoskrnl/ldr/init.c (LdrLoadInitialProcess): Put the PEB argument
694 to the NtProcessStartup function on the new stack; start the
695 first thread at the entrypoint of the image.
696 * ntoskrnl/ps/create.c (NtCreateThread): Create an APC to call
697 LdrInitializeThunk in the context of a new thread before its
700 2002-08-08 David Welch <welch@computer2.darkstar.org>
702 * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Uninitialise
703 the cache on file cleanup.
704 * drivers/fs/vfat/fcb.c (vfatReleaseFcb): Don't uninitialise
705 the cache on file close.
706 * ntoskrnl/cc/copy.c: Renamed zero page global variable.
707 * ntoskrnl/cc/view.c: Added cache delete function.
709 2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
711 * rules.mak (RSYM): Define.
712 * include/ddk/zwtypes.h (DebugDbgLoadSymbols): Add to enum
714 * include/ntdll/ldr.h (LDR_SYMBOL_INFO, LdrpLoadUserModuleSymbols): Add.
715 (LdrLoadModuleSymbols): Remove.
716 * include/ntos/kdbgsyms.h (ST_FILENAME, ST_FUNCTION,
718 (SYMBOL). Make Name an ANSI_STRING.
719 (IMAGE_SYMBOL_INFO, AreSymbolsParsed): Add.
720 * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
721 LdrpLoadUserModuleSymbols() not LdrLoadModuleSymbols().
722 * lib/ntdll/ldr/utils.c (LdrLoadModuleSymbols): Rename to
723 LdrpLoadUserModuleSymbols.
724 (LdrpLoadUserModuleSymbols): Use DebugDbgLoadSymbols debug control code.
725 (LdrLoadDll): assert if out of memory.
727 LdrpLoadUserModuleSymbols(), not LdrLoadModuleSymbols().
728 * lib/ntdll/string/ctype.c (_pctype): #undef.
729 * ntoskrnl/dbg/dbgctrl.c (NtSystemDebugControl): Call
730 LdrLoadUserModuleSymbols on DebugDbgLoadSymbols.
731 * ntoskrnl/include/internal/ldr.h (LdrGetAddressInformation): Add.
732 * ntoskrnl/include/internal/module.h (MODULE_TEXT_SECTION): Make SymbolInfo
733 an IMAGE_SYMBOL_INFO.
734 * ntoskrnl/ke/i386/exp.c (LdrGetAddressInformation): Add prototype.
735 (print_address): Change #ifdef KDBG to #ifdef DBG.
736 (KiDoubleFaultHandler, KiDumpTrapFrame, KeDumpStackFrames): Dump
737 one stack frame per line.
738 * ntoskrnl/ke/i386/multiboot.S: Create pagetables for more kernel
739 address space so larger modules can be passed from the boot loader.
740 * ntoskrnl/ke/i386/usertrap.c (LdrGetAddressInformation): Add prototype.
741 (print_user_address): Print symbols using LdrGetAddressInformation().
742 * ntoskrnl/ldr/loader.c (SYMBOLFILE_HEADER, IMAGE_SYMBOL_INFO_CACHE,
743 STAB_ENTRY, N_FUN, N_SLINE, N_SO, SymbolListHead): Add.
744 (TAG_SYM_BUF): Remove.
745 (LdrInitDebug): Remove unneeded code.
746 (LdrInit1): Prepare for loading symbols.
747 (LdrpReadLine, HexL, LdrpParseLine, LdrpLoadModuleSymbolsFromBuffer,
748 LdrpLoadUserModuleSymbolsFromBuffer): Remove.
749 (LdrpParseImageSymbols, LdrpGetFileName, LdrpGetFunctionName,
750 LdrpGetLineNumber, LdrGetAddressInformation, LdrpLookupUserSymbolInfo): Add.
751 (LdrpLoadModuleSymbols, LdrInitializeBootStartDriver): Change to use new
753 (LdrLoadUserModuleSymbols): Cache symbol buffers.
754 (LdrUnloadModuleSymbols): Implement.
755 (LdrLoadModule, LdrUnloadModule): Change #ifdef KDBG to #ifdef DBG.
756 (LdrPEProcessModule): Split a line into two lines.
757 (LdrPEProcessModule): Setup for loading symbols.
758 * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Open with FILE_SHARE_READ.
759 * ntoskrnl/ps/process.c (PiFreeSymbols): Call LdrUnloadModuleSymbols() to
761 (PiDeleteProcess): Change #ifdef KDBG to #ifdef DBG.
762 * ntoskrnl/rtl/ctype.c (_pctype): #undef.
763 * ntoskrnl/rtl/string.c (strncpy): Terminate destination string.
764 * tools/Makefile (rsym): Add target.
765 * tools/helper.mk: Include config and use -g if DBG = 1.
767 2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
769 * Makefile (install_before): Install system.hiv to correct location.
771 2002-07-04 David Welch <welch@computer2.darkstar.org>
773 * subsys/win32k/include/callback.h: Fixed callback argument
775 * subsys/win32k/ntuser/winpos.c: Implemented some more of the windows
777 * subsys/win32k/ntuser/painting.c: Implemented some more of the
778 window painting code.
779 * subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.
780 * subsys/win32k/objects/region.c: Added stubs for some more
783 2002-07-04 David Welch <welch@computer2.darkstar.org>
785 * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the
786 process desktop handle as well.
788 2002-07-04 David Welch <welch@computer2.darkstar.org>
790 * ntoskrnl/se/token.c: Don't call the ZwXXX variant of
791 system calls when in system context.
793 2002-07-04 David Welch <welch@computer2.darkstar.org>
795 * ntoskrnl/Makefile: Added file with MDA output code.
796 * ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for
799 2002-07-04 David Welch <welch@computer2.darkstar.org>
801 * lib/user32/windows/defwnd.c: Implemented some more of the
802 default window handler.
804 2002-07-04 David Welch <welch@computer2.darkstar.org>
806 * lib/user32/misc/stubs.c: Removed some stubs to seperate files.
808 2002-07-04 David Welch <welch@computer2.darkstar.org>
810 * lib/user32/user32.def: Export ScreenToClient otherwise we
811 get problems when code in user32 tries to call it.
813 2002-07-04 David Welch <welch@computer2.darkstar.org>
815 * include/win32k/region.h: Added prototypes for some missing
818 2002-07-04 David Welch <welch@computer2.darkstar.org>
820 * include/win32k/ntuser.h: Added prototypes for some missing
823 2002-07-04 David Welch <welch@computer2.darkstar.org>
825 * include/user32/wininternal.h: Added some constants for
826 private GetDCEx styles that WINE needs.
828 2002-07-04 David Welch <welch@computer2.darkstar.org>
830 * include/user32/callback.h: Fixed callbacks for messages with
833 2002-07-04 David Welch <welch@computer2.darkstar.org>
835 * include/napi/win32.h (W32THREAD): Added pointer to the
837 * include/napi/win32.h (W32PROCESS): Removed handle table,
838 added a pointer to the process's window station.
839 * subsys/win32k/ntuser/guicheck.c (W32kGuiCheck): Reference
840 a process's window station on the first win32k system call. Reference
841 a thread's desktop on the first win32k system call.
843 2002-07-04 David Welch <welch@computer2.darkstar.org>
845 * include/messages.h: Added some missing WM_XXX constants.
847 2002-07-04 David Welch <welch@computer2.darkstar.org>
849 * drivers/dd/ide/makefile: Compiling with debugging messages
850 needs libgcc to be linked in.
852 2002-07-04 David Welch <welch@computer2.darkstar.org>
854 * iface/addsys/genw32k.c: Generate a variable with the
855 number of system calls.
856 * iface/native/genntdll.c: Generate a proper stack frame for
857 the user system call stubs.
858 * ntoskrnl/ke/i386/syscall.S: Generate a proper stack frame for
859 the handler for system calls.
861 2002-07-04 David Welch <welch@computer2.darkstar.org>
863 * Makefile: Build the GUI startup application.
864 * subsys/system/gstart/gstart.c: Application to start up
867 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
869 * tools/helper.mk: Make an import library a proper target
870 depending on the .def file.
872 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
874 * subsys/win32k/ntuser/window.c (NtUserGetWindowLong): Began
877 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
879 * subsys/win32k/misc/object.c (ObmCreateHandle): Return the
880 correct handle value.
882 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
884 * subsys/win32k/makefile: Make win32k depend on the file containing
887 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
889 * ntoskrnl/ke/i386/stkswitch.S (KeSwitchStackAndRet,
890 KePushAndStackSwitchAndSysRet): Push one value only.
891 * ntoskrnl/ps/w32call.c (NtCallbackReturn, NtW32Call): Moved
892 these functions to a new file. Restore the old trap frame after
893 returning from a callback.
895 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
897 * lib/user32/windows/message.c (CallWindowProcA, CallWindowProcW):
898 Convert message to Unicode or ASCII if necessary.
900 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
902 * include/user32/callback.h: Added WM_CREATE and WM_NCCALCSIZE
904 * lib/user32/windows/window.c (User32SendCREATEMessageForKernel,
905 User32SendNCCREATEMessageForKernel): Implemented.
906 * subsys/win32k/ntuser/callback.c (W32kSendCREATEMessage):
909 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
911 * include/structs.h: Added Unicode and ASCII versions of
914 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
916 * tools/helper.mk: Make the install target depend on all the
917 files to be installed.
919 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
921 * ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the
922 top of the old stack.
923 * ntoskrnl/ps/thread.c (NtW32Call): Set TSS.Esp0 to the top of
924 the new stack. Free the callback stack correctly. Don't copy
925 portion of the trap frame that doesn't exist in non-v86-mode
927 * ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to
928 free a stack allocated with PsAllocateCallbackStack.
930 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
932 * drivers/dd/null/makefile: Commented out local LDFLAGS as
933 these cause bad relocations in the stripped image.
935 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
937 * config: Corrected spelling error.
939 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
941 * subsys/system/winlogon/winlogon.c (WinMain): Check for
942 failure when creating a window system.
944 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
946 * ntoskrnl/ob/handle.c (ObDuplicateObject): Added this internal
947 function for duplicating objects.
948 * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the parent
949 process's window station to the child process.
950 * ntoskrnl/ps/process.c (PsInitProcessManagement): Initialize the
951 first process's window station.
953 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
955 * ntoskrnl/mm/marea.c (MmCreateMemoryArea): Initialise
956 page operation structure members.
957 * ntoskrnl/mm/pageop.c (MmReleasePageOp, MmGetPageOp): Increment
958 or decrement the page operation count in the memory area.
959 * ntoskrnl/mm/virtual.c (MmNotPresentFaultVirtualMemory,
960 MmPageOutVirtualMemory): Check for a deleted memory area before
962 * ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all
963 page operations to finish before freeing the memory area.
965 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
967 * ntoskrnl/ke/i386/syscall.S (interrupt_handler2e): Corrected
968 test for previous mode, upper 16-bit of CS on the stack after an
969 interrupt are arbitary.
971 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
973 * lib/user32/misc/winsta.c: Cleaned up indentation.
975 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
977 * apps/tests/winhello/winhello.c (WinMain, MainWndProc):
978 Cleaned up formatting, some more error checks.
980 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
982 * ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,
983 MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.
985 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
987 * ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3
990 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
992 * ntoskrnl/include/internal/ps.h: Added KTHREAD_STACK_LIMIT definition.
993 * ntoskrnl/ke/i386/tskswitch.S (Ki386ContextSwitch): Force all the
994 pages of the kernel stack to be accessible from this process.
996 2002-06-04 David Welch <welch@cwcom.net>
998 * ntoskrnl/cc/view.c (ReadCacheSegmentChain): Changes to use
999 PHYSICAL_ADDRESS type for physical addresses.
1000 * ntoskrnl/cc/copy.c (CcRosCreateCacheSegment): Changes to use
1001 PHYSICAL_ADDRESS type for physical addresses.
1002 * ntoskrnl/cc/copy.c (CcFreeCachePage): Changes to use
1003 PHYSICAL_ADDRESS type for physical addresses.
1004 * ntoskrnl/include/internal/mm.h: Changed prototypes to use
1005 PHYSICAL_ADDRESS type for physical addresses.
1006 * ntoskrnl/include/internal/ps.h (KPROCESS): Changed type of
1007 page directory base to PHYSICAL_ADDRESS.
1008 * ntoskrnl/include/internal/i386/mm.h: Changed prototypes to use
1009 PHYSICAL_ADDRESS type for physical addresses.
1010 * ntoskrnl/ke/kthread.c (KeFreeStackPage): Changes to use
1011 PHYSICAL_ADDRESS type for physical addresses.
1012 * ntoskrnl/ke/kthread.c (KeInitializeThread): Changes to use
1013 PHYSICAL_ADDRESS type for physical addresses.
1014 * ntoskrnl/ke/process.c (KeAttachProcess, KeDetachProcess): Changes
1015 to use PHYSICAL_ADDRESS type for physical addresses.
1016 * ntoskrnl/ke/kernel.c (PcrPages, KeApplicationProcessorInit): Changes
1017 to use PHYSICAL_ADDRESS type for physical addresses.
1018 * ntoskrnl/mm/balance.c (MM_ALLOCATION_REQUEST): Changes to use
1019 PHYSICAL_ADDRESS type for physical addresses.
1020 * ntoskrnl/mm/balance.c (MmReleasePageMemoryConsumer): Changes to use
1021 PHYSICAL_ADDRESS type for physical addresses.
1022 * ntoskrnl/mm/balance.c (MmRequestPageMemoryConsumer): Changes to use
1023 PHYSICAL_ADDRESS type for physical addresses.
1024 * ntoskrnl/mm/cont.c (MmFreeContinuousPage): Changes to use
1025 PHYSICAL_ADDRESS type for physical addresses.
1026 * ntoskrnl/mm/cont.c (MmAllocateContinuousAlignedMemory): Changes to
1027 use PHYSICAL_ADDRESS type for physical addresses.
1028 * ntoskrnl/mm/freelist.c (MmTransferOwnershipPage,
1029 MmGetLRUFirstUserPage, MmGetLRUNextUserPage, MmGetContinuousPages,
1030 MmInitializePageList, MmSetFlagsPage, MmSetRmapListHeadPage,
1031 MmGetRmapListHeadPage, MmMarkPageMapped, MmMarkPageUnmapped,
1032 MmGetFlagsPage, MmSetSavedSwapEntryPage, MmGetSavedSwapEntryPage,
1033 MmReferencePage, MmGetReferenceCountPage, MmIsUsablePage,
1034 MmDereferencePage, MmGetLockCountPage, MmLockPage, MmUnlockPage,
1035 MmAllocPage): Changes to use PHYSICAL_ADDRESS type for physical
1037 * ntoskrnl/mm/iospace.c (MmMapIoSpace): Changes to use
1038 PHYSICAL_ADDRESS type for physical addresses.
1039 * ntoskrnl/mm/kmap.c (ExAllocatePage, MiZeroPage, MiCopyFromUserPage,
1040 ExAllocatePageWithPhysPage): Changes to use PHYSICAL_ADDRESS type for
1042 * ntoskrnl/mm/marea.c (MmFreeMemoryArea): Changes to use
1043 PHYSICAL_ADDRESS type for physical addresses.
1044 * ntoskrnl/mm/mdl.c (MmUnlockPages, MmMapLockedPages,
1045 MmProbeAndLockPages): Changes to use PHYSICAL_ADDRESS type for
1047 * ntoskrnl/mm/mm.c (MmSharedDataPagePhysicalAddress,
1048 MmCommitPagedPoolAddress, MmNotPresentFault): Changes to use
1049 PHYSICAL_ADDRESS type for physical addresses.
1050 * ntoskrnl/mm/mminit.c (MmInitVirtualMemory): Changes to use
1051 PHYSICAL_ADDRESS type for physical addresses.
1052 * ntoskrnl/mm/ncache.c (MmAllocateNonCachedMemory,
1053 MmFreeNonCachedPage): Changes to use PHYSICAL_ADDRESS type for
1055 * ntoskrnl/mm/npool.c (grow_kernel_pool): Changes to use
1056 PHYSICAL_ADDRESS type for physical addresses.
1057 * ntoskrnl/mm/rmap.c (MmPageOutPhysicalAddress, MmInsertRmap,
1058 MmDeleteAllRmaps, MmDeleteRmap): Changes to use
1059 PHYSICAL_ADDRESS type for physical addresses.
1060 * ntoskrnl/mm/section.c (MiReadPage, MmNotPresentFaultSectionView,
1061 MmAccessFaultSectionView, MmPageOutDeleteMapping,
1062 MmPageOutSectionView, MmFreeSectionPage): Changes to use
1063 PHYSICAL_ADDRESS type for physical addresses.
1064 * ntoskrnl/mm/slab.c (ExGrowSlabCache): Changes to use
1065 PHYSICAL_ADDRESS type for physical address.
1066 * ntoskrnl/mm/virtual.c (MmPageOutVirtualMemory,
1067 MmNotPresentFaultVirtualMemory, MmFreeVirtualMemoryPage): Changes to
1068 use PHYSICAL_ADDRESS type for physical address.
1069 * ntoskrnl/mm/wset.c (MmTrimUserMemory): Changes to use
1070 PHYSICAL_ADDRESS type for physical address.
1071 * ntoskrnl/mm/page.c (Mmi386ReleaseMmInfo, MmCopyMmInfo,
1072 MmGetPhysicalAddressForProcess, MmCreateVirtualMapping,
1073 MmCreateVirtualMappingUnsafe, MmCreateVirtualMappingForProcess,
1074 MmDeleteVirtualMapping): Changes to use PHYSICAL_ADDRESS type for
1076 * ntoskrnl/ps/process (PsInitProcessManagment): Changes to use
1077 PHYSICAL_ADDRESS type for physical address.
1078 * ntoskrnl/ps/thread.c (PsAllocateCallbackStack): Changes to use
1079 PHYSICAL_ADDRESS type for physical address.
1081 2002-06-04 David Welch <welch@cwcom.net>
1083 * Lots of change since the ChangeLog was last updated.
1085 2001-03-18 David Welch <welch@cwcom.net>
1087 * ntoskrnl/ke/apc.c (KiDeliverApc): Bug fix.
1088 * ntoskrnl/ke/apc.c (KeInsertQueueApc): More comments.
1089 * ntoskrnl/ke/catch.c (KiDispatchException): Bug fix.
1090 * ntoskrnl/ke/timer.c (KeDelayExecutionThread): Don't use removed
1091 function KeAddTimeoutThread.
1092 * ntoskrnl/ke/timer.c (KeAddTimeoutThread): Removed.
1093 * ntoskrnl/ke/wait.c (KeWaitForSingleObject, KeWaitForMultipleObjects):
1094 Don't use KeAddTimeoutThread.
1095 * ntoskrnl/mm/freelist.c (MmAllocateContiguousAlignedMemory): Bug fix
1096 * ntoskrnl/mm/freelist.c (MmAllocatePage): Allocate from the top
1099 2001-03-17 David Welch <welch@cwcom.net>
1101 * ntoskrnl/ke/catch.c (KiDispatchException): Implementation of
1102 exception handling, user-mode only.
1104 2001-03-16 David Welch <welch@cwcom.net>
1106 * include/ddk/zw.h: Corrected declarations of NtCreateProfile,
1107 NtQueryIntervalProfile, NtSetIntervalProfile.
1108 * include/ddk/zwtypes.h: Added definitions of KPROFILE_SOURCE.
1109 * ntoskrnl/include/internal/ke.h: Added the interrupted EIP as a
1110 parameter to KiUpdateSystemTime for profiling purposes.
1111 * ntoskrnl/include/internal/nt: Added declaration for profiling
1112 support initialization.
1113 * ntoskrnl/ke/timer.c (KiUpdateSystemTime, KeExpireTimers): Call
1114 the profiling code on a timer interrupt with the interrupt EIP.
1115 * ntoskrnl/ke/i386/irq.c (KiDispatchInterrupt): Pass the interrupted
1116 EIP to KiUpdateSystemTime.
1117 * ntoskrnl/mm/virtual.c (NtReadVirtualMemory, NtWriteVirtualMemory):
1118 Release the MDLs used properly.
1119 * ntoskrnl/nt/nt.c: Call the profiling support initialization.
1120 * ntoskrnl/nt/ntevent.c (NtCreateEvent): Don't try copying the
1121 ObjectAttributes parameter if it is NULL.
1122 * ntoskrnl/nt/profile.c: Implemented profiling.
1124 2001-03-16 David Welch <welch@cwcom.net>
1126 * ntoskrnl/include/internal/safe.h: Corrected typo.
1127 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):
1129 * ntoskrnl/rtl/mem.c: Missing header file.
1131 2001-03-16 David Welch <welch@cwcom.net>
1133 * ntoskrnl/include/internal/safe.h: Add definitions for handling
1134 potentially unsafe pointers.
1136 2001-03-16 David Welch <welch@cwcom.net>
1138 * ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and
1139 MmSafeCopyFromUser as source files need these but don't want internal
1141 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,
1142 NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from
1144 * ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper
1145 functions for copying data to and from potentially unsafe pointers.
1147 2000-12-23 David Welch <welch@cwcom.net>
1149 * All task switching is done in software.
1150 * Beginnings of v86 mode support.
1152 2000-12-22 David Welch <welch@cwcom.net>
1154 * ntoskrnl/ps/kill.c (PiTerminateProcessThreads): Drop
1155 PiThreadListLock before calling PsTerminateOtherThread
1157 2000-12-16 David Welch <welch@cwcom.net>
1159 * ntoskrnl/ex/fmutex.c (ExReleaseFastMutexUnsafe): Only set the
1160 fast mutex's owner back to NULL if it is being released
1162 2000-12-10 David Welch <welch@cwcom.net>
1164 * ntoskrnl/ke/i386/vm86_sup.S (Ki386RetToV86Mode): Added function
1165 to do the raw switch to v86 mode.
1166 * ntoskrnl/include/internal/vm86.h: Definitions for the v86 mode
1169 2000-12-10 David Welch <welch@cwcom.net>
1171 * ntoskrnl/ke/i386/trap.s (PsBeginThreadWithContextInternal): Moved
1172 to ntoskrnl/ke/i386/bswitch.S.
1173 * ntoskrnl/ke/i386/trap.s (interrupt_handler2e): Moved to
1174 ntoskrnl/ke/i386/syscall.S.
1175 * ntoskrnl/ke/i386/trap.s (old_interrupt_handler2e): Removed.
1177 2000-12-04 David Welch <welch@cwcom.net>
1179 * ntoskrnl/ke/i386/irq.c (KiInterruptDispatch): Record the last PC
1180 value for a rescheduled thread.
1181 * ntoskrnl/ke/i386/irqhand.s: Construct a primitive trap frame
1182 in interrupt handlers.
1184 2000-08-30 David Welch <welch@cwcom.net>
1186 * Added calibration of KeStallExecutionProcessor timing
1187 (code from linux 2.2.16).
1189 * Corrected compilation bugs in user32 library.
1191 * Corrected compilation bugs related to anonymous structs
1194 * Pass command line to kernel from loadros.
1196 * Corrected PIC mask calculation.
1198 2000-05-27 David Welch <welch@cwcom.net>
1200 * Fixed issue with closing non-existent or already closed
1203 2000-01-26 David Welch <welch@cwcom.net>
1205 * ZwCreateProcess now maps ntdll rather than the user-mode
1208 1999-09-06 David Welch <welch@cwcom.net>
1210 * Implemented ZwOpenProcess.
1212 * Partially implemented killing other threads (possible memory
1215 * Made a start on a proper implemention of APCs (based on
1216 article in NT insider).
1218 1998-12-08 David Welch <welch@cwcom.net>
1220 * Corrected bug in shell (Read two keypresses and assumed they
1221 where the key going up and down respectively).
1223 * Corrected race in dpc handling.
1225 * Took out cleanup sections in ZwReadFile (now handled by the
1228 * Disabled broken code in kernel32.