2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
[reactos.git] / reactos / ChangeLog
1 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
2
3 * lib/ntdll/rtl/nls.c (RtlCustomCPToUnicodeN, RtlMultiByteToUnicodeN,
4 RtlOemToUnicodeN, RtlUnicodeToCustomCPN, RtlUnicodeToMultiByteN,
5 RtlUnicodeToMultiByteSize, RtlUnicodeToOemN,
6 RtlUpcaseUnicodeToCustomCPN, RtlUpcaseUnicodeToMultiByteN,
7 RtlUpcaseUnicodeToOemN): Assert when unimplemented code is reached.
8
9 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
10
11 * include/ntos/zwtypes.h (FILE_BASIC_INFORMATION): Use LARGE_INTEGER,
12 not TIME type for time fields.
13 * lib/kernel32/file/copy.c (SetLastWriteTime): Adjust for new type.
14 (CopyFileExW): Ditto.
15
16 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
17
18 * include/ntos/types.h (FALSE): Protect with #ifndef FALSE.
19 (TRUE): Protect with #ifndef TRUE.
20
21 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
22
23 * include/napi/i386/segment.h (put_user, get_user,
24 bad_user_access_length, __segment_dummy, __sd, __const_sd, __put_user,
25 __get_user, __generic_memcpy_tofs, __constant_memcpy_tofs, COMMON,
26 __generic_memcpy_fromfs, __constant_memcpy_fromfs, memcpy_fromfs,
27 memcpy_tofs, get_fs_byte, get_fs_word, get_fs_long, put_fs_byte,
28 put_fs_word, put_fs_long, get_user_word, get_user_byte, get_user_long,
29 put_user_byte, put_user_word, put_user_long, get_fs, get_ds, set_fs,
30 set_ds): Remove.
31
32 2003-03-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
33
34 * include/ddk/pstypes.h (TLS_OUT_OF_INDEXES): Define.
35
36 2003-02-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
37
38 * ntoskrnl/cc/view.c (CcRosFlushDirtyPages): Treat a write attempt with
39 a return value of STATUS_END_OF_FILE as a successful write.
40 * ntoskrnl/cc/copy.c (WriteCacheSegment): Ditto.
41
42 2003-02-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
43
44 * ntoskrnl/cm/regfile.c (CmiRemoveSubKey): Kill warnings.
45 (CmiMergeFree): Ditto.
46
47 2003-02-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
48
49 * include/structs.h (OSVERSIONINFOEXA): Expand definition of
50 OSVERSIONINFOA.
51 (OSVERSIONINFOEXW): Expand definition of OSVERSIONINFOW.
52 * lib/msafd/misc/helpers.c (LocateHelperDLL): Cast AddressFamily,
53 SocketType, and Protocol to INT.
54 * lib/ws2_32/misc/catalog.c (LocateProvider): Ditto.
55
56 2003-01-16 Casper S. Hornstrup <chorns@users.sourceforge.net>
57
58 * ntoskrnl/dbg/profile.c (KdbProfilerThreadMain): Make STDCALL.
59
60 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
61
62 * drivers/net/tcpip/makefile (TCP_OBJECTS): Add transport/tcp/tcpcore.o,
63 transport/tcp/tcp_input.o, transport/tcp/tcp_ipv4.o,
64 transport/tcp/tcp_output.o, and transport/tcp/tcp_timer.o.
65 * drivers/net/tcpip/transport/tcp/tcp.c (TCPStartup): Call tcp_init().
66 * drivers/net/tcpip/include/linux.h: New file.
67 * drivers/net/tcpip/include/tcpcore.h: Ditto.
68 * drivers/net/tcpip/include/tcpdef.h: Ditto.
69 * drivers/net/tcpip/transport/tcp/tcp_input.c: Ditto.
70 * drivers/net/tcpip/transport/tcp/tcp_ipv4.c: Ditto.
71 * drivers/net/tcpip/transport/tcp/tcp_output.c: Ditto.
72 * drivers/net/tcpip/transport/tcp/tcp_timer.c: Ditto.
73 * drivers/net/tcpip/transport/tcp/tcpcore.c: Ditto.
74
75 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
76
77 * lib/kernel32/k32.h: New file.
78 * lib/kernel32/makefile (TARGET_CFLAGS): Add -I./.
79 (TARGET_PCH): Set to k32.h.
80 * lib/kernel32/except/except.c: Use <k32.h>.
81 * lib/kernel32/file/backup.c: Ditto.
82 * lib/kernel32/file/cnotify.c: Ditto.
83 * lib/kernel32/file/copy.c: Ditto.
84 * lib/kernel32/file/create.c: Ditto.
85 * lib/kernel32/file/curdir.c: Ditto.
86 * lib/kernel32/file/delete.c: Ditto.
87 * lib/kernel32/file/deviceio.c: Ditto.
88 * lib/kernel32/file/dir.c: Ditto.
89 * lib/kernel32/file/dosdev.c: Ditto.
90 * lib/kernel32/file/file.c: Ditto.
91 * lib/kernel32/file/find.c: Ditto.
92 * lib/kernel32/file/iocompl.c: Ditto.
93 * lib/kernel32/file/lfile.c: Ditto.
94 * lib/kernel32/file/lock.c: Ditto.
95 * lib/kernel32/file/mailslot.c: Ditto.
96 * lib/kernel32/file/move.c: Ditto.
97 * lib/kernel32/file/npipe.c: Ditto.
98 * lib/kernel32/file/pipe.c: Ditto.
99 * lib/kernel32/file/rw.c: Ditto.
100 * lib/kernel32/file/tape.c: Ditto.
101 * lib/kernel32/file/volume.c: Ditto.
102 * lib/kernel32/mem/global.c: Ditto.
103 * lib/kernel32/mem/heap.c: Ditto.
104 * lib/kernel32/mem/isbad.c: Ditto.
105 * lib/kernel32/mem/local.c: Ditto.
106 * lib/kernel32/mem/procmem.c: Ditto.
107 * lib/kernel32/mem/section.c: Ditto.
108 * lib/kernel32/mem/virtual.c: Ditto.
109 * lib/kernel32/misc/atom.c: Ditto.
110 * lib/kernel32/misc/comm.c: Ditto.
111 * lib/kernel32/misc/console.c: Ditto.
112 * lib/kernel32/misc/debug.c: Ditto.
113 * lib/kernel32/misc/dllmain.c: Ditto.
114 * lib/kernel32/misc/env.c: Ditto.
115 * lib/kernel32/misc/error.c: Ditto.
116 * lib/kernel32/misc/handle.c: Ditto.
117 * lib/kernel32/misc/ldr.c: Ditto.
118 * lib/kernel32/misc/profile.c: Ditto.
119 * lib/kernel32/misc/res.c: Ditto.
120 * lib/kernel32/misc/stubs.c: Ditto.
121 * lib/kernel32/misc/sysinfo.c: Ditto.
122 * lib/kernel32/misc/time.c: Ditto.
123 * lib/kernel32/process/cmdline.c: Ditto.
124 * lib/kernel32/process/create.c: Ditto.
125 * lib/kernel32/process/proc.c: Ditto.
126 * lib/kernel32/process/session.c: Ditto.
127 * lib/kernel32/string/lstring.c: Ditto.
128 * lib/kernel32/synch/critical.c: Ditto.
129 * lib/kernel32/synch/event.c: Ditto.
130 * lib/kernel32/synch/intrlck.c: Ditto.
131 * lib/kernel32/synch/mutex.c: Ditto.
132 * lib/kernel32/synch/sem.c: Ditto.
133 * lib/kernel32/synch/timer.c: Ditto.
134 * lib/kernel32/synch/wait.c: Ditto.
135 * lib/kernel32/thread/fiber.c: Ditto.
136 * lib/kernel32/thread/thread.c: Ditto.
137 * lib/kernel32/thread/tls.c: Ditto.
138
139 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
140
141 * apps/testsets/Makefile (TEST_SETS): Remove ldr.
142 * include/msvcrt/ctype.h (towupper): Make returntype wchar_t.
143
144 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
145
146 * tools/rtouch.c: Include <sys/utime.h>, not <utime.h>.
147
148 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
149
150 * tools/rtouch.c: New file.
151 * rules.mak (ROS_USE_PCH): Default to no.
152 (RTOUCH): Define.
153 * tools/Makefile: Add rtouch utility.
154 * tools/helper.mk: Support precompiled headers.
155
156 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
157
158 * ntoskrnl/dbg/profile.c: New file.
159 * ntoskrnl/Makefile (OBJECTS_KDBG): Add dbg/profile.o.
160 * ntoskrnl/dbg/kdb.h: Define NTOS_MODE_KERNEL. Include <ntos.h>.
161 (LdrGetAddressInformation, KdbInitProfiling, KdbInitProfiling2,
162 KdbDisableProfiling, KdbEnableProfiling, KdbProfileInterrupt) Prototype.
163 * ntoskrnl/kd/kdebug.c (KdInitSystem): Add /PROFILE option if KDBG=1.
164 * ntoskrnl/ke/main.c (ExpInitializeExecutive): Call KdbInitProfiling2()
165 if KDBG=1.
166 * ntoskrnl/ke/i386/irq.c: Include <../dbg/kdb.h> if KDBG=1.
167 (KiInterruptDispatch): Call KdbProfileInterrupt() on timer interrupt
168 if KDBG=1.
169
170 2003-01-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
171
172 * drivers/fs/vfat/create.c (VfatSupersedeFile): Only notify cache manager
173 about change in file size if caching is initiated on the file stream.
174
175 2003-01-11 Casper S. Hornstrup <chorns@users.sourceforge.net>
176
177 * boot.bat: Use DOS end-of-line characters.
178
179 2003-01-02 Casper S. Hornstrup <chorns@users.sourceforge.net>
180
181 * ntoskrnl/ke/timer.c (KeExpireTimers): Avoid signed/unsigned comparison
182 warning.
183 * lib/user32/controls/scrollbar.c (SCROLL_DrawScrollBar): Put a statement
184 at end.
185
186 2002-12-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
187
188 * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Only uninitialize caching
189 when initialized.
190 * drivers/fs/vfat/fcb.c (vfatReleaseFCB): Ditto.
191 * lib/kernel32/mem/section.c (CreateFileMappingW): Pass NULL as
192 MaximumSize to NtCreateSection if dwMaximumSizeHigh and dwMaximumSizeLow
193 are both 0.
194 * ntoskrnl/cc/pin.c (CcMapData): Assert if Bcb is NULL.
195 * ntoskrnl/cc/view.c (CcRosReleaseCacheSegment, CcRosLookupCacheSegment,
196 CcRosMarkDirtyCacheSegment, CcRosUnmapCacheSegment,
197 CcRosCreateCacheSegment, CcRosGetCacheSegmentChain,
198 CcRosGetCacheSegment, CcRosRequestCacheSegment, CcFlushCache,
199 CcRosDeleteFileCache, CcRosReferenceCache, CcRosDereferenceCache,
200 CcRosReleaseFileCache, CcGetFileObjectFromSectionPtrs): Ditto.
201 * ntoskrnl/mm/section.c (MiReadPage): Assert if Fcb->Bcb is NULL.
202 (MmCreateDataFileSection): Make sure caching is initialized for the file
203 stream.
204
205 2002-11-15 Casper S. Hornstrup <chorns@users.sourceforge.net>
206
207 * include/ddk/ldrtypes.h: Move ...
208 * include/ntos/ldrtypes.h: ... here.
209 * include/ddk/ntddk.h: Include ldrtypes.h at new location.
210
211 2002-11-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
212
213 * drivers/bus/acpi/ospm/osl.c (acpi_os_readable, acpi_os_writable):
214 Match prototypes.
215 * include/ascii.h (AbortSystemShutdownA): Correct prototype.
216 * include/debug.h (assert): Wrap in #ifndef assert.
217 * include/funcs.h (AbortSystemShutdown): Remove duplicate prototype.
218 * include/ddk/rtltypes.h: Move ...
219 * include/ntos/rtltypes.h: ... here.
220 * include/ddk/rtl.h: Move ...
221 * include/ntos/rtl.h: ... here.
222 * include/ddk/zwtypes.h: Move ...
223 * include/ntos/zwtypes.h: ... here.
224 * include/ddk/zw.h: Move ...
225 * include/ntos/zw.h: ... here.
226 | include/ddk/cmfuncs.h: Remove file; Move NtCreateKey to ntos/zw.h.
227 * include/ntos.h: #include ntos/rtltypes.h, ntos/rtl.h, ntos/zwtypes.h,
228 and ntos/zw.h.
229 * include/unicode.h: (AbortSystemShutdownW): Correct prototype.
230 * include/ddk/ntddk.h: Include headers at new location; Don't include
231 removed files.
232 * include/defines.h: Wrap definitions in w32api in #ifndef __USE_W32API.
233 * include/ntos/zwtypes.h: Ditto.
234 * include/napi/lpc.h: Ditto.
235 * include/napi/shared_data.h: Ditto.
236 * include/napi/teb.h: Ditto.
237 * include/napi/types.h: Ditto.
238 * include/ntdll/ldr.h: Ditto.
239 * include/ntdll/rtl.h: Ditto.
240 * include/ntos/console.h: Ditto.
241 * include/ntos/disk.h: Ditto.
242 * include/ntos/except.h: Ditto.
243 * include/ntos/file.h: Ditto.
244 * include/ntos/gditypes.h: Ditto.
245 * include/ntos/heap.h: Ditto.
246 * include/ntos/keyboard.h: Ditto.
247 * include/ntos/mm.h: Ditto.
248 * include/ntos/ntdef.h: Ditto.
249 * include/ntos/ps.h: Ditto.
250 * include/ntos/registry.h: Ditto.
251 * include/ntos/security.h: Ditto.
252 * include/ntos/synch.h: Ditto.
253 * include/ntos/time.h: Ditto.
254 * include/ntos/types.h: Ditto.
255 * include/ntos/port.h: Ditto.
256 * lib/advapi32/misc/shutdown.c (AbortSystemShutdownW,
257 AbortSystemShutdownA): Correct prototype.
258 * lib/advapi32/reg/reg.c: #include ntos.h.
259 * lib/advapi32/sec/misc.c: Ditto.
260 * lib/advapi32/sec/sid.c: Ditto.
261 * lib/advapi32/service/sctrl.c: Ditto.
262 * lib/advapi32/token/token.c: Ditto.
263 * lib/kernel32/misc/dllmain.c: Ditto.
264 * ntoskrnl/ex/napi.c: Ditto.
265 * ntoskrnl/rtl/i386/exception.c: Ditto.
266 * lib/advapi32/sec/ac.c: Ditto.
267 (FindFirstFreeAce, GetAce): Change PACE* to PACE_HEADER*.
268 * lib/advapi32/service/scm.c (EnumServicesStatusExA,
269 EnumServicesStatusExW, QueryServiceStatusEx): Correct prototype.
270 * lib/ntdll/rtl/ppb.c (RtlDestroyProcessParameters): Match prototype.
271 * ntoskrnl/dbg/errinfo.c (DbgGetErrorText): Use %08x, not %08lx.
272 * ntoskrnl/io/arcname.c (IoCreateSystemRootLink): Use %u, not %lu.
273 * ntoskrnl/ke/main.c (ExpInitializeExecutive): Ditto.
274 * (_main): Use %d, not %ld.
275 * ntoskrnl/include/internal/i386/ke.h: Add #pragma GCC system_header.
276 * include/ddk/ntdef.h (NTSYSAPI, NTAPI, NTKERNELAPI): Define to STDCALL;
277 Check if already defined.
278 * include/base.h (STDCALL, CDECL, CALLBACK, PASCAL): Move to ntos/types.h.
279
280 2002-11-13 Rick Gaiser <RickG81@Wanadoo.nl>
281
282 * drivers/bus/isapnp/isapnp.c (FindNextReadPort): Increment Port before
283 checking wether port address is in NE2000 address space range and returning
284 port address value.
285
286 2002-11-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
287
288 * drivers/bus/acpi/include/acpi.h: Include platform/types.h.
289 * drivers/bus/acpi/include/actypes.h: (UINT8, BOOLEAN, UCHAR, UINT16,
290 INT32, UINT32, UINT64): Disable, use the OS defined types instead.
291 * drivers/bus/acpi/include/platform/types.h: Remove all types,
292 include ntos.h instead.
293 * drivers/bus/acpi/ospm/include/acpisys.h: Don't include
294 platform/types.h.
295
296 2002-11-10 Casper S. Hornstrup <chorns@users.sourceforge.net>
297
298 * include/defines.h: Fix warnings when bulding with gcc 3.3.
299 * include/ddk/status.h: Ditto.
300 * include/freetype/internal/ftdebug.h: Ditto.
301 * include/net/ndis.h: Ditto.
302 * lib/msafd/misc/helpers.c: Ditto.
303 * lib/user32/windows/defwnd.c: Ditto.
304 * lib/user32/windows/window.c: Ditto.
305 * ntoskrnl/cm/ntfunc.c: Ditto.
306 * ntoskrnl/cm/regfile.c: Ditto.
307 * ntoskrnl/cm/regobj.c: Ditto.
308 * ntoskrnl/dbg/errinfo.c: Ditto.
309 * ntoskrnl/ex/hashtab.c: Ditto.
310 * ntoskrnl/include/internal/mm.h: Ditto.
311 * ntoskrnl/io/irp.c: Ditto.
312 * ntoskrnl/kd/gdbstub.c: Ditto.
313 * ntoskrnl/ke/queue.c: Ditto.
314 * ntoskrnl/ke/sem.c: Ditto.
315 * ntoskrnl/ldr/resource.c: Ditto.
316 * ntoskrnl/mm/balance.c: Ditto.
317 * ntoskrnl/mm/freelist.c: Ditto.
318 * ntoskrnl/mm/mdl.c: Ditto.
319 * ntoskrnl/mm/npool.c: Ditto.
320 * ntoskrnl/mm/section.c: Ditto.
321 * ntoskrnl/rtl/error.c: Ditto.
322 * ntoskrnl/rtl/mem.c: Ditto.
323 * ntoskrnl/rtl/string.c: Ditto.
324 * ntoskrnl/rtl/time.c: Ditto.
325 * ntoskrnl/rtl/unicode.c: Ditto.
326 * ntoskrnl/rtl/wstring.c: Ditto.
327 * ntoskrnl/rtl/i386/exception.c: Ditto.
328 * subsys/win32k/freetype/src/base/ftinit.c: Ditto.
329
330 2002-11-03 Casper S. Hornstrup <chorns@users.sourceforge.net>
331
332 * apps/tests/lpc/lpcclt.c: Change LPC_MESSAGE_HEADER to LPC_MESSAGE.
333 * include/csrss/csrss.h: Ditto.
334 * include/lsass/lsass.h: Ditto.
335 * include/napi/dbg.h: Ditto.
336 * include/napi/lpc.h: Ditto.
337 * lib/kernel32/misc/console.c: Ditto.
338 * lib/ntdll/csr/lpc.c: Ditto.
339 * lib/ntdll/dbg/debug.c: Ditto.
340 * lib/secur32/lsa.c: Ditto.
341 * ntoskrnl/dbg/user.c: Ditto.
342 * ntoskrnl/include/internal/port.h: Ditto.
343 * ntoskrnl/lpc/connect.c: Ditto.
344 * ntoskrnl/lpc/reply.c: Ditto.
345 * ntoskrnl/ps/process.c: Ditto.
346 * subsys/csrss/api/conio.c: Ditto.
347 * subsys/csrss/api/process.c: Ditto.
348 * subsys/csrss/api/user.c: Ditto.
349
350 2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
351
352 * lib/msvcrt/except/seh.s: Fix end-of-line formatting.
353 * lib/ntdll/rtl/i386/exception.c: Ditto.
354 * lib/ntdll/rtl/i386/except.s: Ditto.
355 * ntoskrnl/rtl/i386/except.s: Ditto.
356 * ntoskrnl/rtl/i386/seh.s: Ditto.
357
358 2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
359
360 * lib/msvcrt/Makefile (OBJECTS_EXCEPT): Add except/seh.o; Remove
361 except/exhand3.o.
362 * lib/msvcrt/except/exhand2.c (MsvcrtDebug): New function.
363 * lib/msvcrt/except/unwind.c (PEXCEPTION_FRAME): Remove.
364 (_global_unwind2): Correct prototype.
365 * lib/ntdll/makefile (RTL_I386_OBJECTS, ARCH_OBJECTS): New groups.
366 (TARGET_OBJECTS): Add ARCH_OBJECTS group.
367 * lib/ntdll/rtl/exception.c (KiUserExceptionDispatcher): Set
368 NumberParameters in exception record.
369 (RtlRaiseStatus): Remove.
370 * ntoskrnl/Makefile (OBJECTS_RTL): Remove rtl/seh.o.
371 (OBJECTS_RTL_I386): Add rtl/i386/except.o, rtl/i386/exception.o, and
372 rtl/i386/seh.o.
373 * ntoskrnl/ke/catch.c (RtlpExecuteHandlerForException,
374 RtlpDumpExceptionRegistrations, RtlpDispatchException,
375 RtlpExecuteHandler, RtlpExceptionHandler, RtlpUnwindHandler,
376 RtlpExecuteHandlerForException, RtlpExecuteHandlerForUnwind,
377 RtlUnwind): Remove.
378 (RtlpDispatchException): Add prototype.
379 * ntoskrnl/ke/i386/usertrap.c (ExceptionTypeStrings): Remove.
380 * ntoskrnl/ps/create.c (PsCreateTeb): Mark end of exception
381 registration list.
382 * tools/helper.mk (TARGET_ASFLAGS): Add -g if DBG = 1.
383 * lib/msvcrt/except/exhand3.c: Remove.
384 * ntoskrnl/rtl/seh.c: Ditto.
385 * lib/msvcrt/except/seh.s: New file.
386 * lib/ntdll/rtl/i386/except.s: Ditto.
387 * lib/ntdll/rtl/i386/exception.c: Ditto.
388 * ntoskrnl/rtl/i386/except.s: Ditto.
389 * ntoskrnl/rtl/i386/exception.c: Ditto.
390 * ntoskrnl/rtl/i386/seh.s: Ditto.
391
392 2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
393
394 * lib/kernel32/process/create.c (_except_handler): New function.
395 (BaseProcessStart): Ditto.
396 (KlCreateFirstThread): Return INVALID_HANDLE_VALUE on error; Call
397 BaseProcessStart() before process entry point.
398 * lib/kernel32/thread/thread.c (_except_handler): New function.
399 (ThreadStartup): Protect thread using SEH constructs.
400
401 2002-10-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
402
403 * include/ddk/zw.h (NtProcessStartup): Use standard calling convention.
404 * subsys/csrss/csrss.c (NtProcessStartup): Ditto.
405 * subsys/smss/smss.c (NtProcessStartup): Ditto.
406 * subsys/system/autochk/autochk.c (NtProcessStartup): Ditto.
407 * subsys/system/usetup/usetup.c (NtProcessStartup): Ditto.
408
409 2002-10-25 Casper S. Hornstrup <chorns@users.sourceforge.net>
410
411 * apps/tests/tokentest/tokentest.c (ROS_ACE_HEADER): Move field
412 AccessMask ...
413 (ROS_ACE): ... here.
414 (DisplayDacl): Make pAce an ROS_ACE*; Use new path for AceType; Use
415 sizeof(ACE) instead of sizeof(ACE_HEADER).
416 * include/ntos/security.h (ACE_HEADER): Move field AccessMask ...
417 (ACE): ... here.
418 * lib/ntdll/rtl/acl.c: Use new path for AccessMask.
419 * ntoskrnl/se/semgr.c: Ditto.
420 * ntoskrnl/se/acl.c (SepInitDACLs): Use new path for AccessMask; Use
421 sizeof(ACE) instead of sizeof(ACE_HEADER).
422 * ntoskrnl/se/token.c (SepCreateSystemProcessToken): Use sizeof(ACE)
423 instead of sizeof(ACE_HEADER).
424
425 2002-10-20 Casper S. Hornstrup <chorns@users.sourceforge.net>
426
427 * include/napi/teb.h (RTL_USER_PROCESS_PARAMETERS): Use field names
428 as described in Windows NT/2000 Native API Reference.
429 * lib/kernel32/file/file.c: Use new field names.
430 * lib/kernel32/misc/console.c: Ditto.
431 * lib/kernel32/process/create.c: Ditto.
432 * lib/kernel32/process/proc.c: Ditto.
433 * lib/ntdll/rtl/path.c: Ditto.
434 * lib/ntdll/rtl/ppb.c: Ditto.
435 * lib/ntdll/rtl/process.c: Ditto.
436
437 2002-10-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
438
439 * include/ntos.h: Include relevant files.
440 * include/internal/ke.h: Include files relative to
441 ntoskrnl/include.
442 * include/internal/arch/ke.h: Ditto.
443
444 2002-10-01 Casper S. Hornstrup <chorns@users.sourceforge.net>
445
446 * drivers/dd/floppy/floppy.c: Changed PAGESIZE to PAGE_SIZE.
447 * drivers/fs/cdfs/fcb.c: Ditto.
448 * drivers/fs/cdfs/fsctl.c: Ditto.
449 * drivers/fs/cdfs/rw.c: Ditto.
450 * drivers/fs/ext2/dir.c: Ditto.
451 * drivers/fs/ext2/inode.c: Ditto.
452 * drivers/fs/ext2/rw.c: Ditto.
453 * drivers/fs/ext2/super.c: Ditto.
454 * drivers/fs/minix/blockdev.c: Ditto.
455 * drivers/fs/minix/cache.c: Ditto.
456 * drivers/fs/minix/inode.c: Ditto.
457 * drivers/fs/minix/rw.c: Ditto.
458 * drivers/fs/ntfs/fcb.c: Ditto.
459 * drivers/fs/ntfs/ntfs.h: Ditto.
460 * drivers/fs/vfat/create.c: Ditto.
461 * drivers/fs/vfat/direntry.c: Ditto.
462 * drivers/fs/vfat/dirwr.c: Ditto.
463 * drivers/fs/vfat/fat.c: Ditto.
464 * drivers/fs/vfat/fcb.c: Ditto.
465 * drivers/fs/vfat/fsctl.c: Ditto.
466 * drivers/fs/vfat/rw.c: Ditto.
467 * drivers/storage/class2/class2.c: Ditto.
468 * drivers/storage/scsiport/scsiport.c: Ditto.
469 * hal/halx86/adapter.c: Ditto.
470 * hal/halx86/mp.c: Ditto.
471 * include/ddk/mmfuncs.h: Ditto.
472 * include/ddk/mmtypes.h: Ditto.
473 * include/ddk/i386/pagesize.h: Ditto.
474 * include/ntdll/pagesize.h: Ditto.
475 * lib/kernel32/process/create.c: Ditto.
476 * lib/kernel32/thread/thread.c: Ditto.
477 * lib/ntdll/ldr/utils.c: Ditto.
478 * lib/ntdll/rtl/env.c: Ditto.
479 * lib/ntdll/rtl/heap.c: Ditto.
480 * lib/ntdll/rtl/ppb.c: Ditto.
481 * lib/ntdll/rtl/process.c: Ditto.
482 * lib/ntdll/rtl/thread.c: Ditto.
483 * ntoskrnl/cc/copy.c: Ditto.
484 * ntoskrnl/cc/view.c: Ditto.
485 * ntoskrnl/ex/sysinfo.c: Ditto.
486 * ntoskrnl/include/internal/i386/mm.h: Ditto.
487 * ntoskrnl/io/mdl.c: Ditto.
488 * ntoskrnl/ke/kthread.c: Ditto.
489 * ntoskrnl/ke/i386/kernel.c: Ditto.
490 * ntoskrnl/ldr/init.c: Ditto.
491 * ntoskrnl/ldr/loader.c: Ditto.
492 * ntoskrnl/mm/anonmem.c: Ditto.
493 * ntoskrnl/mm/cont.c: Ditto.
494 * ntoskrnl/mm/freelist.c: Ditto.
495 * ntoskrnl/mm/iospace.c: Ditto.
496 * ntoskrnl/mm/kmap.c: Ditto.
497 * ntoskrnl/mm/marea.c: Ditto.
498 * ntoskrnl/mm/mdl.c: Ditto.
499 * ntoskrnl/mm/mminit.c: Ditto.
500 * ntoskrnl/mm/ncache.c: Ditto.
501 * ntoskrnl/mm/npool.c: Ditto.
502 * ntoskrnl/mm/pagefile.c: Ditto.
503 * ntoskrnl/mm/pageop.c: Ditto.
504 * ntoskrnl/mm/section.c: Ditto.
505 * ntoskrnl/mm/slab.c: Ditto.
506 * ntoskrnl/mm/i386/page.c: Ditto.
507 * ntoskrnl/ob/handle.c: Ditto.
508 * ntoskrnl/ps/create.c: Ditto.
509 * ntoskrnl/ps/process.c: Ditto.
510 * ntoskrnl/ps/w32call.c: Ditto.
511 * subsys/win32k/include/object.h: Ditto.
512
513 2002-10-01 Casper S. Hornstrup <chorns@users.sourceforge.net>
514
515 * lib/ntdll/string/ctype.c: Undefine __MSVCRT__ to not have mingw
516 runtime import _pctype.
517
518 2002-09-30 Casper S. Hornstrup <chorns@users.sourceforge.net>
519
520 * lib/user32/misc/desktop.c (string.h): Include.
521 * lib/user32/misc/resources.c: Ditto.
522 * lib/user32/misc/winhelp.c: Ditto.
523 * lib/user32/windows/accel.c: Ditto.
524 * lib/user32/windows/bitmap.c: Ditto.
525 * subsys/win32k/freetype/ctype.c: Undefine __MSVCRT__ and _pctype to not
526 have mingw runtime import _pctype.
527
528 2002-09-30 Casper S. Hornstrup <chorns@users.sourceforge.net>
529
530 * ntoskrnl/cc/view.c (alloca): Prototype.
531 * ntoskrnl/rtl/ctype.c: Undefine __MSVCRT__ to not have mingw runtime
532 import _pctype.
533
534 2002-08-26 David Welch <welch@computer2.darkstar.org>
535
536 * lib/gdi32/misc/dllmain.c (GdiDllInitialize): Don't initialize
537 win32k.sys for each process.
538 * subsys/csrss/init.c (CsrServerInitialization): Initialize
539 win32k.sys as well.
540
541 2002-08-26 David Welch <welch@computer2.darkstar.org>
542
543 * ntoskrnl/ps/process.c (NtCreateProcess): Reference the
544 parent process's handle using ExGetPreviousMode.
545
546 2002-08-26 David Welch <welch@computer2.darkstar.org>
547
548 * lib/user32/misc/dllmain.c (Init): Initialize gdi32 as well.
549
550 2002-08-26 David Welch <welch@computer2.darkstar.org>
551
552 * iface/addsys/genw32k.c (main, process): Generate a set of
553 stubs for csrss as well.
554
555 2002-08-26 David Welch <welch@computer2.darkstar.org>
556
557 * lib/kernel32/process/create.c (CreateProcessW): Initialize
558 all the members of the new process's PPB.
559
560 2002-08-17 David Welch <welch@computer2.darkstar.org>
561
562 * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): Ensure the
563 process isn't freed in the middle of our operations.
564
565 2002-08-17 David Welch <welch@computer2.darkstar.org>
566
567 * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation): Fixed.
568
569 2002-08-17 David Welch <welch@computer2.darkstar.org>
570
571 * ntoskrnl/ps/create.c (PiDeleteThread): Don't dereference
572 the thread's process while holding the thread list lock.
573
574 2002-08-17 David Welch <welch@computer2.darkstar.org>
575
576 * ntoskrnl/mm/section.c (MmMapViewOfSection): Check there is
577 enough space for all parts of an image before mapping it; if
578 there isn't enough space free at the preferred base address
579 then try to choose a different one.
580
581 2002-08-17 David Welch <welch@computer2.darkstar.org>
582
583 * ntoskrnl/mm/mpw.c (MmInitMpwThread): Run the MPW thread at
584 idle priority.
585
586 2002-08-17 David Welch <welch@computer2.darkstar.org>
587
588 * ntoskrnl/mm/kmap.c (ExUnmapPage, ExAllocatePageWithPhysPage,
589 MiFreeNonPagedPoolRegion, MiAllocNonPagedPoolRegion): Maintain
590 a hint of the next free page; makes running with whole page
591 allocation more bearable.
592
593 2002-08-17 David Welch <welch@computer2.darkstar.org>
594
595 * ntoskrnl/mm/anonmem.c (MmPageOutVirtualMemory): Show an
596 out of swap space message if we are out of swap space.
597 * ntoskrnl/mm/section.c (MmPageOutSectionView): Show an
598 out of swap space message if we are out of swap space.
599 * ntoskrnl/mm/pagefile.c (MmAllocSwapPage): Don't automatically
600 show an out of swap space message on failure.
601 * ntoskrnl/mm/pagefile.c (MmShowOutOfSpaceMessagePagingFile): New
602 function to notify the user that the pagefile is full.
603
604 2002-08-17 David Welch <welch@computer2.darkstar.org>
605
606 * drivers/lib/zlib/Makefile: Create a dummy zlib.sym
607
608 2002-08-16 David Welch <welch@computer2.darkstar.org>
609
610 * ntoskrnl/mm/npool.c (ExAllocateWholePageBlock): Converted
611 to use PHYSICAL_ADDRESS type for page address.
612
613 2002-08-16 David Welch <welch@computer2.darkstar.org>
614
615 * subsys/win32k/ntuser/class.c (W32kCreateClass): Corrected
616 typo when calculating the offset into the class object to
617 put the class name string.
618
619 2002-08-16 David Welch <welch@computer2.darkstar.org>
620
621 * ntoskrnl/ps/thread.c (PsDispatchThreadNoLock): Don't call
622 the reaper function directly; set an event to wake up a seperate
623 reaper thread.
624 * ntoskrnl/ps/thread.c (PsReaperThreadMain): New function that
625 waits for a notification and then calls PsReapThreads.
626 * ntoskrnl/ps/thread.c (PsInitThreadManagement): Create the
627 reaper thread.
628
629 2002-08-15 David Welch <welch@computer2.darkstar.org>
630
631 * lib/advapi32/misc/dllmain.c (DllMain): Removed debug message.
632
633 2002-08-14 David Welch <welch@computer2.darkstar.org>
634
635 * subsys/smss/init.c (SmPagingFilesQueryRoutine): If possible
636 take the size of the paging file from the registry.
637
638 2002-08-14 David Welch <welch@computer2.darkstar.org>
639
640 * ntoskrnl/mm/section.c (MmCreateDataFileSection): Extend the
641 section if necessary.
642
643 2002-08-14 David Welch <welch@computer2.darkstar.org>
644
645 * ntoskrnl/mm/pagefile.c (NtCreatePagingFile): Set the file
646 size using the FileAllocationInformation class.
647
648 2002-08-14 David Welch <welch@computer2.darkstar.org>
649
650 * ntoskrnl/mm/anonmem.c (MmWritePageVirtualMemory): Implemented
651 function to write anonymous memory pages to the swap file.
652 * ntoskrnl/mm/anonmem.c (MmFreeVirtualMemoryPage): Free any
653 swap page associated with the page.
654 * ntoskrnl/mm/mpw.c (MmWriteDirtyPages): New function to find
655 pages to write to disk.
656 * ntoskrnl/mm/mpw.c (MmMpwThreadMain): Implemented MPW functionality.
657 * ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): New function
658 to write a single page back to disk.
659 * ntoskrnl/mm/rmap.c (MmSetCleanAllRmaps, MmSetDirtyAllRmaps,
660 MmIsDirtyPageRmap): New rmap function to support the MPW thread.
661 * ntoskrnl/mm/section.c (MmWritePageSectionView): Implemented
662 function to write back section pages.
663 * ntoskrnl/mm/section.c (MmFreeSectionPage): Free any swap
664 entry associated with the page; mark pages shared with
665 the cache as dirty if necessary.
666
667 2002-08-14 David Welch <welch@computer2.darkstar.org>
668
669 * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set name of
670 the module into the module text structure.
671
672 2002-08-14 David Welch <welch@computer2.darkstar.org>
673
674 * ntoskrnl/io/rw.c (NtReadFile, NtWriteFile): Use the correct
675 test for whether to wait for the completion of i/o.
676
677 2002-08-14 David Welch <welch@computer2.darkstar.org>
678
679 * ntoskrnl/cm/ntfunc.c (NtFlushKey): Request synchronous i/o
680 from NtOpenFile.
681 * ntoskrnl/cm/regfile (CmiInitPermanentRegistryHive): Request
682 synchronous i/o from NtCreateFile.
683 * ntoskrnl/dbg/kdb_stabs.c (LdrpLoadModuleSymbols): Request
684 synchronous i/o from NtOpenFile.
685 * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Request synchronous i/o
686 from NtOpenFile.
687
688 2002-08-14 David Welch <welch@computer2.darkstar.org>
689
690 * ntoskrnl/cc/view.c (CcRosSuggestFreeCacheSegment): Maintain the
691 correct reference count.
692
693 2002-08-14 David Welch <welch@computer2.darkstar.org>
694
695 * ntoskrnl/cc/view.c (CcRosFlushCacheSegment): New function to
696 write back a modified cache segment.
697 * ntoskrnl/cc/view.c (CcRosFlushDirtyPages): New function to
698 flush some dirty pages from the cache.
699 * ntoskrnl/cc/view.c (CcRosMarkDirtyCacheSegment): New function to
700 mark a cache segment modified while mapped into memory as dirty.
701
702 2002-08-14 David Welch <welch@computer2.darkstar.org>
703
704 * ntoskrnl/cc/pin.c (CcMapData, CcUnpinData, CcSetDirtyPinnedData):
705 Store the dirty status in the BCB; don't write back dirty data
706 immediately.
707
708 2002-08-14 David Welch <welch@computer2.darkstar.org>
709
710 * include/ntos/mm.h: Added SEC_XXXX defines from 'Windows NT/2000
711 Native API Reference'
712
713 2002-08-14 David Welch <welch@computer2.darkstar.org>
714
715 * drivers/fs/vfat/ea.c (VfatSetExtendedAttributes): Empty
716 placeholder for extended attribute functions.
717
718 2002-08-14 David Welch <welch@computer2.darkstar.org>
719
720 * drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation):
721 Added function to set allocation size.
722
723 2002-08-14 David Welch <welch@computer2.darkstar.org>
724
725 * drivers/fs/vfat/fcb.c (vfatFCBInitializeCache): Renamed
726 to vfatFCBInitializeCacheFromVolume.
727 * drivers/fs/vfat/fcb.c (vfatMakeFCBFromDirEntry): Don't
728 initialise the cache with a file object representing the
729 volume unless the FCB is for a directory.
730
731 2002-08-14 David Welch <welch@computer2.darkstar.org>
732
733 * drivers/fs/vfat/create.c (VfatPagingFileCreate): Added a
734 new function for handling paging file only code.
735 * drivers/fs/vfat/create.c (VfatSupersedeFile): Added a
736 new function for doing a file supersede.
737 * drivers/fs/vfat/create.c (VfatCreateFile): Reformatted and
738 adjusted control flow. Set allocation size and extended attributes
739 on create.
740 * drivers/fs/vfat/create.c (VfatCreate): Removed goto.
741
742 2002-08-14 David Welch <welch@computer2.darkstar.org>
743
744 * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Renamed
745 updEntry to VfatUpdateEntry.
746 * drivers/fs/vfat/close.c (VfatCloseFile): Renamed
747 updEntry to VfatUpdateEntry.
748 * drivers/fs/vfat/dirwr.c (updEntry): Renamed to
749 VfatUpdateEntry.
750 * drivers/fs/vfat/dirwr.c (addEntry): Renamed to
751 VfatAddEntry.
752
753 2002-08-14 David Welch <welch@computer2.darkstar.org>
754
755 * apps/tests/sectest/sectest.c (main): Fixed formatting.
756
757 2002-08-10 David Welch <welch@computer2.darkstar.org>
758
759 * ntoskrnl/mm/i386/page.c (MmSetPageProtect): Fixed
760 behaviour when called on the system address space.
761
762 2002-08-10 David Welch <welch@computer2.darkstar.org>
763
764 * ntoskrnl/mm/virtual.c (MmQueryAnonMem, MmProtectAnonMem,
765 NtAllocateVirtualMemory, NtFreeVirtualMemory): Renamed
766 segments to regions; moved region code to seperate file.
767 Implemented NtQueryVirtualMemory and NtProtectVirtualMemory
768 for anonymous memory areas.
769
770 2002-08-10 David Welch <welch@computer2.darkstar.org>
771
772 * ntoskrnl/mm/anonmem.c: Moved functions relating to
773 areas created with NtAllocateVirtualMemory to a
774 seperate file.
775
776 2002-08-10 David Welch <welch@computer2.darkstar.org>
777
778 * ntoskrnl/mm/section.c (MmQuerySectionView): Implemented
779 NtQueryVirtualMemory for section views.
780
781 2002-08-10 David Welch <welch@computer2.darkstar.org>
782
783 * ntoskrnl/mm/section.c (MmAccessFaultSectionView,
784 MmNotPresentFaultSectionView, MmProtectSectionView,
785 MmMapViewOfSegment, MmAlterViewAttributes): Implemented
786 NtProtectVirtualMemory for section views.
787
788 2002-08-10 David Welch <welch@computer2.darkstar.org>
789
790 * ntoskrnl/ke/main.c: Removed SEH test code.
791
792 2002-08-10 David Welch <welch@computer2.darkstar.org>
793
794 * lib/ntdll/ldr/utils.c (LdrFixupImports): Remove the readonly
795 protection from the IAT before writing to it.
796
797 2002-08-10 David Welch <welch@computer2.darkstar.org>
798
799 * lib/ntdll/ldr/utils.c (LdrAdjustDllName): Properly null terminate
800 the base name of the DLL.
801
802 2002-08-10 David Welch <welch@computer2.darkstar.org>
803
804 * ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set the text segment
805 of modules to readonly after loading.
806
807 2002-08-09 David Welch <welch@computer2.darkstar.org>
808
809 * ntoskrnl/ps/create.c (NtCreateThread): Call PsSuspendThread
810 if NtCreateThread has CreateSuspended as TRUE.
811 * ntoskrnl/ps/suspend.c (PsSuspendThread, PsResumeThread,
812 PiSuspendThreadKernelRoutine): Fixed suspend functionality.
813
814 2002-08-09 David Welch <welch@computer2.darkstar.org>
815
816 * ntoskrnl/ke/i386/usertrap.c (print_user_address): Copy
817 the LDR variable from the right address.
818
819 2002-08-09 David Welch <welch@computer2.darkstar.org>
820
821 * ntoskrnl/ke/apc.c (KiDeliverNormalApc): Check for
822 kernel APCs pending on exit from the kernel.
823 * ntoskrnl/ke/apc.c (KiDeliverNormalApc, KiDeliverUserApc,
824 KiDeliverApc): Set the APC's inserted flag to FALSE after
825 removing it from the thread's queue.
826
827 2002-08-09 David Welch <welch@computer2.darkstar.org>
828
829 * lib/kernel32/thread/thread.c (ThreadStartup): Don't
830 call DLL entrypoints; this is done by LdrInitializeThunk.
831 * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
832 DLLs in initialization order; take the loader lock before
833 calling.
834
835 2002-08-09 David Welch <welch@computer2.darkstar.org>
836
837 * apps/tests/thread/thread.c (main): Test suspend and
838 resume functionality.
839
840 2002-08-08 David Welch <welch@computer2.darkstar.org>
841
842 * ntoskrnl/mm/section (NtQuerySection): Return the
843 right result length.
844
845 2002-08-08 David Welch <welch@computer2.darkstar.org>
846
847 * ntoskrnl/ke/usertrap.c (print_user_address): Check for
848 a NULL LDR structure in the PEB; copy the LDR pointer in
849 safely.
850
851 2002-08-08 David Welch <welch@computer2.darkstar.org>
852
853 * ntoskrnl/ke/apc.c (KiDeliverUserApc): Deliver all present
854 APCs; release the APC spinlock while acccessing user memory.
855
856 2002-08-08 David Welch <welch@computer2.darkstar.org>
857
858 * include/internal/ps.h: Adjusted offsets into the ETHREAD
859 structure.
860 * include/internal/ps.h: Removed redundant members from the
861 KTHREAD structure.
862 * ntoskrnl/ke/kthread.c (KeInitializeThread): Removed
863 redundant members from the KTHREAD structure.
864
865 2002-08-08 David Welch <welch@computer2.darkstar.org>
866
867 * ntoskrnl/dbg/kdb.c (KdbEnterDebuggerException): New
868 function to enter the debugger on an exception.
869 * ntoskrnl/kd/kdebug.c (KdInitSystem): Initialize the
870 local kernel debugger if enabled.
871 * ntoskrnl/ke/catch.c (KiDispatchException): Enter the
872 local kernel debugger on an exception.
873
874 2002-08-08 David Welch <welch@computer2.darkstar.org>
875
876 * include/ntdll/ldr.h: Added definition for a DLL entrypoint.
877 * lib/kernel32/process/create.c (KlCreateFirstThread): Put
878 the argument to the NtProcessStartup function on the stack.
879 * lib/kernel32/process/create.c (KlInitPeb): Read the
880 base address of the new image from the PEB.
881 * lib/kernel32/process/create.c (CreateProcessW): Start the
882 first thread at the entrypoint of the new image.
883 * lib/ntdll/ldr/startup.c (LdrInitializeThunk): If the
884 function is called after the initial startup then just call the
885 entrypoints for the loaded DLLs with DLL_THREAD_ATTACH. Don't
886 call the entrypoint of the image.
887 * lib/ntdll/rtl/process.c (RtlpCreateFirstThread): Put the
888 argument to the NtProcessStartup function on the stack.
889 * lib/ntdll/rtl/process.c (KlInitPeb): Read the base address of
890 the new image from the PEB.
891 * lib/ntdll/rtl/process.c (RtlCreateUserProcess): Start the
892 first thread at the entrypoint of the new image.
893 * ntoskrnl/ke/i386/bthread.S (PsBeginThreadWithContextInternal):
894 Use the system call path to begin a usermode thread.
895 * ntoskrnl/ke/i386/thread.c (Ke386InitThreadWithContext): Convert
896 the supplied context into a trap frame.
897 * ntoskrnl/ldr/init.c (LdrLoadInitialProcess): Put the PEB argument
898 to the NtProcessStartup function on the new stack; start the
899 first thread at the entrypoint of the image.
900 * ntoskrnl/ps/create.c (NtCreateThread): Create an APC to call
901 LdrInitializeThunk in the context of a new thread before its
902 entrypoint.
903
904 2002-08-08 David Welch <welch@computer2.darkstar.org>
905
906 * drivers/fs/vfat/cleanup.c (VfatCleanupFile): Uninitialise
907 the cache on file cleanup.
908 * drivers/fs/vfat/fcb.c (vfatReleaseFcb): Don't uninitialise
909 the cache on file close.
910 * ntoskrnl/cc/copy.c: Renamed zero page global variable.
911 * ntoskrnl/cc/view.c: Added cache delete function.
912
913 2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
914
915 * rules.mak (RSYM): Define.
916 * include/ddk/zwtypes.h (DebugDbgLoadSymbols): Add to enum
917 _DEBUG_CONTROL_CODE.
918 * include/ntdll/ldr.h (LDR_SYMBOL_INFO, LdrpLoadUserModuleSymbols): Add.
919 (LdrLoadModuleSymbols): Remove.
920 * include/ntos/kdbgsyms.h (ST_FILENAME, ST_FUNCTION,
921 ST_LINENUMBER): Add.
922 (SYMBOL). Make Name an ANSI_STRING.
923 (IMAGE_SYMBOL_INFO, AreSymbolsParsed): Add.
924 * lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
925 LdrpLoadUserModuleSymbols() not LdrLoadModuleSymbols().
926 * lib/ntdll/ldr/utils.c (LdrLoadModuleSymbols): Rename to
927 LdrpLoadUserModuleSymbols.
928 (LdrpLoadUserModuleSymbols): Use DebugDbgLoadSymbols debug control code.
929 (LdrLoadDll): assert if out of memory.
930 (LdrLoadDll): Call
931 LdrpLoadUserModuleSymbols(), not LdrLoadModuleSymbols().
932 * lib/ntdll/string/ctype.c (_pctype): #undef.
933 * ntoskrnl/dbg/dbgctrl.c (NtSystemDebugControl): Call
934 LdrLoadUserModuleSymbols on DebugDbgLoadSymbols.
935 * ntoskrnl/include/internal/ldr.h (LdrGetAddressInformation): Add.
936 * ntoskrnl/include/internal/module.h (MODULE_TEXT_SECTION): Make SymbolInfo
937 an IMAGE_SYMBOL_INFO.
938 * ntoskrnl/ke/i386/exp.c (LdrGetAddressInformation): Add prototype.
939 (print_address): Change #ifdef KDBG to #ifdef DBG.
940 (KiDoubleFaultHandler, KiDumpTrapFrame, KeDumpStackFrames): Dump
941 one stack frame per line.
942 * ntoskrnl/ke/i386/multiboot.S: Create pagetables for more kernel
943 address space so larger modules can be passed from the boot loader.
944 * ntoskrnl/ke/i386/usertrap.c (LdrGetAddressInformation): Add prototype.
945 (print_user_address): Print symbols using LdrGetAddressInformation().
946 * ntoskrnl/ldr/loader.c (SYMBOLFILE_HEADER, IMAGE_SYMBOL_INFO_CACHE,
947 STAB_ENTRY, N_FUN, N_SLINE, N_SO, SymbolListHead): Add.
948 (TAG_SYM_BUF): Remove.
949 (LdrInitDebug): Remove unneeded code.
950 (LdrInit1): Prepare for loading symbols.
951 (LdrpReadLine, HexL, LdrpParseLine, LdrpLoadModuleSymbolsFromBuffer,
952 LdrpLoadUserModuleSymbolsFromBuffer): Remove.
953 (LdrpParseImageSymbols, LdrpGetFileName, LdrpGetFunctionName,
954 LdrpGetLineNumber, LdrGetAddressInformation, LdrpLookupUserSymbolInfo): Add.
955 (LdrpLoadModuleSymbols, LdrInitializeBootStartDriver): Change to use new
956 symbol structures.
957 (LdrLoadUserModuleSymbols): Cache symbol buffers.
958 (LdrUnloadModuleSymbols): Implement.
959 (LdrLoadModule, LdrUnloadModule): Change #ifdef KDBG to #ifdef DBG.
960 (LdrPEProcessModule): Split a line into two lines.
961 (LdrPEProcessModule): Setup for loading symbols.
962 * ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Open with FILE_SHARE_READ.
963 * ntoskrnl/ps/process.c (PiFreeSymbols): Call LdrUnloadModuleSymbols() to
964 free symbols.
965 (PiDeleteProcess): Change #ifdef KDBG to #ifdef DBG.
966 * ntoskrnl/rtl/ctype.c (_pctype): #undef.
967 * ntoskrnl/rtl/string.c (strncpy): Terminate destination string.
968 * tools/Makefile (rsym): Add target.
969 * tools/helper.mk: Include config and use -g if DBG = 1.
970
971 2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
972
973 * Makefile (install_before): Install system.hiv to correct location.
974
975 2002-07-04 David Welch <welch@computer2.darkstar.org>
976
977 * subsys/win32k/include/callback.h: Fixed callback argument
978 definitions.
979 * subsys/win32k/ntuser/winpos.c: Implemented some more of the windows
980 sizing/moving code.
981 * subsys/win32k/ntuser/painting.c: Implemented some more of the
982 window painting code.
983 * subsys/win32k/objects/coord.c: Implemented LPtoDP and DPtoLP.
984 * subsys/win32k/objects/region.c: Added stubs for some more
985 region functions.
986
987 2002-07-04 David Welch <welch@computer2.darkstar.org>
988
989 * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the
990 process desktop handle as well.
991
992 2002-07-04 David Welch <welch@computer2.darkstar.org>
993
994 * ntoskrnl/se/token.c: Don't call the ZwXXX variant of
995 system calls when in system context.
996
997 2002-07-04 David Welch <welch@computer2.darkstar.org>
998
999 * ntoskrnl/Makefile: Added file with MDA output code.
1000 * ntoskrnl/kd/kdebug.c: Recognize MDA as a destination for
1001 debug output.
1002
1003 2002-07-04 David Welch <welch@computer2.darkstar.org>
1004
1005 * lib/user32/windows/defwnd.c: Implemented some more of the
1006 default window handler.
1007
1008 2002-07-04 David Welch <welch@computer2.darkstar.org>
1009
1010 * lib/user32/misc/stubs.c: Removed some stubs to seperate files.
1011
1012 2002-07-04 David Welch <welch@computer2.darkstar.org>
1013
1014 * lib/user32/user32.def: Export ScreenToClient otherwise we
1015 get problems when code in user32 tries to call it.
1016
1017 2002-07-04 David Welch <welch@computer2.darkstar.org>
1018
1019 * include/win32k/region.h: Added prototypes for some missing
1020 region functions.
1021
1022 2002-07-04 David Welch <welch@computer2.darkstar.org>
1023
1024 * include/win32k/ntuser.h: Added prototypes for some missing
1025 NtUserXXX functions.
1026
1027 2002-07-04 David Welch <welch@computer2.darkstar.org>
1028
1029 * include/user32/wininternal.h: Added some constants for
1030 private GetDCEx styles that WINE needs.
1031
1032 2002-07-04 David Welch <welch@computer2.darkstar.org>
1033
1034 * include/user32/callback.h: Fixed callbacks for messages with
1035 parameters.
1036
1037 2002-07-04 David Welch <welch@computer2.darkstar.org>
1038
1039 * include/napi/win32.h (W32THREAD): Added pointer to the
1040 thread's desktop.
1041 * include/napi/win32.h (W32PROCESS): Removed handle table,
1042 added a pointer to the process's window station.
1043 * subsys/win32k/ntuser/guicheck.c (W32kGuiCheck): Reference
1044 a process's window station on the first win32k system call. Reference
1045 a thread's desktop on the first win32k system call.
1046
1047 2002-07-04 David Welch <welch@computer2.darkstar.org>
1048
1049 * include/messages.h: Added some missing WM_XXX constants.
1050
1051 2002-07-04 David Welch <welch@computer2.darkstar.org>
1052
1053 * drivers/dd/ide/makefile: Compiling with debugging messages
1054 needs libgcc to be linked in.
1055
1056 2002-07-04 David Welch <welch@computer2.darkstar.org>
1057
1058 * iface/addsys/genw32k.c: Generate a variable with the
1059 number of system calls.
1060 * iface/native/genntdll.c: Generate a proper stack frame for
1061 the user system call stubs.
1062 * ntoskrnl/ke/i386/syscall.S: Generate a proper stack frame for
1063 the handler for system calls.
1064
1065 2002-07-04 David Welch <welch@computer2.darkstar.org>
1066
1067 * Makefile: Build the GUI startup application.
1068 * subsys/system/gstart/gstart.c: Application to start up
1069 the GUI.
1070
1071 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1072
1073 * tools/helper.mk: Make an import library a proper target
1074 depending on the .def file.
1075
1076 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1077
1078 * subsys/win32k/ntuser/window.c (NtUserGetWindowLong): Began
1079 implementation.
1080
1081 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1082
1083 * subsys/win32k/misc/object.c (ObmCreateHandle): Return the
1084 correct handle value.
1085
1086 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1087
1088 * subsys/win32k/makefile: Make win32k depend on the file containing
1089 the service table.
1090
1091 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1092
1093 * ntoskrnl/ke/i386/stkswitch.S (KeSwitchStackAndRet,
1094 KePushAndStackSwitchAndSysRet): Push one value only.
1095 * ntoskrnl/ps/w32call.c (NtCallbackReturn, NtW32Call): Moved
1096 these functions to a new file. Restore the old trap frame after
1097 returning from a callback.
1098
1099 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1100
1101 * lib/user32/windows/message.c (CallWindowProcA, CallWindowProcW):
1102 Convert message to Unicode or ASCII if necessary.
1103
1104 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1105
1106 * include/user32/callback.h: Added WM_CREATE and WM_NCCALCSIZE
1107 callbacks.
1108 * lib/user32/windows/window.c (User32SendCREATEMessageForKernel,
1109 User32SendNCCREATEMessageForKernel): Implemented.
1110 * subsys/win32k/ntuser/callback.c (W32kSendCREATEMessage):
1111 Implemented.
1112
1113 2002-06-18 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1114
1115 * include/structs.h: Added Unicode and ASCII versions of
1116 CREATESTRUCT.
1117
1118 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1119
1120 * tools/helper.mk: Make the install target depend on all the
1121 files to be installed.
1122
1123 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1124
1125 * ntoskrnl/ps/thread.c (NtCallbackReturn): Set TSS.Esp0 to the
1126 top of the old stack.
1127 * ntoskrnl/ps/thread.c (NtW32Call): Set TSS.Esp0 to the top of
1128 the new stack. Free the callback stack correctly. Don't copy
1129 portion of the trap frame that doesn't exist in non-v86-mode
1130 interrupts.
1131 * ntoskrnl/ps/thread.c (PsFreeCallbackStack): New function to
1132 free a stack allocated with PsAllocateCallbackStack.
1133
1134 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1135
1136 * drivers/dd/null/makefile: Commented out local LDFLAGS as
1137 these cause bad relocations in the stripped image.
1138
1139 2002-06-16 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1140
1141 * config: Corrected spelling error.
1142
1143 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1144
1145 * subsys/system/winlogon/winlogon.c (WinMain): Check for
1146 failure when creating a window system.
1147
1148 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1149
1150 * ntoskrnl/ob/handle.c (ObDuplicateObject): Added this internal
1151 function for duplicating objects.
1152 * ntoskrnl/ps/process.c (NtCreateProcess): Duplicate the parent
1153 process's window station to the child process.
1154 * ntoskrnl/ps/process.c (PsInitProcessManagement): Initialize the
1155 first process's window station.
1156
1157 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1158
1159 * ntoskrnl/mm/marea.c (MmCreateMemoryArea): Initialise
1160 page operation structure members.
1161 * ntoskrnl/mm/pageop.c (MmReleasePageOp, MmGetPageOp): Increment
1162 or decrement the page operation count in the memory area.
1163 * ntoskrnl/mm/virtual.c (MmNotPresentFaultVirtualMemory,
1164 MmPageOutVirtualMemory): Check for a deleted memory area before
1165 handling the fault.
1166 * ntoskrnl/mm/virtual.c (MmFreeVirtualMemory): Wait for all
1167 page operations to finish before freeing the memory area.
1168
1169 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1170
1171 * ntoskrnl/ke/i386/syscall.S (interrupt_handler2e): Corrected
1172 test for previous mode, upper 16-bit of CS on the stack after an
1173 interrupt are arbitary.
1174
1175 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1176
1177 * lib/user32/misc/winsta.c: Cleaned up indentation.
1178
1179 2002-06-11 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1180
1181 * apps/tests/winhello/winhello.c (WinMain, MainWndProc):
1182 Cleaned up formatting, some more error checks.
1183
1184 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1185
1186 * ntoskrnl/mm/virtual.c (MmSecureVirtualMemory,
1187 MmUnsecureVirtualMemory, NtQueryVirtualMemory): Corrected indentation.
1188
1189 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1190
1191 * ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3
1192 correctly.
1193
1194 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
1195
1196 * ntoskrnl/include/internal/ps.h: Added KTHREAD_STACK_LIMIT definition.
1197 * ntoskrnl/ke/i386/tskswitch.S (Ki386ContextSwitch): Force all the
1198 pages of the kernel stack to be accessible from this process.
1199
1200 2002-06-04 David Welch <welch@cwcom.net>
1201
1202 * ntoskrnl/cc/view.c (ReadCacheSegmentChain): Changes to use
1203 PHYSICAL_ADDRESS type for physical addresses.
1204 * ntoskrnl/cc/copy.c (CcRosCreateCacheSegment): Changes to use
1205 PHYSICAL_ADDRESS type for physical addresses.
1206 * ntoskrnl/cc/copy.c (CcFreeCachePage): Changes to use
1207 PHYSICAL_ADDRESS type for physical addresses.
1208 * ntoskrnl/include/internal/mm.h: Changed prototypes to use
1209 PHYSICAL_ADDRESS type for physical addresses.
1210 * ntoskrnl/include/internal/ps.h (KPROCESS): Changed type of
1211 page directory base to PHYSICAL_ADDRESS.
1212 * ntoskrnl/include/internal/i386/mm.h: Changed prototypes to use
1213 PHYSICAL_ADDRESS type for physical addresses.
1214 * ntoskrnl/ke/kthread.c (KeFreeStackPage): Changes to use
1215 PHYSICAL_ADDRESS type for physical addresses.
1216 * ntoskrnl/ke/kthread.c (KeInitializeThread): Changes to use
1217 PHYSICAL_ADDRESS type for physical addresses.
1218 * ntoskrnl/ke/process.c (KeAttachProcess, KeDetachProcess): Changes
1219 to use PHYSICAL_ADDRESS type for physical addresses.
1220 * ntoskrnl/ke/kernel.c (PcrPages, KeApplicationProcessorInit): Changes
1221 to use PHYSICAL_ADDRESS type for physical addresses.
1222 * ntoskrnl/mm/balance.c (MM_ALLOCATION_REQUEST): Changes to use
1223 PHYSICAL_ADDRESS type for physical addresses.
1224 * ntoskrnl/mm/balance.c (MmReleasePageMemoryConsumer): Changes to use
1225 PHYSICAL_ADDRESS type for physical addresses.
1226 * ntoskrnl/mm/balance.c (MmRequestPageMemoryConsumer): Changes to use
1227 PHYSICAL_ADDRESS type for physical addresses.
1228 * ntoskrnl/mm/cont.c (MmFreeContinuousPage): Changes to use
1229 PHYSICAL_ADDRESS type for physical addresses.
1230 * ntoskrnl/mm/cont.c (MmAllocateContinuousAlignedMemory): Changes to
1231 use PHYSICAL_ADDRESS type for physical addresses.
1232 * ntoskrnl/mm/freelist.c (MmTransferOwnershipPage,
1233 MmGetLRUFirstUserPage, MmGetLRUNextUserPage, MmGetContinuousPages,
1234 MmInitializePageList, MmSetFlagsPage, MmSetRmapListHeadPage,
1235 MmGetRmapListHeadPage, MmMarkPageMapped, MmMarkPageUnmapped,
1236 MmGetFlagsPage, MmSetSavedSwapEntryPage, MmGetSavedSwapEntryPage,
1237 MmReferencePage, MmGetReferenceCountPage, MmIsUsablePage,
1238 MmDereferencePage, MmGetLockCountPage, MmLockPage, MmUnlockPage,
1239 MmAllocPage): Changes to use PHYSICAL_ADDRESS type for physical
1240 addresses.
1241 * ntoskrnl/mm/iospace.c (MmMapIoSpace): Changes to use
1242 PHYSICAL_ADDRESS type for physical addresses.
1243 * ntoskrnl/mm/kmap.c (ExAllocatePage, MiZeroPage, MiCopyFromUserPage,
1244 ExAllocatePageWithPhysPage): Changes to use PHYSICAL_ADDRESS type for
1245 physical addresses.
1246 * ntoskrnl/mm/marea.c (MmFreeMemoryArea): Changes to use
1247 PHYSICAL_ADDRESS type for physical addresses.
1248 * ntoskrnl/mm/mdl.c (MmUnlockPages, MmMapLockedPages,
1249 MmProbeAndLockPages): Changes to use PHYSICAL_ADDRESS type for
1250 physical addresses.
1251 * ntoskrnl/mm/mm.c (MmSharedDataPagePhysicalAddress,
1252 MmCommitPagedPoolAddress, MmNotPresentFault): Changes to use
1253 PHYSICAL_ADDRESS type for physical addresses.
1254 * ntoskrnl/mm/mminit.c (MmInitVirtualMemory): Changes to use
1255 PHYSICAL_ADDRESS type for physical addresses.
1256 * ntoskrnl/mm/ncache.c (MmAllocateNonCachedMemory,
1257 MmFreeNonCachedPage): Changes to use PHYSICAL_ADDRESS type for
1258 physical addresses.
1259 * ntoskrnl/mm/npool.c (grow_kernel_pool): Changes to use
1260 PHYSICAL_ADDRESS type for physical addresses.
1261 * ntoskrnl/mm/rmap.c (MmPageOutPhysicalAddress, MmInsertRmap,
1262 MmDeleteAllRmaps, MmDeleteRmap): Changes to use
1263 PHYSICAL_ADDRESS type for physical addresses.
1264 * ntoskrnl/mm/section.c (MiReadPage, MmNotPresentFaultSectionView,
1265 MmAccessFaultSectionView, MmPageOutDeleteMapping,
1266 MmPageOutSectionView, MmFreeSectionPage): Changes to use
1267 PHYSICAL_ADDRESS type for physical addresses.
1268 * ntoskrnl/mm/slab.c (ExGrowSlabCache): Changes to use
1269 PHYSICAL_ADDRESS type for physical address.
1270 * ntoskrnl/mm/virtual.c (MmPageOutVirtualMemory,
1271 MmNotPresentFaultVirtualMemory, MmFreeVirtualMemoryPage): Changes to
1272 use PHYSICAL_ADDRESS type for physical address.
1273 * ntoskrnl/mm/wset.c (MmTrimUserMemory): Changes to use
1274 PHYSICAL_ADDRESS type for physical address.
1275 * ntoskrnl/mm/page.c (Mmi386ReleaseMmInfo, MmCopyMmInfo,
1276 MmGetPhysicalAddressForProcess, MmCreateVirtualMapping,
1277 MmCreateVirtualMappingUnsafe, MmCreateVirtualMappingForProcess,
1278 MmDeleteVirtualMapping): Changes to use PHYSICAL_ADDRESS type for
1279 physical address.
1280 * ntoskrnl/ps/process (PsInitProcessManagment): Changes to use
1281 PHYSICAL_ADDRESS type for physical address.
1282 * ntoskrnl/ps/thread.c (PsAllocateCallbackStack): Changes to use
1283 PHYSICAL_ADDRESS type for physical address.
1284
1285 2002-06-04 David Welch <welch@cwcom.net>
1286
1287 * Lots of change since the ChangeLog was last updated.
1288
1289 2001-03-18 David Welch <welch@cwcom.net>
1290
1291 * ntoskrnl/ke/apc.c (KiDeliverApc): Bug fix.
1292 * ntoskrnl/ke/apc.c (KeInsertQueueApc): More comments.
1293 * ntoskrnl/ke/catch.c (KiDispatchException): Bug fix.
1294 * ntoskrnl/ke/timer.c (KeDelayExecutionThread): Don't use removed
1295 function KeAddTimeoutThread.
1296 * ntoskrnl/ke/timer.c (KeAddTimeoutThread): Removed.
1297 * ntoskrnl/ke/wait.c (KeWaitForSingleObject, KeWaitForMultipleObjects):
1298 Don't use KeAddTimeoutThread.
1299 * ntoskrnl/mm/freelist.c (MmAllocateContiguousAlignedMemory): Bug fix
1300 * ntoskrnl/mm/freelist.c (MmAllocatePage): Allocate from the top
1301 memory.
1302
1303 2001-03-17 David Welch <welch@cwcom.net>
1304
1305 * ntoskrnl/ke/catch.c (KiDispatchException): Implementation of
1306 exception handling, user-mode only.
1307
1308 2001-03-16 David Welch <welch@cwcom.net>
1309
1310 * include/ddk/zw.h: Corrected declarations of NtCreateProfile,
1311 NtQueryIntervalProfile, NtSetIntervalProfile.
1312 * include/ddk/zwtypes.h: Added definitions of KPROFILE_SOURCE.
1313 * ntoskrnl/include/internal/ke.h: Added the interrupted EIP as a
1314 parameter to KiUpdateSystemTime for profiling purposes.
1315 * ntoskrnl/include/internal/nt: Added declaration for profiling
1316 support initialization.
1317 * ntoskrnl/ke/timer.c (KiUpdateSystemTime, KeExpireTimers): Call
1318 the profiling code on a timer interrupt with the interrupt EIP.
1319 * ntoskrnl/ke/i386/irq.c (KiDispatchInterrupt): Pass the interrupted
1320 EIP to KiUpdateSystemTime.
1321 * ntoskrnl/mm/virtual.c (NtReadVirtualMemory, NtWriteVirtualMemory):
1322 Release the MDLs used properly.
1323 * ntoskrnl/nt/nt.c: Call the profiling support initialization.
1324 * ntoskrnl/nt/ntevent.c (NtCreateEvent): Don't try copying the
1325 ObjectAttributes parameter if it is NULL.
1326 * ntoskrnl/nt/profile.c: Implemented profiling.
1327
1328 2001-03-16 David Welch <welch@cwcom.net>
1329
1330 * ntoskrnl/include/internal/safe.h: Corrected typo.
1331 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtQueryEvent):
1332 Corrected typos.
1333 * ntoskrnl/rtl/mem.c: Missing header file.
1334
1335 2001-03-16 David Welch <welch@cwcom.net>
1336
1337 * ntoskrnl/include/internal/safe.h: Add definitions for handling
1338 potentially unsafe pointers.
1339
1340 2001-03-16 David Welch <welch@cwcom.net>
1341
1342 * ntoskrnl/include/internal/mm.h: Removed MmSafeCopyToUser and
1343 MmSafeCopyFromUser as source files need these but don't want internal
1344 mm definitions.
1345 * ntoskrnl/nt/ntevent.c (NtCreateEvent, NtOpenEvent, NtPulseEvent,
1346 NtQueryEvent, NtResetEvent, NtSetEvent): Copy data to and from
1347 user mode safely.
1348 * ntoskrnl/rtl/mem.c (MmCopyToCaller, MmCopyFromCaller): Helper
1349 functions for copying data to and from potentially unsafe pointers.
1350
1351 2000-12-23 David Welch <welch@cwcom.net>
1352
1353 * All task switching is done in software.
1354 * Beginnings of v86 mode support.
1355
1356 2000-12-22 David Welch <welch@cwcom.net>
1357
1358 * ntoskrnl/ps/kill.c (PiTerminateProcessThreads): Drop
1359 PiThreadListLock before calling PsTerminateOtherThread
1360
1361 2000-12-16 David Welch <welch@cwcom.net>
1362
1363 * ntoskrnl/ex/fmutex.c (ExReleaseFastMutexUnsafe): Only set the
1364 fast mutex's owner back to NULL if it is being released
1365
1366 2000-12-10 David Welch <welch@cwcom.net>
1367
1368 * ntoskrnl/ke/i386/vm86_sup.S (Ki386RetToV86Mode): Added function
1369 to do the raw switch to v86 mode.
1370 * ntoskrnl/include/internal/vm86.h: Definitions for the v86 mode
1371 support.
1372
1373 2000-12-10 David Welch <welch@cwcom.net>
1374
1375 * ntoskrnl/ke/i386/trap.s (PsBeginThreadWithContextInternal): Moved
1376 to ntoskrnl/ke/i386/bswitch.S.
1377 * ntoskrnl/ke/i386/trap.s (interrupt_handler2e): Moved to
1378 ntoskrnl/ke/i386/syscall.S.
1379 * ntoskrnl/ke/i386/trap.s (old_interrupt_handler2e): Removed.
1380
1381 2000-12-04 David Welch <welch@cwcom.net>
1382
1383 * ntoskrnl/ke/i386/irq.c (KiInterruptDispatch): Record the last PC
1384 value for a rescheduled thread.
1385 * ntoskrnl/ke/i386/irqhand.s: Construct a primitive trap frame
1386 in interrupt handlers.
1387
1388 2000-08-30 David Welch <welch@cwcom.net>
1389
1390 * Added calibration of KeStallExecutionProcessor timing
1391 (code from linux 2.2.16).
1392
1393 * Corrected compilation bugs in user32 library.
1394
1395 * Corrected compilation bugs related to anonymous structs
1396 in ndis code.
1397
1398 * Pass command line to kernel from loadros.
1399
1400 * Corrected PIC mask calculation.
1401
1402 2000-05-27 David Welch <welch@cwcom.net>
1403
1404 * Fixed issue with closing non-existent or already closed
1405 handle.
1406
1407 2000-01-26 David Welch <welch@cwcom.net>
1408
1409 * ZwCreateProcess now maps ntdll rather than the user-mode
1410 code.
1411
1412 1999-09-06 David Welch <welch@cwcom.net>
1413
1414 * Implemented ZwOpenProcess.
1415
1416 * Partially implemented killing other threads (possible memory
1417 leaks).
1418
1419 * Made a start on a proper implemention of APCs (based on
1420 article in NT insider).
1421
1422 1998-12-08 David Welch <welch@cwcom.net>
1423
1424 * Corrected bug in shell (Read two keypresses and assumed they
1425 where the key going up and down respectively).
1426
1427 * Corrected race in dpc handling.
1428
1429 * Took out cleanup sections in ZwReadFile (now handled by the
1430 APC).
1431
1432 * Disabled broken code in kernel32.
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442