Commit graph

3176 commits

Author SHA1 Message Date
Brian Palmer
a89e08d368 Caches the current FAT sector so it doesn't read again if it doesn't have to.
svn path=/trunk/; revision=3047
2002-06-11 16:58:31 +00:00
Casper Hornstrup
65ae3074e9 Kill warnings.\n Use DbgPrint for debugging registry.
svn path=/trunk/; revision=3046
2002-06-11 16:23:20 +00:00
Brian Palmer
8bab1a8f2d Optimized FAT32 bootsector to read more than 1 sector at a time on systems supporting LBA calls.
svn path=/trunk/; revision=3045
2002-06-11 05:41:45 +00:00
Eric Kohl
6ac81e7954 Changed data structure which represents driver objects from MODULE_OBJECT to DRIVER_OBJECT.
Now a DriverEntry's RegistryPath string is usable automagically.

svn path=/trunk/; revision=3044
2002-06-10 23:04:48 +00:00
Hartmut Birr
0ddc3e2715 Reference/Dereference the process object in PiTerminateProcess.
svn path=/trunk/; revision=3043
2002-06-10 21:37:45 +00:00
Hartmut Birr
0dbc90e4e0 Unmap the pages first and than remove the entries from the allocation map in MmUnmapLockedPages.
svn path=/trunk/; revision=3042
2002-06-10 21:36:31 +00:00
Hartmut Birr
16068960f0 Replaced all calls to MmDereferencePage with MmReleasePageMemoryConsumer.
Added handling for multiple referenced pages in MmReleasePageMemoryConsumer.

svn path=/trunk/; revision=3041
2002-06-10 21:34:38 +00:00
Hartmut Birr
a64eec7e49 Added flushing of file streams.
svn path=/trunk/; revision=3040
2002-06-10 21:28:36 +00:00
Hartmut Birr
495dfc660f Rewrote fread/fwrite for a better/faster handling of reads/writes requests.
svn path=/trunk/; revision=3039
2002-06-10 21:26:36 +00:00
Hartmut Birr
9ac5422074 Fixed ftell for streams which are opened for reading and writing.
svn path=/trunk/; revision=3038
2002-06-10 21:23:34 +00:00
Hartmut Birr
f0cb69cade Fixed fflush for non dirty file streams.
svn path=/trunk/; revision=3037
2002-06-10 21:21:06 +00:00
Hartmut Birr
b971a7adc6 Fixed a minor bug in updEntry.
svn path=/trunk/; revision=3036
2002-06-10 21:19:18 +00:00
Hartmut Birr
f3e094f2f0 Updating the directory entries in VfatWrite only, if the allocation size has changed.
Added zeroing for files, if the write starts after the current end of the file.

svn path=/trunk/; revision=3035
2002-06-10 21:17:57 +00:00
Hartmut Birr
20a4914b89 Added updating of directory entries in VfatCleanupFile/VfatCloseFile.
svn path=/trunk/; revision=3034
2002-06-10 21:15:58 +00:00
Hartmut Birr
87e32585f2 Fixed a minor bug in CcSetFileSizes.
svn path=/trunk/; revision=3033
2002-06-10 21:13:26 +00:00
Hartmut Birr
8393c73b3b Implemented CcZeroData.
svn path=/trunk/; revision=3032
2002-06-10 21:11:56 +00:00
Eric Kohl
c4d4559cce Moved io/drvlck.c to mm.
Minimize access to the module object via the object manager.
Use module list for internal module management.
Protect module list with a spinlock.

svn path=/trunk/; revision=3031
2002-06-10 08:50:55 +00:00
Eric Kohl
c9e12ce035 Handle multi-string group order list properly.
svn path=/trunk/; revision=3030
2002-06-09 13:28:49 +00:00
Emanuele Aliberti
10514a1fd8 PSXSS: It seems the renamed csrterm did not get in the repository.
PSXSS: I try again.

