Commit graph

3241 commits

Author SHA1 Message Date
David Welch 99c4e70f22 2002-08-16 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/mm/npool.c (ExAllocateWholePageBlock): Converted
	to use PHYSICAL_ADDRESS type for page address.

2002-08-16  David Welch  <welch@computer2.darkstar.org>

	* subsys/win32k/ntuser/class.c (W32kCreateClass): Corrected
	typo when calculating the offset into the class object to
	put the class name string.

2002-08-16  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/ps/thread.c (PsDispatchThreadNoLock): Don't call
	the reaper function directly; set an event to wake up a seperate
	reaper thread.
	* ntoskrnl/ps/thread.c (PsReaperThreadMain): New function that
	waits for a notification and then calls PsReapThreads.
	* ntoskrnl/ps/thread.c (PsInitThreadManagement): Create the
	reaper thread.

svn path=/trunk/; revision=3333
2002-08-16 01:39:17 +00:00
David Welch a4e3a21cfa Export LdrFindResourceDirectory_U
Remove LdrFindResourceDirectory_U stub

svn path=/trunk/; revision=3332
2002-08-15 16:11:01 +00:00
David Welch 8cec2e609d 2002-08-14 David Welch <welch@computer2.darkstar.org>
* subsys/smss/init.c (SmPagingFilesQueryRoutine): If possible
	take the size of the paging file from the registry.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/mm/section.c (MmCreateDataFileSection): Extend the
	section if necessary.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/mm/pagefile.c (NtCreatePagingFile): Set the file
	size using the FileAllocationInformation class.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/mm/anonmem.c (MmWritePageVirtualMemory): Implemented
	function to write anonymous memory pages to the swap file.
	* ntoskrnl/mm/anonmem.c (MmFreeVirtualMemoryPage): Free any
	swap page associated with the page.
	* ntoskrnl/mm/mpw.c (MmWriteDirtyPages): New function to find
	pages to write to disk.
	* ntoskrnl/mm/mpw.c (MmMpwThreadMain): Implemented MPW functionality.
	* ntoskrnl/mm/rmap.c (MmWritePagePhysicalAddress): New function
	to write a single page back to disk.
	* ntoskrnl/mm/rmap.c (MmSetCleanAllRmaps, MmSetDirtyAllRmaps,
	MmIsDirtyPageRmap): New rmap function to support the MPW thread.
	* ntoskrnl/mm/section.c (MmWritePageSectionView): Implemented
	function to write back section pages.
	* ntoskrnl/mm/section.c (MmFreeSectionPage): Free any swap
	entry associated with the page; mark pages shared with
	the cache as dirty if necessary.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set name of
	the module into the module text structure.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/io/rw.c (NtReadFile, NtWriteFile): Use the correct
	test for whether to wait for the completion of i/o.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/cm/ntfunc.c (NtFlushKey): Request synchronous i/o
	from NtOpenFile.
	* ntoskrnl/cm/regfile (CmiInitPermanentRegistryHive): Request
	synchronous i/o from NtCreateFile.
	* ntoskrnl/dbg/kdb_stabs.c (LdrpLoadModuleSymbols): Request
	synchronous i/o from NtOpenFile.
	* ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Request synchronous i/o
	from NtOpenFile.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/cc/view.c (CcRosSuggestFreeCacheSegment): Maintain the
	correct reference count.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/cc/view.c (CcRosFlushCacheSegment): New function to
	write back a modified cache segment.
	* ntoskrnl/cc/view.c (CcRosFlushDirtyPages): New function to
	flush some dirty pages from the cache.
	* ntoskrnl/cc/view.c (CcRosMarkDirtyCacheSegment): New function to
	mark a cache segment modified while mapped into memory as dirty.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/cc/pin.c (CcMapData, CcUnpinData, CcSetDirtyPinnedData):
	Store the dirty status in the BCB; don't write back dirty data
	immediately.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* include/ntos/mm.h: Added SEC_XXXX defines from 'Windows NT/2000
	Native API Reference'

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* drivers/fs/vfat/ea.c (VfatSetExtendedAttributes): Empty
	placeholder for extended attribute functions.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* drivers/fs/vfat/finfo.c (VfatSetAllocationSizeInformation):
	Added function to set allocation size.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* drivers/fs/vfat/fcb.c (vfatFCBInitializeCache): Renamed
	to vfatFCBInitializeCacheFromVolume.
	* drivers/fs/vfat/fcb.c (vfatMakeFCBFromDirEntry): Don't
	initialise the cache with a file object representing the
	volume unless the FCB is for a directory.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* drivers/fs/vfat/create.c (VfatPagingFileCreate): Added a
	new function for handling paging file only code.
	* drivers/fs/vfat/create.c (VfatSupersedeFile): Added a
	new function for doing a file supersede.
	* drivers/fs/vfat/create.c (VfatCreateFile): Reformatted and
	adjusted control flow. Set allocation size and extended attributes
	on create.
	* drivers/fs/vfat/create.c (VfatCreate): Removed goto.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* drivers/fs/vfat/cleanup.c (VfatCleanupFile): Renamed
	updEntry to VfatUpdateEntry.
	* drivers/fs/vfat/close.c (VfatCloseFile): Renamed
	updEntry to VfatUpdateEntry.
	* drivers/fs/vfat/dirwr.c (updEntry): Renamed to
	VfatUpdateEntry.
	* drivers/fs/vfat/dirwr.c (addEntry): Renamed to
	VfatAddEntry.

