2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
[reactos.git] / reactos / ChangeLog
1 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
2
3 * tools/help.mk: Make the install target depend on all the
4 files to be installed.
5
6 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
7
8 * ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the
9 top of the old stack.
10 * ntoskrnl/ps/thread.c (NtW32Call): Set TSS.Esp0 to the top of
11 the new stack. Free the callback stack correctly. Don't copy
12 portion of the trap frame that doesn't exist in none v86-mode
13 interrupts.
14 * ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to
15 free a stack allocated with PsAllocateCallbackStack.
16
17 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
18
19 * drivers/dd/null/makefile: Commented out local LDFLAGS as
20 these cause bad relocations in the stripped image.
21
22 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
23
24 * config: Corrected spelling error.
25
26 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
27
28 * subsys/system/winlogon/winlogon.c (WinMain): Check for
29 failure when creating a window system.
30
31 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
32
33 * ntoskrnl/ob/handle.c (ObDuplicateObject): Added this internal
34 function for duplicating objects.
35 * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the parent
36 process's window station to the child process.
37 * ntoskrnl/ps/process.c (PsInitProcessManagement): Initialize the
38 first process's window station.
39
40 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
41
42 * ntoskrnl/mm/marea.c (MmCreateMemoryArea): Initialise
43 page operation structure members.
44 * ntoskrnl/mm/pageop.c (MmReleasePageOp, MmGetPageOp): Increment
45 or decrement the page operation count in the memory area.
46 * ntoskrnl/mm/virtual.c (MmNotPresentFaultVirtualMemory,
47 MmPageOutVirtualMemory): Check for a deleted memory area before
48 handling the fault.
49 * ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all
50 page operations to finish before freeing the memory area.
51
52 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
53
54 * ntoskrnl/ke/i386/syscall.S (interrupt_handler2e): Corrected
55 test for previous mode, upper 16-bit of CS on the stack after an
56 interrupt are arbitary.
57
58 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
59
60 * lib/user32/misc/winsta.c: Cleaned up indentation.
61
62 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
63
64 * apps/tests/winhello/winhello.c (WinMain, MainWndProc):
65 Cleaned up formatting, some more error checks.
66
67 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
68
69 * ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,
70 MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.
71
72 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
73
74 * ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3
75 correctly.
76
77 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
78
79 * ntoskrnl/include/internal/ps.h: Added KTHREAD_STACK_LIMIT definition.
80 * ntoskrnl/ke/i386/tskswitch.S (Ki386ContextSwitch): Force all the
81 pages of the kernel stack to be accessible from this process.
82
83 2002-06-04 David Welch <welch@cwcom.net>
84
85 * ntoskrnl/cc/view.c (ReadCacheSegmentChain): Changes to use
86 PHYSICAL_ADDRESS type for physical addresses.
87 * ntoskrnl/cc/copy.c (CcRosCreateCacheSegment): Changes to use
88 PHYSICAL_ADDRESS type for physical addresses.
89 * ntoskrnl/cc/copy.c (CcFreeCachePage): Changes to use
90 PHYSICAL_ADDRESS type for physical addresses.
91 * ntoskrnl/include/internal/mm.h: Changed prototypes to use
92 PHYSICAL_ADDRESS type for physical addresses.
93 * ntoskrnl/include/internal/ps.h (KPROCESS): Changed type of
94 page directory base to PHYSICAL_ADDRESS.
95 * ntoskrnl/include/internal/i386/mm.h: Changed prototypes to use
96 PHYSICAL_ADDRESS type for physical addresses.
97 * ntoskrnl/ke/kthread.c (KeFreeStackPage): Changes to use
98 PHYSICAL_ADDRESS type for physical addresses.
99 * ntoskrnl/ke/kthread.c (KeInitializeThread): Changes to use
100 PHYSICAL_ADDRESS type for physical addresses.
101 * ntoskrnl/ke/process.c (KeAttachProcess, KeDetachProcess): Changes
102 to use PHYSICAL_ADDRESS type for physical addresses.
103 * ntoskrnl/ke/kernel.c (PcrPages, KeApplicationProcessorInit): Changes
104 to use PHYSICAL_ADDRESS type for physical addresses.
105 * ntoskrnl/mm/balance.c (MM_ALLOCATION_REQUEST): Changes to use
106 PHYSICAL_ADDRESS type for physical addresses.
107 * ntoskrnl/mm/balance.c (MmReleasePageMemoryConsumer): Changes to use
108 PHYSICAL_ADDRESS type for physical addresses.
109 * ntoskrnl/mm/balance.c (MmRequestPageMemoryConsumer): Changes to use
110 PHYSICAL_ADDRESS type for physical addresses.
111 * ntoskrnl/mm/cont.c (MmFreeContinuousPage): Changes to use
112 PHYSICAL_ADDRESS type for physical addresses.
113 * ntoskrnl/mm/cont.c (MmAllocateContinuousAlignedMemory): Changes to
114 use PHYSICAL_ADDRESS type for physical addresses.
115 * ntoskrnl/mm/freelist.c (MmTransferOwnershipPage,
116 MmGetLRUFirstUserPage, MmGetLRUNextUserPage, MmGetContinuousPages,
117 MmInitializePageList, MmSetFlagsPage, MmSetRmapListHeadPage,
118 MmGetRmapListHeadPage, MmMarkPageMapped, MmMarkPageUnmapped,
119 MmGetFlagsPage, MmSetSavedSwapEntryPage, MmGetSavedSwapEntryPage,
120 MmReferencePage, MmGetReferenceCountPage, MmIsUsablePage,
121 MmDereferencePage, MmGetLockCountPage, MmLockPage, MmUnlockPage,
122 MmAllocPage): Changes to use PHYSICAL_ADDRESS type for physical
123 addresses.
124 * ntoskrnl/mm/iospace.c (MmMapIoSpace): Changes to use
125 PHYSICAL_ADDRESS type for physical addresses.
126 * ntoskrnl/mm/kmap.c (ExAllocatePage, MiZeroPage, MiCopyFromUserPage,
127 ExAllocatePageWithPhysPage): Changes to use PHYSICAL_ADDRESS type for
128 physical addresses.
129 * ntoskrnl/mm/marea.c (MmFreeMemoryArea): Changes to use
130 PHYSICAL_ADDRESS type for physical addresses.
131 * ntoskrnl/mm/mdl.c (MmUnlockPages, MmMapLockedPages,
132 MmProbeAndLockPages): Changes to use PHYSICAL_ADDRESS type for
133 physical addresses.
134 * ntoskrnl/mm/mm.c (MmSharedDataPagePhysicalAddress,
135 MmCommitPagedPoolAddress, MmNotPresentFault): Changes to use
136 PHYSICAL_ADDRESS type for physical addresses.
137 * ntoskrnl/mm/mminit.c (MmInitVirtualMemory): Changes to use
138 PHYSICAL_ADDRESS type for physical addresses.
139 * ntoskrnl/mm/ncache.c (MmAllocateNonCachedMemory,
140 MmFreeNonCachedPage): Changes to use PHYSICAL_ADDRESS type for
141 physical addresses.
142 * ntoskrnl/mm/npool.c (grow_kernel_pool): Changes to use
143 PHYSICAL_ADDRESS type for physical addresses.
144 * ntoskrnl/mm/rmap.c (MmPageOutPhysicalAddress, MmInsertRmap,
145 MmDeleteAllRmaps, MmDeleteRmap): Changes to use
146 PHYSICAL_ADDRESS type for physical addresses.
147 * ntoskrnl/mm/section.c (MiReadPage, MmNotPresentFaultSectionView,
148 MmAccessFaultSectionView, MmPageOutDeleteMapping,
149 MmPageOutSectionView, MmFreeSectionPage): Changes to use
150 PHYSICAL_ADDRESS type for physical addresses.
151 * ntoskrnl/mm/slab.c (ExGrowSlabCache): Changes to use
152 PHYSICAL_ADDRESS type for physical address.
153 * ntoskrnl/mm/virtual.c (MmPageOutVirtualMemory,
154 MmNotPresentFaultVirtualMemory, MmFreeVirtualMemoryPage): Changes to
155 use PHYSICAL_ADDRESS type for physical address.
156 * ntoskrnl/mm/wset.c (MmTrimUserMemory): Changes to use
157 PHYSICAL_ADDRESS type for physical address.
158 * ntoskrnl/mm/page.c (Mmi386ReleaseMmInfo, MmCopyMmInfo,
159 MmGetPhysicalAddressForProcess, MmCreateVirtualMapping,
160 MmCreateVirtualMappingUnsafe, MmCreateVirtualMappingForProcess,
161 MmDeleteVirtualMapping): Changes to use PHYSICAL_ADDRESS type for
162 physical address.
163 * ntoskrnl/ps/process (PsInitProcessManagment): Changes to use
164 PHYSICAL_ADDRESS type for physical address.
165 * ntoskrnl/ps/thread.c (PsAllocateCallbackStack): Changes to use
166 PHYSICAL_ADDRESS type for physical address.
167
168 2002-06-04 David Welch <welch@cwcom.net>
169
170 * Lots of change since the ChangeLog was last updated.
171
172 2001-03-18 David Welch <welch@cwcom.net>
173
174 * ntoskrnl/ke/apc.c (KiDeliverApc): Bug fix.
175 * ntoskrnl/ke/apc.c (KeInsertQueueApc): More comments.
176 * ntoskrnl/ke/catch.c (KiDispatchException): Bug fix.
177 * ntoskrnl/ke/timer.c (KeDelayExecutionThread): Don't use removed
178 function KeAddTimeoutThread.
179 * ntoskrnl/ke/timer.c (KeAddTimeoutThread): Removed.
180 * ntoskrnl/ke/wait.c (KeWaitForSingleObject, KeWaitForMultipleObjects):
181 Don't use KeAddTimeoutThread.
182 * ntoskrnl/mm/freelist.c (MmAllocateContiguousAlignedMemory): Bug fix
183 * ntoskrnl/mm/freelist.c (MmAllocatePage): Allocate from the top
184 memory.
185
186 2001-03-17 David Welch <welch@cwcom.net>
187
188 * ntoskrnl/ke/catch.c (KiDispatchException): Implementation of
189 exception handling, user-mode only.
190
191 2001-03-16 David Welch <welch@cwcom.net>
192
193 * include/ddk/zw.h: Corrected declarations of NtCreateProfile,
194 NtQueryIntervalProfile, NtSetIntervalProfile.
195 * include/ddk/zwtypes.h: Added definitions of KPROFILE_SOURCE.
196 * ntoskrnl/include/internal/ke.h: Added the interrupted EIP as a
197 parameter to KiUpdateSystemTime for profiling purposes.
198 * ntoskrnl/include/internal/nt: Added declaration for profiling
199 support initialization.
200 * ntoskrnl/ke/timer.c (KiUpdateSystemTime, KeExpireTimers): Call
201 the profiling code on a timer interrupt with the interrupt EIP.
202 * ntoskrnl/ke/i386/irq.c (KiDispatchInterrupt): Pass the interrupted
203 EIP to KiUpdateSystemTime.
204 * ntoskrnl/mm/virtual.c (NtReadVirtualMemory, NtWriteVirtualMemory):
205 Release the MDLs used properly.
206 * ntoskrnl/nt/nt.c: Call the profiling support initialization.
207 * ntoskrnl/nt/ntevent.c (NtCreateEvent): Don't try copying the
208 ObjectAttributes parameter if it is NULL.
209 * ntoskrnl/nt/profile.c: Implemented profiling.
210
211 2001-03-16 David Welch <welch@cwcom.net>
212
213 * ntoskrnl/include/internal/safe.h: Corrected typo.
214 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):
215 Corrected typos.
216 * ntoskrnl/rtl/mem.c: Missing header file.
217
218 2001-03-16 David Welch <welch@cwcom.net>
219
220 * ntoskrnl/include/internal/safe.h: Add definitions for handling
221 potentially unsafe pointers.
222
223 2001-03-16 David Welch <welch@cwcom.net>
224
225 * ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and
226 MmSafeCopyFromUser as source files need these but don't want internal
227 mm definitions.
228 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,
229 NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from
230 user mode safely.
231 * ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper
232 functions for copying data to and from potentially unsafe pointers.
233
234 2000-12-23 David Welch <welch@cwcom.net>
235
236 * All task switching is done in software.
237 * Beginnings of v86 mode support.
238
239 2000-12-22 David Welch <welch@cwcom.net>
240
241 * ntoskrnl/ps/kill.c (PiTerminateProcessThreads): Drop
242 PiThreadListLock before calling PsTerminateOtherThread
243
244 2000-12-16 David Welch <welch@cwcom.net>
245
246 * ntoskrnl/ex/fmutex.c (ExReleaseFastMutexUnsafe): Only set the
247 fast mutex's owner back to NULL if it is being released
248
249 2000-12-10 David Welch <welch@cwcom.net>
250
251 * ntoskrnl/ke/i386/vm86_sup.S (Ki386RetToV86Mode): Added function
252 to do the raw switch to v86 mode.
253 * ntoskrnl/include/internal/vm86.h: Definitions for the v86 mode
254 support.
255
256 2000-12-10 David Welch <welch@cwcom.net>
257
258 * ntoskrnl/ke/i386/trap.s (PsBeginThreadWithContextInternal): Moved
259 to ntoskrnl/ke/i386/bswitch.S.
260 * ntoskrnl/ke/i386/trap.s (interrupt_handler2e): Moved to
261 ntoskrnl/ke/i386/syscall.S.
262 * ntoskrnl/ke/i386/trap.s (old_interrupt_handler2e): Removed.
263
264 2000-12-04 David Welch <welch@cwcom.net>
265
266 * ntoskrnl/ke/i386/irq.c (KiInterruptDispatch): Record the last PC
267 value for a rescheduled thread.
268 * ntoskrnl/ke/i386/irqhand.s: Construct a primitive trap frame
269 in interrupt handlers.
270
271 2000-08-30 David Welch <welch@cwcom.net>
272
273 * Added calibration of KeStallExecutionProcessor timing
274 (code from linux 2.2.16).
275
276 * Corrected compilation bugs in user32 library.
277
278 * Corrected compilation bugs related to anonymous structs
279 in ndis code.
280
281 * Pass command line to kernel from loadros.
282
283 * Corrected PIC mask calculation.
284
285 2000-05-27 David Welch <welch@cwcom.net>
286
287 * Fixed issue with closing non-existent or already closed
288 handle.
289
290 2000-01-26 David Welch <welch@cwcom.net>
291
292 * ZwCreateProcess now maps ntdll rather than the user-mode
293 code.
294
295 1999-09-06 David Welch <welch@cwcom.net>
296
297 * Implemented ZwOpenProcess.
298
299 * Partially implemented killing other threads (possible memory
300 leaks).
301
302 * Made a start on a proper implemention of APCs (based on
303 article in NT insider).
304
305 1998-12-08 David Welch <welch@cwcom.net>
306
307 * Corrected bug in shell (Read two keypresses and assumed they
308 where the key going up and down respectively).
309
310 * Corrected race in dpc handling.
311
312 * Took out cleanup sections in ZwReadFile (now handled by the
313 APC).
314
315 * Disabled broken code in kernel32.
316
317
318
319
320
321
322
323
324
325