svn path=/trunk/; revision=3029
2002-06-09 08:37:07 +00:00
Brian Palmer
662162a601 Fixed bug that was preventing FreeLoader from booting on FAT32 systems.
svn path=/trunk/; revision=3028
2002-06-09 00:03:58 +00:00
Brian Palmer
20327bf11a Changes in v1.3.1 (6/8/2002)
- Implemented MmAllocateMemoryAtAddress()
- Fixed Linux boot code to go through the memory manager to allocate memory at 1MB

svn path=/trunk/; revision=3027
2002-06-08 19:20:01 +00:00
Emanuele Aliberti
6eab84796a Mostly path fixing after new modules layout is in effect.
I renamed the terminal emulator CSRTERM: now it is named POSIXW32,
because it is a a door to reach the POSIX+ subsystem FROM the Win32
subsystem.

svn path=/trunk/; revision=3026
2002-06-08 16:28:05 +00:00
Eric Kohl
bb14287865 - Implement NtCreateToken()
- Implement RtlGetAce()
- Fix bug which cause RtlCreateAcl() to always fail.
- Cleanup parameter names and fix bug that caused a buffer overrun in RtlCopySidAndAttributesArray()
- When referencing the token object in NtQueryInformationToken() pass in either TOKEN_QUERY access or TOKEN_QUERY_SOURCE access. Passing in zero led to ObReferenceObjectByHandle() always failing with ACCESS_DENIED.
- Fixed NtQueryInformationToken() to check the buffer length and return STATUS_BUFFER_TO_SMALL and the required length.
- Ensure that the ReturnLength is set correctly when NtQueryInformationToken() succeeds. Previously, it was set to the number of bytes unused in the user buffer in some cases or not set at all.
- Handle case of NULL default dacl correctly in NtQueryInformationToken()
- Update main makefile to build apps\utils.
- Update makefiles in apps\utils to have the correct PATH_TO_TOP.
- Update main makefile to build apps\tests\tokentest

Written by Joseph Galbraith.

svn path=/trunk/; revision=3024
2002-06-07 23:00:20 +00:00
Eric Kohl
33cc33c731 Let services.exe load the auto-start drivers.
svn path=/trunk/; revision=3023
2002-06-07 20:11:03 +00:00
Hartmut Birr
e1a2eb2f0b Fixed the return value in GetFileSize.
svn path=/trunk/; revision=3022
2002-06-07 16:54:04 +00:00
Hartmut Birr
23ed00e90e Fixed the allocation size for the fat in VfatMount.
svn path=/trunk/; revision=3021
2002-06-07 16:53:18 +00:00
Eugene Ingerman
9910fb19ec Updated paths after directory was moved.
svn path=/trunk/; revision=3020
2002-06-07 05:35:04 +00:00
Eric Kohl
421ce5c9dc Fixed broken handling of SCSI port capabilities.
svn path=/trunk/; revision=3019
2002-06-06 23:20:08 +00:00
Brian Palmer
0bb513eddf Makefile fixes
svn path=/trunk/; revision=3018
2002-06-06 21:33:13 +00:00
Jason Filby
aa8aca9ec4 Don't define CC in makefile
svn path=/trunk/; revision=3017
2002-06-06 20:36:52 +00:00
Eric Kohl
6a97fcb4f7 Added full short name (8.3 name) support.
svn path=/trunk/; revision=3016
2002-06-06 19:01:04 +00:00
Eric Kohl
cf6fb9b64c Fixed another silly bug.
svn path=/trunk/; revision=3015
2002-06-06 18:59:50 +00:00
Jason Filby
51fddda8d4 Implemented NtUserPeekMessage
svn path=/trunk/; revision=3014
2002-06-06 17:50:16 +00:00
Eric Kohl
bee2ec8653 Added partial suppport for short names (8.3 names).
svn path=/trunk/; revision=3013
2002-06-06 16:20:52 +00:00
Eric Kohl
f9769b54cf Fixed a typo in RtlGenerate8dot3Name().
Added more tests to RtlIsNameLegalDOS8Dot3().