2002-08-14  David Welch  <welch@computer2.darkstar.org>

	* apps/tests/sectest/sectest.c (main): Fixed formatting.

svn path=/trunk/; revision=3331
2002-08-14 20:58:39 +00:00
Eric Kohl 54865265f0 Implemented and fixed several ACL and SD functions.
Patch by Alexandru Matei.

svn path=/trunk/; revision=3330
2002-08-13 20:41:22 +00:00
Eric Kohl ce083074cf Added missing newline
svn path=/trunk/; revision=3329
2002-08-10 21:58:14 +00:00
Eric Kohl 5e4fc8c66d Added compression stubs
svn path=/trunk/; revision=3328
2002-08-10 21:57:41 +00:00
David Welch 383eddd11e 2002-08-10 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/mm/i386/page.c (MmSetPageProtect): Fixed
	behaviour when called on the system address space.

2002-08-10  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/mm/virtual.c (MmQueryAnonMem, MmProtectAnonMem,
	NtAllocateVirtualMemory, NtFreeVirtualMemory): Renamed
	segments to regions; moved region code to seperate file.
	Implemented NtQueryVirtualMemory and NtProtectVirtualMemory
	for anonymous memory areas.

2002-08-10  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/mm/anonmem.c: Moved functions relating to
	areas created with NtAllocateVirtualMemory to a
	seperate file.

2002-08-10  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/mm/section.c (MmQuerySectionView): Implemented
	NtQueryVirtualMemory for section views.

2002-08-10  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/mm/section.c (MmAccessFaultSectionView,
	MmNotPresentFaultSectionView, MmProtectSectionView,
	MmMapViewOfSegment, MmAlterViewAttributes): Implemented
	NtProtectVirtualMemory for section views.

2002-08-10  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/ke/main.c: Removed SEH test code.

2002-08-10  David Welch  <welch@computer2.darkstar.org>

	* lib/ntdll/ldr/utils.c (LdrFixupImports): Remove the readonly
	protection from the IAT before writing to it.

2002-08-10  David Welch  <welch@computer2.darkstar.org>

	* lib/ntdll/ldr/utils.c (LdrAdjustDllName): Properly null terminate
	the base name of the DLL.

2002-08-10  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/ldr/loader.c (LdrPEProcessModule): Set the text segment
	of modules to readonly after loading.

svn path=/trunk/; revision=3327
2002-08-10 16:41:20 +00:00
Eric Kohl 6809339d27 Fixed several function prototypes.
svn path=/trunk/; revision=3326
2002-08-09 22:57:48 +00:00
Brian Palmer 10e943e65d Preliminary EXT2 boot sector code
Fixed bug in FAT32 boot sector where it wasn't properly updating the sector load address

