6223e030a8ddc649c464739bf0df0f27cd00463f
[reactos.git] / reactos / ChangeLog
1 2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
2
3 * Makefile (install_before): Install system.hiv to correct location.
4
5 2002-07-04 David Welch <welch@computer2.darkstar.org>
6
7 * subsys/win32k/include/callback.h: Fixed callback argument
8 definitions.
9 * subsys/win32k/ntuser/winpos.c: Implemented some more of the windows
10 sizing/moving code.
11 * subsys/win32k/ntuser/painting.c: Implemented some more of the
12 window painting code.
13 * subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.
14 * subsys/win32k/objects/region.c: Added stubs for some more
15 region functions.
16
17 2002-07-04 David Welch <welch@computer2.darkstar.org>
18
19 * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the
20 process desktop handle as well.
21
22 2002-07-04 David Welch <welch@computer2.darkstar.org>
23
24 * ntoskrnl/se/token.c: Don't call the ZwXXX variant of
25 system calls when in system context.
26
27 2002-07-04 David Welch <welch@computer2.darkstar.org>
28
29 * ntoskrnl/Makefile: Added file with MDA output code.
30 * ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for
31 debug output.
32
33 2002-07-04 David Welch <welch@computer2.darkstar.org>
34
35 * lib/user32/windows/defwnd.c: Implemented some more of the
36 default window handler.
37
38 2002-07-04 David Welch <welch@computer2.darkstar.org>
39
40 * lib/user32/misc/stubs.c: Removed some stubs to seperate files.
41
42 2002-07-04 David Welch <welch@computer2.darkstar.org>
43
44 * lib/user32/user32.def: Export ScreenToClient otherwise we
45 get problems when code in user32 tries to call it.
46
47 2002-07-04 David Welch <welch@computer2.darkstar.org>
48
49 * include/win32k/region.h: Added prototypes for some missing
50 region functions.
51
52 2002-07-04 David Welch <welch@computer2.darkstar.org>
53
54 * include/win32k/ntuser.h: Added prototypes for some missing
55 NtUserXXX functions.
56
57 2002-07-04 David Welch <welch@computer2.darkstar.org>
58
59 * include/user32/wininternal.h: Added some constants for
60 private GetDCEx styles that WINE needs.
61
62 2002-07-04 David Welch <welch@computer2.darkstar.org>
63
64 * include/user32/callback.h: Fixed callbacks for messages with
65 parameters.
66
67 2002-07-04 David Welch <welch@computer2.darkstar.org>
68
69 * include/napi/win32.h (W32THREAD): Added pointer to the
70 thread's desktop.
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.
76
77 2002-07-04 David Welch <welch@computer2.darkstar.org>
78
79 * include/messages.h: Added some missing WM_XXX constants.
80
81 2002-07-04 David Welch <welch@computer2.darkstar.org>
82
83 * drivers/dd/ide/makefile: Compiling with debugging messages
84 needs libgcc to be linked in.
85
86 2002-07-04 David Welch <welch@computer2.darkstar.org>
87
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.
94
95 2002-07-04 David Welch <welch@computer2.darkstar.org>
96
97 * Makefile: Build the GUI startup application.
98 * subsys/system/gstart/gstart.c: Application to start up
99 the GUI.
100
101 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
102
103 * tools/helper.mk: Make an import library a proper target
104 depending on the .def file.
105
106 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
107
108 * subsys/win32k/ntuser/window.c (NtUserGetWindowLong): Began
109 implementation.
110
111 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
112
113 * subsys/win32k/misc/object.c (ObmCreateHandle): Return the
114 correct handle value.
115
116 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
117
118 * subsys/win32k/makefile: Make win32k depend on the file containing
119 the service table.
120
121 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
122
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.
128
129 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
130
131 * lib/user32/windows/message.c (CallWindowProcA, CallWindowProcW):
132 Convert message to Unicode or ASCII if necessary.
133
134 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
135
136 * include/user32/callback.h: Added WM_CREATE and WM_NCCALCSIZE
137 callbacks.
138 * lib/user32/windows/window.c (User32SendCREATEMessageForKernel,
139 User32SendNCCREATEMessageForKernel): Implemented.
140 * subsys/win32k/ntuser/callback.c (W32kSendCREATEMessage):
141 Implemented.
142
143 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
144
145 * include/structs.h: Added Unicode and ASCII versions of
146 CREATESTRUCT.
147
148 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
149
150 * tools/helper.mk: Make the install target depend on all the
151 files to be installed.
152
153 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
154
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
160 interrupts.
161 * ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to
162 free a stack allocated with PsAllocateCallbackStack.
163
164 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
165
166 * drivers/dd/null/makefile: Commented out local LDFLAGS as
167 these cause bad relocations in the stripped image.
168
169 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
170
171 * config: Corrected spelling error.
172
173 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
174
175 * subsys/system/winlogon/winlogon.c (WinMain): Check for
176 failure when creating a window system.
177
178 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
179
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.
186
187 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
188
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
195 handling the fault.
196 * ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all
197 page operations to finish before freeing the memory area.
198
199 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
200
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.
204
205 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
206
207 * lib/user32/misc/winsta.c: Cleaned up indentation.
208
209 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
210
211 * apps/tests/winhello/winhello.c (WinMain, MainWndProc):
212 Cleaned up formatting, some more error checks.
213
214 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
215
216 * ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,
217 MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.
218
219 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
220
221 * ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3
222 correctly.
223
224 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
225
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.
229
230 2002-06-04 David Welch <welch@cwcom.net>
231
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
270 addresses.
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
275 physical addresses.
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
280 physical addresses.
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
288 physical addresses.
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
309 physical address.
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.
314
315 2002-06-04 David Welch <welch@cwcom.net>
316
317 * Lots of change since the ChangeLog was last updated.
318
319 2001-03-18 David Welch <welch@cwcom.net>
320
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
331 memory.
332
333 2001-03-17 David Welch <welch@cwcom.net>
334
335 * ntoskrnl/ke/catch.c (KiDispatchException): Implementation of
336 exception handling, user-mode only.
337
338 2001-03-16 David Welch <welch@cwcom.net>
339
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.
357
358 2001-03-16 David Welch <welch@cwcom.net>
359
360 * ntoskrnl/include/internal/safe.h: Corrected typo.
361 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):
362 Corrected typos.
363 * ntoskrnl/rtl/mem.c: Missing header file.
364
365 2001-03-16 David Welch <welch@cwcom.net>
366
367 * ntoskrnl/include/internal/safe.h: Add definitions for handling
368 potentially unsafe pointers.
369
370 2001-03-16 David Welch <welch@cwcom.net>
371
372 * ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and
373 MmSafeCopyFromUser as source files need these but don't want internal
374 mm definitions.
375 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,
376 NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from
377 user mode safely.
378 * ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper
379 functions for copying data to and from potentially unsafe pointers.
380
381 2000-12-23 David Welch <welch@cwcom.net>
382
383 * All task switching is done in software.
384 * Beginnings of v86 mode support.
385
386 2000-12-22 David Welch <welch@cwcom.net>
387
388 * ntoskrnl/ps/kill.c (PiTerminateProcessThreads): Drop
389 PiThreadListLock before calling PsTerminateOtherThread
390
391 2000-12-16 David Welch <welch@cwcom.net>
392
393 * ntoskrnl/ex/fmutex.c (ExReleaseFastMutexUnsafe): Only set the
394 fast mutex's owner back to NULL if it is being released
395
396 2000-12-10 David Welch <welch@cwcom.net>
397
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
401 support.
402
403 2000-12-10 David Welch <welch@cwcom.net>
404
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.
410
411 2000-12-04 David Welch <welch@cwcom.net>
412
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.
417
418 2000-08-30 David Welch <welch@cwcom.net>
419
420 * Added calibration of KeStallExecutionProcessor timing
421 (code from linux 2.2.16).
422
423 * Corrected compilation bugs in user32 library.
424
425 * Corrected compilation bugs related to anonymous structs
426 in ndis code.
427
428 * Pass command line to kernel from loadros.
429
430 * Corrected PIC mask calculation.
431
432 2000-05-27 David Welch <welch@cwcom.net>
433
434 * Fixed issue with closing non-existent or already closed
435 handle.
436
437 2000-01-26 David Welch <welch@cwcom.net>
438
439 * ZwCreateProcess now maps ntdll rather than the user-mode
440 code.
441
442 1999-09-06 David Welch <welch@cwcom.net>
443
444 * Implemented ZwOpenProcess.
445
446 * Partially implemented killing other threads (possible memory
447 leaks).
448
449 * Made a start on a proper implemention of APCs (based on
450 article in NT insider).
451
452 1998-12-08 David Welch <welch@cwcom.net>
453
454 * Corrected bug in shell (Read two keypresses and assumed they
455 where the key going up and down respectively).
456
457 * Corrected race in dpc handling.
458
459 * Took out cleanup sections in ZwReadFile (now handled by the
460 APC).
461
462 * Disabled broken code in kernel32.
463
464
465
466
467
468
469
470
471
472