1 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
3 * tools/help.mk: Make the install target depend on all the
6 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
8 * ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the
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
14 * ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to
15 free a stack allocated with PsAllocateCallbackStack.
17 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
19 * drivers/dd/null/makefile: Commented out local LDFLAGS as
20 these cause bad relocations in the stripped image.
22 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
24 * config: Corrected spelling error.
26 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
28 * subsys/system/winlogon/winlogon.c (WinMain): Check for
29 failure when creating a window system.
31 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
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.
40 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
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
49 * ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all
50 page operations to finish before freeing the memory area.
52 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
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.
58 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
60 * lib/user32/misc/winsta.c: Cleaned up indentation.
62 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
64 * apps/tests/winhello/winhello.c (WinMain, MainWndProc):
65 Cleaned up formatting, some more error checks.
67 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
69 * ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,
70 MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.
72 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
74 * ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3
77 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
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.
83 2002-06-04 David Welch <welch@cwcom.net>
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
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
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
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
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
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.
168 2002-06-04 David Welch <welch@cwcom.net>
170 * Lots of change since the ChangeLog was last updated.
172 2001-03-18 David Welch <welch@cwcom.net>
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
186 2001-03-17 David Welch <welch@cwcom.net>
188 * ntoskrnl/ke/catch.c (KiDispatchException): Implementation of
189 exception handling, user-mode only.
191 2001-03-16 David Welch <welch@cwcom.net>
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.
211 2001-03-16 David Welch <welch@cwcom.net>
213 * ntoskrnl/include/internal/safe.h: Corrected typo.
214 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):
216 * ntoskrnl/rtl/mem.c: Missing header file.
218 2001-03-16 David Welch <welch@cwcom.net>
220 * ntoskrnl/include/internal/safe.h: Add definitions for handling
221 potentially unsafe pointers.
223 2001-03-16 David Welch <welch@cwcom.net>
225 * ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and
226 MmSafeCopyFromUser as source files need these but don't want internal
228 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,
229 NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from
231 * ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper
232 functions for copying data to and from potentially unsafe pointers.
234 2000-12-23 David Welch <welch@cwcom.net>
236 * All task switching is done in software.
237 * Beginnings of v86 mode support.
239 2000-12-22 David Welch <welch@cwcom.net>
241 * ntoskrnl/ps/kill.c (PiTerminateProcessThreads): Drop
242 PiThreadListLock before calling PsTerminateOtherThread
244 2000-12-16 David Welch <welch@cwcom.net>
246 * ntoskrnl/ex/fmutex.c (ExReleaseFastMutexUnsafe): Only set the
247 fast mutex's owner back to NULL if it is being released
249 2000-12-10 David Welch <welch@cwcom.net>
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
256 2000-12-10 David Welch <welch@cwcom.net>
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.
264 2000-12-04 David Welch <welch@cwcom.net>
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.
271 2000-08-30 David Welch <welch@cwcom.net>
273 * Added calibration of KeStallExecutionProcessor timing
274 (code from linux 2.2.16).
276 * Corrected compilation bugs in user32 library.
278 * Corrected compilation bugs related to anonymous structs
281 * Pass command line to kernel from loadros.
283 * Corrected PIC mask calculation.
285 2000-05-27 David Welch <welch@cwcom.net>
287 * Fixed issue with closing non-existent or already closed
290 2000-01-26 David Welch <welch@cwcom.net>
292 * ZwCreateProcess now maps ntdll rather than the user-mode
295 1999-09-06 David Welch <welch@cwcom.net>
297 * Implemented ZwOpenProcess.
299 * Partially implemented killing other threads (possible memory
302 * Made a start on a proper implemention of APCs (based on
303 article in NT insider).
305 1998-12-08 David Welch <welch@cwcom.net>
307 * Corrected bug in shell (Read two keypresses and assumed they
308 where the key going up and down respectively).
310 * Corrected race in dpc handling.
312 * Took out cleanup sections in ZwReadFile (now handled by the
315 * Disabled broken code in kernel32.