svn path=/trunk/; revision=3325
2002-08-09 17:34:24 +00:00
David Welch 95fbecfd46 2002-08-09 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/ps/create.c (NtCreateThread): Call PsSuspendThread
	if NtCreateThread has CreateSuspended as TRUE.
	* ntoskrnl/ps/suspend.c (PsSuspendThread, PsResumeThread,
	PiSuspendThreadKernelRoutine): Fixed suspend functionality.

2002-08-09  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/ke/i386/usertrap.c (print_user_address): Copy
	the LDR variable from the right address.

2002-08-09  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/ke/apc.c (KiDeliverNormalApc): Check for
	kernel APCs pending on exit from the kernel.
	* ntoskrnl/ke/apc.c (KiDeliverNormalApc, KiDeliverUserApc,
	KiDeliverApc): Set the APC's inserted flag to FALSE after
	removing it from the thread's queue.

2002-08-09  David Welch  <welch@computer2.darkstar.org>

	* lib/kernel32/thread/thread.c (ThreadStartup): Don't
	call DLL entrypoints; this is done by LdrInitializeThunk.
	* lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
	DLLs in initialization order; take the loader lock before
	calling.

2002-08-09  David Welch  <welch@computer2.darkstar.org>

	* apps/tests/thread/thread.c (main): Test suspend and
	resume functionality.

svn path=/trunk/; revision=3324
2002-08-09 17:23:57 +00:00
David Welch 5a801d58c3 2002-08-08 David Welch <welch@computer2.darkstar.org>
* ntoskrnl/mm/section (NtQuerySection): Return the
	right result length.

2002-08-08  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/ke/usertrap.c (print_user_address): Check for
	a NULL LDR structure in the PEB; copy the LDR pointer in
	safely.

2002-08-08  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/ke/apc.c (KiDeliverUserApc): Deliver all present
	APCs; release the APC spinlock while acccessing user memory.

2002-08-08  David Welch  <welch@computer2.darkstar.org>

	* include/internal/ps.h: Adjusted offsets into the ETHREAD
	structure.
	* include/internal/ps.h: Removed redundant members from the
	KTHREAD structure.
	* ntoskrnl/ke/kthread.c (KeInitializeThread): Removed
	redundant members from the KTHREAD structure.

2002-08-08  David Welch  <welch@computer2.darkstar.org>

	* ntoskrnl/dbg/kdb.c (KdbEnterDebuggerException): New
	function to enter the debugger on an exception.
	* ntoskrnl/kd/kdebug.c (KdInitSystem): Initialize the
	local kernel debugger if enabled.
	* ntoskrnl/ke/catch.c (KiDispatchException): Enter the
	local kernel debugger on an exception.

2002-08-08  David Welch  <welch@computer2.darkstar.org>

	* include/ntdll/ldr.h: Added definition for a DLL entrypoint.
	* lib/kernel32/process/create.c (KlCreateFirstThread): Put
	the argument to the NtProcessStartup function on the stack.
	* lib/kernel32/process/create.c (KlInitPeb): Read the
	base address of the new image from the PEB.
	* lib/kernel32/process/create.c (CreateProcessW): Start the
	first thread at the entrypoint of the new image.
	* lib/ntdll/ldr/startup.c (LdrInitializeThunk): If the
	function is called after the initial startup then just call the
	entrypoints for the loaded DLLs with DLL_THREAD_ATTACH. Don't
	call the entrypoint of the image.
	* lib/ntdll/rtl/process.c (RtlpCreateFirstThread): Put the
	argument to the NtProcessStartup function on the stack.
	* lib/ntdll/rtl/process.c (KlInitPeb): Read the base address of
	the new image from the PEB.
	* lib/ntdll/rtl/process.c (RtlCreateUserProcess): Start the
	first thread at the entrypoint of the new image.
	* ntoskrnl/ke/i386/bthread.S (PsBeginThreadWithContextInternal):
	Use the system call path to begin a usermode thread.
	* ntoskrnl/ke/i386/thread.c (Ke386InitThreadWithContext): Convert
	the supplied context into a trap frame.
	* ntoskrnl/ldr/init.c (LdrLoadInitialProcess): Put the PEB argument
	to the NtProcessStartup function on the new stack; start the
	first thread at the entrypoint of the image.
	* ntoskrnl/ps/create.c (NtCreateThread): Create an APC to call
	LdrInitializeThunk in the context of a new thread before its
	entrypoint.

