Commit graph

50613 commits

Author SHA1 Message Date
Art Yerkes d9d0e1ad2a [FSRTL]
Fix my lock implementation to a degree.
- Have a single list associated with the CSQ.
- Remove some confusion from when the lock information was a
generic table.
- Make the compare function not be confused by attempts to
give strange offsets and lengths.
- Make the uninitialize function complete all lock requests
as specified.
- Remove my unneeded attempt to shoehorn in an eresource.

svn path=/trunk/; revision=56026
2012-03-05 09:49:06 +00:00
Art Yerkes bd9aa57445 [NEWCC]
Use the same method pagefile.c does to read in a page without mapping it.

svn path=/trunk/; revision=56025
2012-03-05 04:34:06 +00:00
Art Yerkes 4d698f45aa [NEWCC]
Fix paging out.
- We know we're in a wait entry in the section.  What we really want to know
is if it's safe to evict this address space when withdrawing the mappings.
- We don't want to corrupt our wait entry in the section page table to keep
accumulating dirty state into the page out process until it's time to finally
evict.

svn path=/trunk/; revision=56024
2012-03-05 02:20:22 +00:00
Art Yerkes 1490d48263 [NEWCC]
Prevent us from recording an impossible dirty swap entry in the section page table.

svn path=/trunk/; revision=56023
2012-03-05 01:52:47 +00:00
Cameron Gutman ea50be62a0 [NEWCC]
- Add missing wait entry handling

svn path=/trunk/; revision=56022
2012-03-04 23:45:16 +00:00
Pierre Schweitzer 3f0a38fdc9 [RAMDISK]
Implement RamdiskRemoveBusDevice.
Stubplement RamdiskDeleteDiskDevice.
Use them in RamdiskPnp.

svn path=/trunk/; revision=56021
2012-03-04 23:08:33 +00:00
Cameron Gutman c257a48ec6 [NTOSKRNL]
- Kill this straggler from last commit

svn path=/trunk/; revision=56020
2012-03-04 22:45:46 +00:00
Jérôme Gardou 24b9fc3fe0 [NTOSKRNL/MM]
- do not initialize idle process address space lock twice

svn path=/trunk/; revision=56019
2012-03-04 22:39:15 +00:00
Cameron Gutman 50e1500799 [NTOSKRNL]
- Consolidate most of the PDE reference counting code into the arch-specific RosMm folder where it belongs

svn path=/trunk/; revision=56018
2012-03-04 22:31:30 +00:00
Rafal Harabien 41364b7c5a [EXPLORER-NEW]
- Add more items to taskbar popup menu. Patch by Edijs Kolesnikovičs <terminedijs at yahoo dot com>
See issue #6242 for more details.

svn path=/trunk/; revision=56017
2012-03-04 22:07:27 +00:00
Pierre Schweitzer 8fdf9b6765 [RAMDISK]
Implement RamdiskScsi, RamdiskSystemControl, RamdiskPower

svn path=/trunk/; revision=56016
2012-03-04 21:42:16 +00:00
Cameron Gutman 4350714766 [NEWCC]
- Turn off a bit more debugging so NewCC is largely quiet unless there's a problem

svn path=/trunk/; revision=56015
2012-03-04 21:36:34 +00:00
Cameron Gutman 28a5fcc313 [NTOSKRNL]
- Fix a major bug in the failure path of IoCreateDevice that would cause corruption of kernel memory if IopCreateVpb failed

svn path=/trunk/; revision=56014
2012-03-04 21:18:01 +00:00
Rafal Harabien f8ada9b34d [SHELL32]
- Fix folder properties dialog. Patch by Edijs Kolesnikovičs <terminedijs at yahoo dot com>
See issue #6832 for more details.

svn path=/trunk/; revision=56013
2012-03-04 20:58:37 +00:00
Jérôme Gardou 5b9d2a760e [NTOSKRNL/MM]
- initialize VmWorkingSet pointer for system process.
Should fix random crashes when paging out.

svn path=/trunk/; revision=56012
2012-03-04 20:30:42 +00:00
Rafal Harabien 8a1d72a7cd [SHELL32]
- Improve shortcut properties dialog. Patch by Edijs Kolesnikovičs <terminedijs at yahoo dot com>
See issue #6848 for more details.

svn path=/trunk/; revision=56011
2012-03-04 20:28:29 +00:00
Sir Richard 61dab06b71 [NTOS]: For debugging only, want to see what is excercising MmAllocatePagesForMdl. The way I wrote this seems broken, but I can't find anything to test it with.
svn path=/trunk/; revision=56010
2012-03-04 19:51:22 +00:00
Pierre Schweitzer 4f16fa360c [RAMDISK]
Implement RamdiskFlushBuffers, RamdiskUnload

