Commit graph

50641 commits

Author SHA1 Message Date
Rafal Harabien 6e4c0662ea [GDIPLUS_WINETEST]
- Sync to Wine 1.3.37

svn path=/trunk/; revision=56056
2012-03-05 20:18:32 +00:00
Rafal Harabien 4ecb1c4ca7 [GDIPLUS]
- Sync to Wine 1.3.37

svn path=/trunk/; revision=56055
2012-03-05 20:17:42 +00:00
Jérôme Gardou a9d90422fd first cause of broken commits: the headers. Addendum r56048
svn path=/trunk/; revision=56054
2012-03-05 20:08:08 +00:00
Rafal Harabien ea7b00c53e [HIDPARSER]
- Implement translating customer page to scan-codes

svn path=/trunk/; revision=56053
2012-03-05 19:58:43 +00:00
Cameron Gutman 0c5896f63f [NTOSKRNL]
- Assert that the PFN lock is held during MmReferencePage
- Assert that the PFN lock is not held during MmFreeMemoryArea

svn path=/trunk/; revision=56052
2012-03-05 19:54:00 +00:00
Cameron Gutman cfb8d5658b [NEWCC]
- Check that the memory area is not being deleted before using it

svn path=/trunk/; revision=56051
2012-03-05 19:48:24 +00:00
Cameron Gutman d78bbd2aab [NTOSKRNL]
- Fix incorrect placement of the PDE freeing code which caused a deadlock to occur if a low memory condition was indicated by ARM3

svn path=/trunk/; revision=56050
2012-03-05 19:40:44 +00:00
Cameron Gutman 9973fe86bf [NEWCC]
- Hold the PFN lock when referencing pages

svn path=/trunk/; revision=56049
2012-03-05 19:29:39 +00:00
Jérôme Gardou 4a78d2e988 [CABINET]
- Really use random temporary file name

svn path=/trunk/; revision=56048
2012-03-05 19:18:19 +00:00
Cameron Gutman 18a6ac6ae4 [NEWCC]
- Don't allow a locked page to be paged out

svn path=/trunk/; revision=56047
2012-03-05 19:15:15 +00:00
Rafal Harabien 76f7011ac8 [HIDPARSER]
- Fix scan-codes for PrintScreen and PauseBreak

svn path=/trunk/; revision=56046
2012-03-05 19:07:01 +00:00
Jérôme Gardou c3d23e2e30 [CABINET]
- always close the cabinet after being done, even of case of failure.

svn path=/trunk/; revision=56045
2012-03-05 18:51:05 +00:00
Cameron Gutman 97fa0caa77 [NEWCC]
- Revert 56043