2002-08-08  David Welch  <welch@computer2.darkstar.org>

	* drivers/fs/vfat/cleanup.c (VfatCleanupFile): Uninitialise
	the cache on file cleanup.
	* drivers/fs/vfat/fcb.c (vfatReleaseFcb): Don't uninitialise
	the cache on file close.
	* ntoskrnl/cc/copy.c: Renamed zero page global variable.
	* ntoskrnl/cc/view.c: Added cache delete function.

svn path=/trunk/; revision=3323
2002-08-08 17:54:16 +00:00
Brian Palmer 7cbe6176ad Defined FAST_SYMLINK_MAX_NAME_SIZE
svn path=/trunk/; revision=3322
2002-08-08 04:46:46 +00:00
Brian Palmer 793d60fcff Changes in v1.7.2 (8/7/2002) (brianp)
- Fragment size must be equal to the block size

svn path=/trunk/; revision=3321
2002-08-08 04:38:43 +00:00
Brian Palmer 3cb41fbb8b Changes in v1.7.1 (8/7/2002) (brianp)
- Symbolic links on EXT2/3 are now supported

svn path=/trunk/; revision=3320
2002-08-08 04:28:08 +00:00
Brian Palmer f5ac842ed4 Fix for compiling in non-debug (release) mode. (Reduces binary size from 128k to 82k currently)
svn path=/trunk/; revision=3319
2002-08-07 05:37:07 +00:00
Brian Palmer 70d2e3812d Changes in v1.7 (8/6/2002) (brianp)
- EXT2/EXT3 file system support.
- Does not yet support symbolic links or booting from an EXT2/3 partition.
- Fixed bug in UI code.
- Added '%%' format specifier to printf()-like functions.
- Added functions __udivdi3 & __umoddi3 so that 64-bit division is now supported.
- Changed types BYTE, WORD, DWORD, LONG, ULONG to U8, U16, U32, S32, U32
  so that you know the size of the variable across different
  architectures with different sized words & dwords, etc.
- Types CHAR, UCHAR, PCHAR, PUCHAR, WCHAR, PWCHAR have not been
  changed yet (I haven't decided exactly how I'm going to handle unicode)