svn path=/trunk/; revision=56009
2012-03-04 19:48:09 +00:00
Kamil Hornicek b9862648ef [WIN32K]
Take the "unsignedness" of the index into account.

svn path=/trunk/; revision=56007
2012-03-04 19:20:25 +00:00
Pierre Schweitzer 300da180c0 [RAMDISK]
Implement RamdiskSetPartitionInfo and make use of it
Also use RamdiskGetPartitionInfo in RamdiskWorkerThread

svn path=/trunk/; revision=56002
2012-03-04 18:32:07 +00:00
Jérôme Gardou 75e0ec3feb [NTOSKRNL]
- fix code assuming System process pointer is never NULL, which is the case when we're creating it.

svn path=/trunk/; revision=56001
2012-03-04 17:57:44 +00:00
Sir Richard 645e6a793a [MEGAPERF]: This build introduces the following performance boosts:
- Using a dead stack lookaside list for up to 5 dead kernel thread stacks. 1500% improvement when rapidly destroying/creating threads, such as during second stage setup and many winetests.
- Using a free pool page lookaside list for up to 12 free non-paged or paged pool pages. 800% improvement when allocating big pages from the pool, as well as during pool expansion.
- Using a bucketized per-processor and local list (in the KPRCB) for block sizes between 1 and 32 bytes. 1000% improvement when rapidly allocating/freeing small pool allocations, and 8x reduction in pool fragmentation.

svn path=/trunk/; revision=56000
2012-03-04 17:56:00 +00:00
Sir Richard 6c3e9221be [NTOS]: Drop a reference count to the page table in MiDeleteSystemPageableVm as ARM3 now owns PDEs. This helps out yet again to free a little bit of extra RAM up.
svn path=/trunk/; revision=55999
2012-03-04 17:42:56 +00:00
Timo Kreuzer e3e2689cbf [GENDIB]
- Generate ansi style indentation
- Fix signed/unsigned MSVC warnings in generated code

svn path=/trunk/; revision=55998
2012-03-04 13:33:07 +00:00
Timo Kreuzer 10dabf2876 [GENDIB]
Fix formatting

svn path=/trunk/; revision=55997
2012-03-04 13:06:02 +00:00
Pierre Schweitzer d2e6e7b9d0 [NTOSKRNL]
Comment out two overzealous ASSERTs

svn path=/trunk/; revision=55996
2012-03-04 12:52:02 +00:00
Timo Kreuzer 354085c7e8 [WIN32K]
Fix build 2

svn path=/trunk/; revision=55995
2012-03-04 12:01:59 +00:00
Timo Kreuzer 3159c6f62f [WIN32K]
Fix build

svn path=/trunk/; revision=55994
2012-03-04 11:43:08 +00:00
Timo Kreuzer a508886eb0 [WIN32K]
- Fix a possible integer overflow in NtGdiCreateBitmap
- Don't cast length of LARGE_STRING (ULONG) to USHORT, instead truncate to MAXUSHORT. This is still hacky, but better than before.
- Fix MSVC warnings

svn path=/trunk/; revision=55993
2012-03-04 11:32:43 +00:00
Johannes Anderwald a5bdcfa727 [LIBUSB]
- Fix bug while scanning endpoint descriptors
- Do not assume interface info has the correct number of pipes set
- Fix alternate interface handling
- Tested in VBox + USB Audio Device

svn path=/trunk/; revision=55992
2012-03-04 11:07:13 +00:00
Sir Richard 9bb1ba5ee4 [NTOS]: If the address space is exhausted, don't ASSERT, simply return failure just as Windows does. Should fix the last of the ASSERTions on TestBot.
Next step is to support VirtualProtect/Query correctly.

svn path=/trunk/; revision=55991
2012-03-04 07:04:42 +00:00
Sir Richard 83a2328786 [NTOS]: Blimey this was a hard one. When using the reserved flag to request 1MB in a new process (which is used for starting SMSS and CSRSS), we must request 1MB - 256 bytes (or any number, actually) to offset the fact that with a base address of 0x4, a 1MB region gets us at 0x100FFF, and not 0xFFFF, because Windows computes ending address *before* alignment, and then returns a new region size for you (so if you pass in 1MB, you get 1MB + 4096KB). In Win32csr, when the code is trying to release 1MB, this ended up in our "Case A", because it would still leave a page in the VAD. Fixed rtl to request just shy off a MB. Verified on Windows as well.
[NTOS]: The fix above was due to fixing "EndingAddress" which was being initialized to zero too late (after writing to it!). This caused allocations with a fixed base address that were already on top of another allocation not to be seen as a conflict, then we tried inserting a VAD and received an ASSERT saying we've already found a VAD there. After fixing the sizing code, the bug above creeped up.
Whoever wrote the NtFreeVirtualMemory test is a godsend. It has been nailing bug after bug in the VAD implementation. Thank you.