svn path=/trunk/; revision=56044
2012-03-05 18:50:12 +00:00
Cameron Gutman 5ebff54d57 [NEWCC]
- Turn NewCC on temporarily for some testing
- Patchbot is broken so I had to do it this way :(

svn path=/trunk/; revision=56043
2012-03-05 18:42:40 +00:00
Jérôme Gardou 8cad601e40 [CABINET]
- always test your code before commiting, I'm sure I already told you that.

svn path=/trunk/; revision=56042
2012-03-05 18:37:33 +00:00
Jérôme Gardou f14cc87389 [CABMAN]
- Try to fix some drama

svn path=/trunk/; revision=56041
2012-03-05 18:22:36 +00:00
Cameron Gutman 9234774efe [NEWCC]
- Tag NewCC sections as ROS section objects so they don't get pulled into ARM3 code paths

svn path=/trunk/; revision=56040
2012-03-05 17:35:07 +00:00
Sir Richard e4e166e6ae [NTOS]: Use ARM3 sections for the NLS mapping -- excercises both the system mapping as well as the per-process mapping. WorksForMe(c). Hopefully things will be better than last time now, and their usage can increase.
svn path=/trunk/; revision=56039
2012-03-05 17:10:51 +00:00
Cameron Gutman 4e9be483ad [NTOSKRNL]
- Use ARM3 hyperspace mapping calls instead of the legacy RosMm API

svn path=/trunk/; revision=56038
2012-03-05 17:08:02 +00:00
Rafal Harabien e6c3edf112 [KBDHID][HIDPARSER]
- Fix extended keys (scan-codes prefixed with E0) translation. Fixes Win-key.

svn path=/trunk/; revision=56037
2012-03-05 17:07:15 +00:00
Cameron Gutman 676849ab0b [NTOS]
- Fix a broken assertion

svn path=/trunk/; revision=56036
2012-03-05 16:48:26 +00:00
Sir Richard d124bde10c Two Part Patch which fixes ARM3 Section Support (not yet enabled). This had been enabled in the past for testing and resulted in bizare crashes during testing. The amount of fixing required should reveal why:
Part 1: Page Fault Path Fixes
[NTOS]: As an optimization, someone seems to have had changed the MiResolveDemandZeroFault prototype not to require a PTE, and to instead take a protection mask directly. While clever, this broke support for ARM3 sections, because the code was now assuming that the protection of the PTE for the input address should be used -- while in NT Sections we instead use what are called ProtoType PTEs. This was very annoying to debug, but since the cause has been fixed, I've reverted back to the old convention in which the PTE is passed-in, and this can be a different PTE than the PTE for the address, as it should be.
[NTOS]: Due to the reverting of the original path, another optimization, in which MiResolveDemandZeroFault was being called directly instead of going through MiDispatchFault and writing an invalid demand-zero PDE has also been removed. PDE faults are now going through the correct, expected path.
[NTOS]: MiResolveDemandZeroFault was always creating Kernel PTEs. It should create User PTEs when necessary.
[NTOS]: MiDeletePte was assuming any prototype PTE is a forked PTE. Forked PTEs only happen when the addresses in the PTE don't match, so check for that too.
Part 2: ARM3 Section Object Fixes
[NTOS]: Fix issue when trying to make both ROS_SECTION_OBJECTs and NT's SECTION co-exist. We relied on the *caller* knowing what kind of section this is, and that can't be a good idea. Now, when the caller requests an ARM3 section vs a ROS section, we use a marker to detect what kind of section this is for later APIs.
[NTOS]: For section VADs, we were storing the ReactOS MEMORY_AREA in the ControlArea... however, the mappings of one individual section object share a single control area, even though they have multiple MEMORY_AREAs (one for each mapping). As such, we overwrote the MEMORY_AREA continously, and at free-time, double or triple-freed the same memory area.
[NTOS]: Moved the MEMORY_AREA to the "Banked" field of the long VAD, instead of the ControlArea. Allocate MMVAD_LONGs for ARM3 sections for now, to support this. Also, after deleting the MEMORY_AREA while parsing VADs, we now use a special marker to detect double-frees, and we also use a special marker to make sure we have a Long VAD as expected.

svn path=/trunk/; revision=56035
2012-03-05 16:41:46 +00:00
Stefan Ginsberg 5219e590b0 [NTOS]
- Fix handling of command strings in KdpTrap.

svn path=/trunk/; revision=56034
2012-03-05 14:52:03 +00:00
Cameron Gutman b244ec1114 [USBSTOR]
- Deny removal to fix a race with the legacy disk class driver

svn path=/trunk/; revision=56033
2012-03-05 14:42:05 +00:00
Stefan Ginsberg 9816f534ee [PSDK]
- Update DBGKD_MAJOR_TYPES. Dedicated to Alex ;)

svn path=/trunk/; revision=56031
2012-03-05 13:02:21 +00:00
Stefan Ginsberg bb50e00be0 [XDK]
- Forgot this one in 55840

svn path=/trunk/; revision=56029
2012-03-05 12:57:08 +00:00
Stefan Ginsberg 549d8709b3 [FREELDR]
- Give freeldr its own RtlAssert to avoid linking to the one in rtl. Makes it possible to use the DbgPrompt version (currently #if 0-ed) of RtlAssert in ntdll/ntos without breaking freeldr linking.

svn path=/trunk/; revision=56028
2012-03-05 12:50:08 +00:00
Kamil Hornicek caefd349c5 [TRANSLATION]
- Follow-up to r55891.
- Resource cleanup.

svn path=/trunk/; revision=56027
2012-03-05 11:13:13 +00:00
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