1 2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
3 * Makefile (install_before): Install system.hiv to correct location.
5 2002-07-04 David Welch <welch@computer2.darkstar.org>
7 * subsys/win32k/include/callback.h: Fixed callback argument
9 * subsys/win32k/ntuser/winpos.c: Implemented some more of the windows
11 * subsys/win32k/ntuser/painting.c: Implemented some more of the
13 * subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.
14 * subsys/win32k/objects/region.c: Added stubs for some more
17 2002-07-04 David Welch <welch@computer2.darkstar.org>
19 * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the
20 process desktop handle as well.
22 2002-07-04 David Welch <welch@computer2.darkstar.org>
24 * ntoskrnl/se/token.c: Don't call the ZwXXX variant of
25 system calls when in system context.
27 2002-07-04 David Welch <welch@computer2.darkstar.org>
29 * ntoskrnl/Makefile: Added file with MDA output code.
30 * ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for
33 2002-07-04 David Welch <welch@computer2.darkstar.org>
35 * lib/user32/windows/defwnd.c: Implemented some more of the
36 default window handler.
38 2002-07-04 David Welch <welch@computer2.darkstar.org>
40 * lib/user32/misc/stubs.c: Removed some stubs to seperate files.
42 2002-07-04 David Welch <welch@computer2.darkstar.org>
44 * lib/user32/user32.def: Export ScreenToClient otherwise we
45 get problems when code in user32 tries to call it.
47 2002-07-04 David Welch <welch@computer2.darkstar.org>
49 * include/win32k/region.h: Added prototypes for some missing
52 2002-07-04 David Welch <welch@computer2.darkstar.org>
54 * include/win32k/ntuser.h: Added prototypes for some missing
57 2002-07-04 David Welch <welch@computer2.darkstar.org>
59 * include/user32/wininternal.h: Added some constants for
60 private GetDCEx styles that WINE needs.
62 2002-07-04 David Welch <welch@computer2.darkstar.org>
64 * include/user32/callback.h: Fixed callbacks for messages with
67 2002-07-04 David Welch <welch@computer2.darkstar.org>
69 * include/napi/win32.h (W32THREAD): Added pointer to the
71 * include/napi/win32.h (W32PROCESS): Removed handle table,
72 added a pointer to the process's window station.
73 * subsys/win32k/ntuser/guicheck.c (W32kGuiCheck): Reference
74 a process's window station on the first win32k system call. Reference
75 a thread's desktop on the first win32k system call.
77 2002-07-04 David Welch <welch@computer2.darkstar.org>
79 * include/messages.h: Added some missing WM_XXX constants.
81 2002-07-04 David Welch <welch@computer2.darkstar.org>
83 * drivers/dd/ide/makefile: Compiling with debugging messages
84 needs libgcc to be linked in.
86 2002-07-04 David Welch <welch@computer2.darkstar.org>
88 * iface/addsys/genw32k.c: Generate a variable with the
89 number of system calls.
90 * iface/native/genntdll.c: Generate a proper stack frame for
91 the user system call stubs.
92 * ntoskrnl/ke/i386/syscall.S: Generate a proper stack frame for
93 the handler for system calls.
95 2002-07-04 David Welch <welch@computer2.darkstar.org>
97 * Makefile: Build the GUI startup application.
98 * subsys/system/gstart/gstart.c: Application to start up
101 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
103 * tools/helper.mk: Make an import library a proper target
104 depending on the .def file.
106 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
108 * subsys/win32k/ntuser/window.c (NtUserGetWindowLong): Began
111 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
113 * subsys/win32k/misc/object.c (ObmCreateHandle): Return the
114 correct handle value.
116 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
118 * subsys/win32k/makefile: Make win32k depend on the file containing
121 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
123 * ntoskrnl/ke/i386/stkswitch.S (KeSwitchStackAndRet,
124 KePushAndStackSwitchAndSysRet): Push one value only.
125 * ntoskrnl/ps/w32call.c (NtCallbackReturn, NtW32Call): Moved
126 these functions to a new file. Restore the old trap frame after
127 returning from a callback.
129 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
131 * lib/user32/windows/message.c (CallWindowProcA, CallWindowProcW):
132 Convert message to Unicode or ASCII if necessary.
134 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
136 * include/user32/callback.h: Added WM_CREATE and WM_NCCALCSIZE
138 * lib/user32/windows/window.c (User32SendCREATEMessageForKernel,
139 User32SendNCCREATEMessageForKernel): Implemented.
140 * subsys/win32k/ntuser/callback.c (W32kSendCREATEMessage):
143 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
145 * include/structs.h: Added Unicode and ASCII versions of
148 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
150 * tools/helper.mk: Make the install target depend on all the
151 files to be installed.
153 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
155 * ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the
156 top of the old stack.
157 * ntoskrnl/ps/thread.c (NtW32Call): Set TSS.Esp0 to the top of
158 the new stack. Free the callback stack correctly. Don't copy
159 portion of the trap frame that doesn't exist in non-v86-mode
161 * ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to
162 free a stack allocated with PsAllocateCallbackStack.
164 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
166 * drivers/dd/null/makefile: Commented out local LDFLAGS as
167 these cause bad relocations in the stripped image.
169 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
171 * config: Corrected spelling error.
173 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
175 * subsys/system/winlogon/winlogon.c (WinMain): Check for
176 failure when creating a window system.
178 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
180 * ntoskrnl/ob/handle.c (ObDuplicateObject): Added this internal
181 function for duplicating objects.
182 * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the parent
183 process's window station to the child process.
184 * ntoskrnl/ps/process.c (PsInitProcessManagement): Initialize the
185 first process's window station.
187 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
189 * ntoskrnl/mm/marea.c (MmCreateMemoryArea): Initialise
190 page operation structure members.
191 * ntoskrnl/mm/pageop.c (MmReleasePageOp, MmGetPageOp): Increment
192 or decrement the page operation count in the memory area.
193 * ntoskrnl/mm/virtual.c (MmNotPresentFaultVirtualMemory,
194 MmPageOutVirtualMemory): Check for a deleted memory area before
196 * ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all
197 page operations to finish before freeing the memory area.
199 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
201 * ntoskrnl/ke/i386/syscall.S (interrupt_handler2e): Corrected
202 test for previous mode, upper 16-bit of CS on the stack after an
203 interrupt are arbitary.
205 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
207 * lib/user32/misc/winsta.c: Cleaned up indentation.
209 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
211 * apps/tests/winhello/winhello.c (WinMain, MainWndProc):
212 Cleaned up formatting, some more error checks.
214 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
216 * ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,
217 MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.
219 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
221 * ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3
224 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
226 * ntoskrnl/include/internal/ps.h: Added KTHREAD_STACK_LIMIT definition.
227 * ntoskrnl/ke/i386/tskswitch.S (Ki386ContextSwitch): Force all the
228 pages of the kernel stack to be accessible from this process.
230 2002-06-04 David Welch <welch@cwcom.net>
232 * ntoskrnl/cc/view.c (ReadCacheSegmentChain): Changes to use
233 PHYSICAL_ADDRESS type for physical addresses.
234 * ntoskrnl/cc/copy.c (CcRosCreateCacheSegment): Changes to use
235 PHYSICAL_ADDRESS type for physical addresses.
236 * ntoskrnl/cc/copy.c (CcFreeCachePage): Changes to use
237 PHYSICAL_ADDRESS type for physical addresses.
238 * ntoskrnl/include/internal/mm.h: Changed prototypes to use
239 PHYSICAL_ADDRESS type for physical addresses.
240 * ntoskrnl/include/internal/ps.h (KPROCESS): Changed type of
241 page directory base to PHYSICAL_ADDRESS.
242 * ntoskrnl/include/internal/i386/mm.h: Changed prototypes to use
243 PHYSICAL_ADDRESS type for physical addresses.
244 * ntoskrnl/ke/kthread.c (KeFreeStackPage): Changes to use
245 PHYSICAL_ADDRESS type for physical addresses.
246 * ntoskrnl/ke/kthread.c (KeInitializeThread): Changes to use
247 PHYSICAL_ADDRESS type for physical addresses.
248 * ntoskrnl/ke/process.c (KeAttachProcess, KeDetachProcess): Changes
249 to use PHYSICAL_ADDRESS type for physical addresses.
250 * ntoskrnl/ke/kernel.c (PcrPages, KeApplicationProcessorInit): Changes
251 to use PHYSICAL_ADDRESS type for physical addresses.
252 * ntoskrnl/mm/balance.c (MM_ALLOCATION_REQUEST): Changes to use
253 PHYSICAL_ADDRESS type for physical addresses.
254 * ntoskrnl/mm/balance.c (MmReleasePageMemoryConsumer): Changes to use
255 PHYSICAL_ADDRESS type for physical addresses.
256 * ntoskrnl/mm/balance.c (MmRequestPageMemoryConsumer): Changes to use
257 PHYSICAL_ADDRESS type for physical addresses.
258 * ntoskrnl/mm/cont.c (MmFreeContinuousPage): Changes to use
259 PHYSICAL_ADDRESS type for physical addresses.
260 * ntoskrnl/mm/cont.c (MmAllocateContinuousAlignedMemory): Changes to
261 use PHYSICAL_ADDRESS type for physical addresses.
262 * ntoskrnl/mm/freelist.c (MmTransferOwnershipPage,
263 MmGetLRUFirstUserPage, MmGetLRUNextUserPage, MmGetContinuousPages,
264 MmInitializePageList, MmSetFlagsPage, MmSetRmapListHeadPage,
265 MmGetRmapListHeadPage, MmMarkPageMapped, MmMarkPageUnmapped,
266 MmGetFlagsPage, MmSetSavedSwapEntryPage, MmGetSavedSwapEntryPage,
267 MmReferencePage, MmGetReferenceCountPage, MmIsUsablePage,
268 MmDereferencePage, MmGetLockCountPage, MmLockPage, MmUnlockPage,
269 MmAllocPage): Changes to use PHYSICAL_ADDRESS type for physical
271 * ntoskrnl/mm/iospace.c (MmMapIoSpace): Changes to use
272 PHYSICAL_ADDRESS type for physical addresses.
273 * ntoskrnl/mm/kmap.c (ExAllocatePage, MiZeroPage, MiCopyFromUserPage,
274 ExAllocatePageWithPhysPage): Changes to use PHYSICAL_ADDRESS type for
276 * ntoskrnl/mm/marea.c (MmFreeMemoryArea): Changes to use
277 PHYSICAL_ADDRESS type for physical addresses.
278 * ntoskrnl/mm/mdl.c (MmUnlockPages, MmMapLockedPages,
279 MmProbeAndLockPages): Changes to use PHYSICAL_ADDRESS type for
281 * ntoskrnl/mm/mm.c (MmSharedDataPagePhysicalAddress,
282 MmCommitPagedPoolAddress, MmNotPresentFault): Changes to use
283 PHYSICAL_ADDRESS type for physical addresses.
284 * ntoskrnl/mm/mminit.c (MmInitVirtualMemory): Changes to use
285 PHYSICAL_ADDRESS type for physical addresses.
286 * ntoskrnl/mm/ncache.c (MmAllocateNonCachedMemory,
287 MmFreeNonCachedPage): Changes to use PHYSICAL_ADDRESS type for
289 * ntoskrnl/mm/npool.c (grow_kernel_pool): Changes to use
290 PHYSICAL_ADDRESS type for physical addresses.
291 * ntoskrnl/mm/rmap.c (MmPageOutPhysicalAddress, MmInsertRmap,
292 MmDeleteAllRmaps, MmDeleteRmap): Changes to use
293 PHYSICAL_ADDRESS type for physical addresses.
294 * ntoskrnl/mm/section.c (MiReadPage, MmNotPresentFaultSectionView,
295 MmAccessFaultSectionView, MmPageOutDeleteMapping,
296 MmPageOutSectionView, MmFreeSectionPage): Changes to use
297 PHYSICAL_ADDRESS type for physical addresses.
298 * ntoskrnl/mm/slab.c (ExGrowSlabCache): Changes to use
299 PHYSICAL_ADDRESS type for physical address.
300 * ntoskrnl/mm/virtual.c (MmPageOutVirtualMemory,
301 MmNotPresentFaultVirtualMemory, MmFreeVirtualMemoryPage): Changes to
302 use PHYSICAL_ADDRESS type for physical address.
303 * ntoskrnl/mm/wset.c (MmTrimUserMemory): Changes to use
304 PHYSICAL_ADDRESS type for physical address.
305 * ntoskrnl/mm/page.c (Mmi386ReleaseMmInfo, MmCopyMmInfo,
306 MmGetPhysicalAddressForProcess, MmCreateVirtualMapping,
307 MmCreateVirtualMappingUnsafe, MmCreateVirtualMappingForProcess,
308 MmDeleteVirtualMapping): Changes to use PHYSICAL_ADDRESS type for
310 * ntoskrnl/ps/process (PsInitProcessManagment): Changes to use
311 PHYSICAL_ADDRESS type for physical address.
312 * ntoskrnl/ps/thread.c (PsAllocateCallbackStack): Changes to use
313 PHYSICAL_ADDRESS type for physical address.
315 2002-06-04 David Welch <welch@cwcom.net>
317 * Lots of change since the ChangeLog was last updated.
319 2001-03-18 David Welch <welch@cwcom.net>
321 * ntoskrnl/ke/apc.c (KiDeliverApc): Bug fix.
322 * ntoskrnl/ke/apc.c (KeInsertQueueApc): More comments.
323 * ntoskrnl/ke/catch.c (KiDispatchException): Bug fix.
324 * ntoskrnl/ke/timer.c (KeDelayExecutionThread): Don't use removed
325 function KeAddTimeoutThread.
326 * ntoskrnl/ke/timer.c (KeAddTimeoutThread): Removed.
327 * ntoskrnl/ke/wait.c (KeWaitForSingleObject, KeWaitForMultipleObjects):
328 Don't use KeAddTimeoutThread.
329 * ntoskrnl/mm/freelist.c (MmAllocateContiguousAlignedMemory): Bug fix
330 * ntoskrnl/mm/freelist.c (MmAllocatePage): Allocate from the top
333 2001-03-17 David Welch <welch@cwcom.net>
335 * ntoskrnl/ke/catch.c (KiDispatchException): Implementation of
336 exception handling, user-mode only.
338 2001-03-16 David Welch <welch@cwcom.net>
340 * include/ddk/zw.h: Corrected declarations of NtCreateProfile,
341 NtQueryIntervalProfile, NtSetIntervalProfile.
342 * include/ddk/zwtypes.h: Added definitions of KPROFILE_SOURCE.
343 * ntoskrnl/include/internal/ke.h: Added the interrupted EIP as a
344 parameter to KiUpdateSystemTime for profiling purposes.
345 * ntoskrnl/include/internal/nt: Added declaration for profiling
346 support initialization.
347 * ntoskrnl/ke/timer.c (KiUpdateSystemTime, KeExpireTimers): Call
348 the profiling code on a timer interrupt with the interrupt EIP.
349 * ntoskrnl/ke/i386/irq.c (KiDispatchInterrupt): Pass the interrupted
350 EIP to KiUpdateSystemTime.
351 * ntoskrnl/mm/virtual.c (NtReadVirtualMemory, NtWriteVirtualMemory):
352 Release the MDLs used properly.
353 * ntoskrnl/nt/nt.c: Call the profiling support initialization.
354 * ntoskrnl/nt/ntevent.c (NtCreateEvent): Don't try copying the
355 ObjectAttributes parameter if it is NULL.
356 * ntoskrnl/nt/profile.c: Implemented profiling.
358 2001-03-16 David Welch <welch@cwcom.net>
360 * ntoskrnl/include/internal/safe.h: Corrected typo.
361 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):
363 * ntoskrnl/rtl/mem.c: Missing header file.
365 2001-03-16 David Welch <welch@cwcom.net>
367 * ntoskrnl/include/internal/safe.h: Add definitions for handling
368 potentially unsafe pointers.
370 2001-03-16 David Welch <welch@cwcom.net>
372 * ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and
373 MmSafeCopyFromUser as source files need these but don't want internal
375 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,
376 NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from
378 * ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper
379 functions for copying data to and from potentially unsafe pointers.
381 2000-12-23 David Welch <welch@cwcom.net>
383 * All task switching is done in software.
384 * Beginnings of v86 mode support.
386 2000-12-22 David Welch <welch@cwcom.net>
388 * ntoskrnl/ps/kill.c (PiTerminateProcessThreads): Drop
389 PiThreadListLock before calling PsTerminateOtherThread
391 2000-12-16 David Welch <welch@cwcom.net>
393 * ntoskrnl/ex/fmutex.c (ExReleaseFastMutexUnsafe): Only set the
394 fast mutex's owner back to NULL if it is being released
396 2000-12-10 David Welch <welch@cwcom.net>
398 * ntoskrnl/ke/i386/vm86_sup.S (Ki386RetToV86Mode): Added function
399 to do the raw switch to v86 mode.
400 * ntoskrnl/include/internal/vm86.h: Definitions for the v86 mode
403 2000-12-10 David Welch <welch@cwcom.net>
405 * ntoskrnl/ke/i386/trap.s (PsBeginThreadWithContextInternal): Moved
406 to ntoskrnl/ke/i386/bswitch.S.
407 * ntoskrnl/ke/i386/trap.s (interrupt_handler2e): Moved to
408 ntoskrnl/ke/i386/syscall.S.
409 * ntoskrnl/ke/i386/trap.s (old_interrupt_handler2e): Removed.
411 2000-12-04 David Welch <welch@cwcom.net>
413 * ntoskrnl/ke/i386/irq.c (KiInterruptDispatch): Record the last PC
414 value for a rescheduled thread.
415 * ntoskrnl/ke/i386/irqhand.s: Construct a primitive trap frame
416 in interrupt handlers.
418 2000-08-30 David Welch <welch@cwcom.net>
420 * Added calibration of KeStallExecutionProcessor timing
421 (code from linux 2.2.16).
423 * Corrected compilation bugs in user32 library.
425 * Corrected compilation bugs related to anonymous structs
428 * Pass command line to kernel from loadros.
430 * Corrected PIC mask calculation.
432 2000-05-27 David Welch <welch@cwcom.net>
434 * Fixed issue with closing non-existent or already closed
437 2000-01-26 David Welch <welch@cwcom.net>
439 * ZwCreateProcess now maps ntdll rather than the user-mode
442 1999-09-06 David Welch <welch@cwcom.net>
444 * Implemented ZwOpenProcess.
446 * Partially implemented killing other threads (possible memory
449 * Made a start on a proper implemention of APCs (based on
450 article in NT insider).
452 1998-12-08 David Welch <welch@cwcom.net>
454 * Corrected bug in shell (Read two keypresses and assumed they
455 where the key going up and down respectively).
457 * Corrected race in dpc handling.
459 * Took out cleanup sections in ZwReadFile (now handled by the
462 * Disabled broken code in kernel32.