svn path=/trunk/; revision=55990
2012-03-04 06:42:49 +00:00
Johannes Anderwald acb68dc20d [KS]
- Fix property item merge in KsMergeAutomationTable

 

svn path=/trunk/; revision=55989
2012-03-04 04:44:48 +00:00
Sir Richard 4411be35e7 [NTOS]: Release the *right* lock. "Fix the fix" as the yuppies say.
svn path=/trunk/; revision=55988
2012-03-04 03:18:47 +00:00
Alex Ionescu 26b48236fb [WIN32K]: Should fix usb/livecd failure reported by igorko. bug 6696..or something?
svn path=/trunk/; revision=55987
2012-03-04 03:06:20 +00:00
Alex Ionescu a604834220 [SMSS]: No longer fail on invalid known DLL checksum until I can fix the loader API.
svn path=/trunk/; revision=55986
2012-03-04 03:00:01 +00:00
Sir Richard 4c07bf2fcd [NTOS]: Don't keep the address space locked when failing in NtFreeVirtualMemory. Dang this testbot is good at catching those bugs.
svn path=/trunk/; revision=55985
2012-03-04 02:56:16 +00:00
Johannes Anderwald 0e20c445f1 [KS]
- Handle custom sized nodes

svn path=/trunk/; revision=55984
2012-03-04 02:39:37 +00:00
Johannes Anderwald 0b301f3da8 [USBHUB]
- Implement retrieving USB_BUS_INTERFACE_USBDI_GUID interface
[KS]
- Add PnP hack for IoSetDeviceInterfaceState

svn path=/trunk/; revision=55983
2012-03-04 02:17:13 +00:00
Sir Richard 9732b09bc6 [NTOS]: Delete anonmem.c and move the ARM3-compatible code to ARM3/virtual.c. Whatever remained is for sections only, so move it to mm/section.c
[NTOS]: Fix some broken assertions in NtFreeVirtualMemory. Lesson: Do not try to "optimize" Microsoft's ASSERTs.

svn path=/trunk/; revision=55982
2012-03-04 02:03:46 +00:00
Sir Richard 2d534ce868 [RTL]: Sorry, forgot this critical part of the VAD commit.
svn path=/trunk/; revision=55981
2012-03-04 00:47:20 +00:00
Cameron Gutman 79dd33a566 [UNIATA]
- Try to fix KVM testbot

svn path=/trunk/; revision=55980
2012-03-03 23:13:21 +00:00
Cameron Gutman 2b71ec3e05 [USETUP]
- Turn off debugging
- Fix the checkpoint print so it doesn't happen anytime a usetup progress bar reaches 50%

svn path=/trunk/; revision=55979
2012-03-03 23:04:10 +00:00
Cameron Gutman 6b93fbc2de [STORAGE]
- Back by popular demand, the storage driver to end all storage drivers, uniata!
- I had forgotten how many issues atapi had itself and the hardware compatibility improvement (if there was one) was offset by lack of features

svn path=/trunk/; revision=55978
2012-03-03 22:46:04 +00:00
Sir Richard 08e91a3df6 [NTOS]: Implement VAD-based Virtual Memory Management. MEMORY_AREA_VIRTUAL_MEMORY is gone. Tested for 3 days with various experiments and handled all the cases and issues that appeared. Some code paths are not implemented because they were not encountered. Will consider implementing them if anything breaks -- note however that those code paths were not handled in RosMM either, so no new regressions are expected.
Hoping this will work on other configurations other than just my test virtual machine. If so, it is a big day in Mm history. Only sections and cache still use the old Mm functionality. I -will- revert this if all hell breaks loose.

svn path=/trunk/; revision=55977
2012-03-03 22:34:35 +00:00
Cameron Gutman 297eb4a462 [USBCCGP]
- Implement support for getting string descriptors (may need more work)
- USB mass storage devices which are part of a composite device now initialize

svn path=/trunk/; revision=55976
2012-03-03 21:23:04 +00:00
Hervé Poussineau 3e4f41c5e9 ntoskrnl: fix pointer dereference before testing for it
svn path=/trunk/; revision=55975
2012-03-03 21:11:42 +00:00
Timo Kreuzer f99547ad97 [PSDK] Add missing definitions to wingdi.h
[WIN32K] Fix MSVC warnings

svn path=/trunk/; revision=55974
2012-03-03 20:57:42 +00:00
Hervé Poussineau b541b98d59 freeldr/pxe: remove some traces
svn path=/trunk/; revision=55973
2012-03-03 20:57:17 +00:00
Hervé Poussineau 22f20d79fc Revert most of r53392 effects.
When IoReportDetectedDevice() creates a PDO, the PDO is in no way related to the DriverObject given to the function.
Driver calling IoReportDetectedDevice() should then ensure that it attachs a FDO on top of this PDO.

svn path=/trunk/; revision=55972
2012-03-03 20:39:51 +00:00