svn path=/trunk/; revision=3012
2002-06-06 16:17:26 +00:00
Eric Kohl
819490ac07 Fixed the copy length in RtlQueryRegistryValues(). Found by Hartmut Birr.
svn path=/trunk/; revision=3011
2002-06-06 14:03:58 +00:00
Brian Palmer
ac99fa1fdc Changes in v1.3 (6/5/2002)
- Added protected mode exception handling in case FreeLoader crashes
- Reworked memory manager to use all of extended memory
- Reworked UI code, now supports multiple text-mode resolutions

svn path=/trunk/; revision=3010
2002-06-06 05:58:37 +00:00
Hartmut Birr
998a072d3f Fixed the alocation size in NtRegisterThreadTerminatePort.
svn path=/trunk/; revision=3009
2002-06-05 19:38:08 +00:00
Hartmut Birr
a7c919c505 Created the object handle only if the object is created successful in ObCreateObject.
This fixes some crashs after changing to a nonexisting drive and
a message like 'Parent is a Directory which is not a device type'.

svn path=/trunk/; revision=3008
2002-06-05 19:37:12 +00:00
Hartmut Birr
2422bc4676 Fixed the wrong parameter odering in a call to memset in EiAddSharedOwner.
svn path=/trunk/; revision=3007
2002-06-05 19:36:10 +00:00
Hartmut Birr
69671d74e1 Fixed the copy length in RtlQueryRegistryValues.
svn path=/trunk/; revision=3006
2002-06-05 19:35:04 +00:00
Hartmut Birr
926cc1342f Fixed a test after a memory allocation in CmiInitPermanentRegistryHive.
svn path=/trunk/; revision=3005
2002-06-05 19:34:08 +00:00
Hartmut Birr
d55c657a07 Fixed the error string odering.
svn path=/trunk/; revision=3004
2002-06-05 19:33:11 +00:00
Hartmut Birr
6e8befbaa7 Fixed the declaration of _alloca/alloca.
svn path=/trunk/; revision=3003
2002-06-05 19:32:20 +00:00
Hartmut Birr
b37ed73013 Fixed the value CurrentTransferPages for splited requests in ScsiClassReadWrite.
svn path=/trunk/; revision=3002
2002-06-05 19:31:39 +00:00
Eric Kohl
9078342c24 Implemented RtlGenerate8dot3Name() and RtlIsNameLegalDOS8Dot3().
svn path=/trunk/; revision=3001
2002-06-05 16:53:36 +00:00
David Welch
3d3be3df27 2002-06-04 David Welch <welch@whitehall1-5.seh.ox.ac.uk>
* ntoskrnl/ke/i386/exp.c (KiDoubleFaultHandler): Print CR3
	correctly.

2002-06-04  David Welch  <welch@whitehall1-5.seh.ox.ac.uk>

	* ntoskrnl/include/internal/ps.h: Added KTHREAD_STACK_LIMIT definition.
	* ntoskrnl/ke/i386/tskswitch.S (Ki386ContextSwitch): Force all the
	pages of the kernel stack to be accessible from this process.