(isn't this an awesome commit? ;-) Just look at that list of files)

svn path=/trunk/; revision=3318
2002-08-07 05:13:18 +00:00
Jason Filby aac9125953 Updated version file to 0.0.20
svn path=/trunk/; revision=3316
2002-08-05 19:57:47 +00:00
Robert Dickenson aa405ed6f1 Added combobox to drivebar, yet to get working. Whole application needs alot of cleanup.
Fixed up makefile plus dependancies and now builds (and runs) with ros-tools.

svn path=/trunk/; revision=3315
2002-08-04 18:40:49 +00:00
Eugene Ingerman c724d71f77 Fixed a bug in the new Engxxx objects code.
svn path=/trunk/; revision=3314
2002-08-04 18:21:59 +00:00
Eugene Ingerman 7325b379e2 Rewrote gdi (Engxxx) objects.
svn path=/trunk/; revision=3313
2002-08-04 09:55:11 +00:00
Eugene Ingerman 94706d121d Added more tests to gditest.c
svn path=/trunk/; revision=3312
2002-08-04 09:53:19 +00:00
Eugene Ingerman d9243a0a4b Removed deprecated file.
svn path=/trunk/; revision=3311
2002-08-04 09:52:05 +00:00
Eric Kohl cfa1943b4f Don't alloc an extra console upon startup.
Added correct calculation of free disk size for drives larger than 2GB.

svn path=/trunk/; revision=3309
2002-08-01 10:29:18 +00:00
Eric Kohl 4201812a7e Added RtlCopyLuidAndAttributesArray() and RtlCopySidAndAttributesArray().
svn path=/trunk/; revision=3308
2002-07-29 15:37:06 +00:00
Eric Kohl 5295bac977 Added cache flush counters.
svn path=/trunk/; revision=3307
2002-07-29 15:29:58 +00:00
Brian Palmer 410b3629c3 Changes in v1.6.2 (7/28/2002) (brianp)
- Fix for GetFatEntry16 bug (fathelp.asm) by Mike Lerwill

svn path=/trunk/; revision=3306
2002-07-29 06:49:58 +00:00
Eric Kohl 8e93e09163 Added missing fastcall list functions
svn path=/trunk/; revision=3305
2002-07-27 13:02:37 +00:00
Robert Kopferl d35d4191c1 -Nearly compiles doscalls
-Added  an mixing header to have ntddk and os2 included without conflicts

svn path=/trunk/; revision=3304
2002-07-26 00:23:13 +00:00
Eric Kohl 554d0a03f4 Implemented RtlTimeToElapsedTimeFields().
svn path=/trunk/; revision=3303
2002-07-25 16:58:58 +00:00
Eric Kohl 873c86599e Implemented RtlTimeToElapsedtimeFields().
svn path=/trunk/; revision=3302
2002-07-25 16:57:49 +00:00
Eric Kohl 9a04ad5955 Added compression functions (not usabel yet).
svn path=/trunk/; revision=3301
2002-07-25 13:18:31 +00:00
Eric Kohl a79a9cbba6 Implemented IoCheckDesiredAccess() and IoGetInitialStack().
svn path=/trunk/; revision=3300
2002-07-24 17:49:31 +00:00
Robert Kopferl d6e258cc9e free os2.h version
svn path=/trunk/; revision=3299
2002-07-23 13:00:46 +00:00
Robert Kopferl a6c291342a *** empty log message ***
svn path=/trunk/; revision=3298
2002-07-23 13:00:11 +00:00
Robert Kopferl 77fce8841d update
svn path=/trunk/; revision=3297
2002-07-23 12:30:01 +00:00
Robert Dickenson 58d70d404f Added control panel applet icons to the list control imagelist. Next I'll make them lauch!
svn path=/trunk/; revision=3296
2002-07-23 08:24:54 +00:00
Jurgen van Gael 3ce45b038f OpenSCManager waits for services.exe to initialize
svn path=/trunk/; revision=3295
2002-07-23 08:16:05 +00:00
Eugene Ingerman 57a74268f7 Fixed bugs in region operations code (should run region tests correctly now)
svn path=/trunk/; revision=3294
2002-07-23 08:03:15 +00:00
Brian Palmer ac37c58b98 Fix for disk caching while doing drive remapping
svn path=/trunk/; revision=3293
2002-07-23 06:46:55 +00:00
Robert Dickenson 0e96a84263 Whatever it is I changed, it's now backed up before I go to bed.
svn path=/trunk/; revision=3292
2002-07-22 21:12:26 +00:00
Robert Dickenson 916c8b493b Basic Control Panel created.
svn path=/trunk/; revision=3291
2002-07-22 21:05:41 +00:00
Eric Kohl c1652a2ee6 Read drive number from the command line.
Added some sanity checks.

svn path=/trunk/; revision=3290
2002-07-22 17:53:12 +00:00
Eugene Ingerman 5faa3537c3 Missing file.
svn path=/trunk/; revision=3289
2002-07-22 17:42:52 +00:00
Robert Dickenson 63850f4969 Added missing file and some hex string conversion routines. Now displays registry data.
svn path=/trunk/; revision=3288
2002-07-22 14:41:40 +00:00
Steven Edwards 11a446cf74 Commited as binary
svn path=/trunk/; revision=3287
2002-07-22 11:12:38 +00:00
Steven Edwards b2e2bb7f04 Removed to recommit as binary
svn path=/trunk/; revision=3286
2002-07-22 11:11:55 +00:00
Eugene Ingerman 2bda045a8e Added GetRegionData gdi function. Added region test. Fixed some bugs.
svn path=/trunk/; revision=3285
2002-07-22 07:55:49 +00:00
Brian Palmer 1aa76f94bd Added BIOS drive mapping functionality
svn path=/trunk/; revision=3284
2002-07-22 03:44:08 +00:00
Eric Kohl c747481470 Moved WS_EX_CLIENTEDGE to the correct location.
svn path=/trunk/; revision=3283
2002-07-21 22:57:06 +00:00
Robert Dickenson 48266252bf Almost completed dialog layouts contributed by Ian McLean.
svn path=/trunk/; revision=3282
2002-07-21 18:28:26 +00:00