2002-06-04  David Welch  <welch@cwcom.net>

	* ntoskrnl/cc/view.c (ReadCacheSegmentChain): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/cc/copy.c (CcRosCreateCacheSegment): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/cc/copy.c (CcFreeCachePage): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/include/internal/mm.h: Changed prototypes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/include/internal/ps.h (KPROCESS): Changed type of
	page directory base to PHYSICAL_ADDRESS.
	* ntoskrnl/include/internal/i386/mm.h: Changed prototypes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/ke/kthread.c (KeFreeStackPage): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/ke/kthread.c (KeInitializeThread): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/ke/process.c (KeAttachProcess, KeDetachProcess): Changes
	to use PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/ke/kernel.c (PcrPages, KeApplicationProcessorInit): Changes
	to use PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/balance.c (MM_ALLOCATION_REQUEST): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/balance.c (MmReleasePageMemoryConsumer): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/balance.c (MmRequestPageMemoryConsumer): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/cont.c (MmFreeContinuousPage): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/cont.c (MmAllocateContinuousAlignedMemory): Changes to
	use PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/freelist.c (MmTransferOwnershipPage,
	MmGetLRUFirstUserPage, MmGetLRUNextUserPage, MmGetContinuousPages,
	MmInitializePageList, MmSetFlagsPage, MmSetRmapListHeadPage,
	MmGetRmapListHeadPage, MmMarkPageMapped, MmMarkPageUnmapped,
	MmGetFlagsPage, MmSetSavedSwapEntryPage, MmGetSavedSwapEntryPage,
	MmReferencePage, MmGetReferenceCountPage, MmIsUsablePage,
	MmDereferencePage, MmGetLockCountPage, MmLockPage, MmUnlockPage,
	MmAllocPage): Changes to use PHYSICAL_ADDRESS type for physical
	addresses.
	* ntoskrnl/mm/iospace.c (MmMapIoSpace): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/kmap.c (ExAllocatePage, MiZeroPage, MiCopyFromUserPage,
	ExAllocatePageWithPhysPage): Changes to use PHYSICAL_ADDRESS type for
	physical addresses.
	* ntoskrnl/mm/marea.c (MmFreeMemoryArea): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/mdl.c (MmUnlockPages, MmMapLockedPages,
	MmProbeAndLockPages): Changes to use PHYSICAL_ADDRESS type for
	physical addresses.
	* ntoskrnl/mm/mm.c (MmSharedDataPagePhysicalAddress,
	MmCommitPagedPoolAddress, MmNotPresentFault): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/mminit.c (MmInitVirtualMemory): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/ncache.c (MmAllocateNonCachedMemory,
	MmFreeNonCachedPage): Changes to use PHYSICAL_ADDRESS type for
	physical addresses.
	* ntoskrnl/mm/npool.c (grow_kernel_pool): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/rmap.c (MmPageOutPhysicalAddress, MmInsertRmap,
	MmDeleteAllRmaps, MmDeleteRmap): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/section.c (MiReadPage, MmNotPresentFaultSectionView,
	MmAccessFaultSectionView, MmPageOutDeleteMapping,
	MmPageOutSectionView, MmFreeSectionPage): Changes to use
	PHYSICAL_ADDRESS type for physical addresses.
	* ntoskrnl/mm/slab.c (ExGrowSlabCache): Changes to use
	PHYSICAL_ADDRESS type for physical address.
	* ntoskrnl/mm/virtual.c (MmPageOutVirtualMemory,
	MmNotPresentFaultVirtualMemory, MmFreeVirtualMemoryPage): Changes to
	use PHYSICAL_ADDRESS type for physical address.
	* ntoskrnl/mm/wset.c (MmTrimUserMemory): Changes to use
	PHYSICAL_ADDRESS type for physical address.
	* ntoskrnl/mm/page.c (Mmi386ReleaseMmInfo, MmCopyMmInfo,
	MmGetPhysicalAddressForProcess, MmCreateVirtualMapping,
	MmCreateVirtualMappingUnsafe, MmCreateVirtualMappingForProcess,
	MmDeleteVirtualMapping): Changes to use PHYSICAL_ADDRESS type for
	physical address.
	* ntoskrnl/ps/process (PsInitProcessManagment): Changes to use
	PHYSICAL_ADDRESS type for physical address.
	* ntoskrnl/ps/thread.c (PsAllocateCallbackStack): Changes to use
	PHYSICAL_ADDRESS type for physical address.

2002-06-04  David Welch  <welch@cwcom.net>

	* Lots of change since the ChangeLog was last updated.

svn path=/trunk/; revision=3000
2002-06-04 15:26:58 +00:00
Eric Kohl
a7a6f4a353 Fixed typo!
svn path=/trunk/; revision=2999
2002-06-04 14:14:07 +00:00
Eric Kohl
0fae9a2eac Fixed token type initialization.
svn path=/trunk/; revision=2998
2002-06-04 13:44:06 +00:00
Casper Hornstrup
a31f8b8f88 Corrected install.bat
svn path=/trunk/; revision=2997
2002-06-02 22:19:11 +00:00