Commit graph

50655 commits

Author SHA1 Message Date
Cameron Gutman
f184a271ca [NTOSKRNL]
- Hack IopDeleteDriver to workaround the boot driver unloading bugs I mailed ros-dev about
- Should fix KVM testbot

svn path=/trunk/; revision=56071
2012-03-07 00:14:13 +00:00
Cameron Gutman
e97f05f899 [NTOSKRNL]
- Don't zero a page again that is already zeroed

svn path=/trunk/; revision=56070
2012-03-07 00:01:51 +00:00
Cameron Gutman
092d67d890 [NTOSKRNL]
- Fix the unload path
- This does expose some bugs: 2 cont-able assertions in ARM3 after unplugging a USB storage device (during usbstor unload), HID unload doesn't seem to work correctly (somebody still has references to the devices), other issues may pop up too

svn path=/trunk/; revision=56069
2012-03-06 22:50:13 +00:00
Cameron Gutman
ca8ba290ce [NTOSKRNL]
- Cleanup device removal/unloading
- Should not have any behavior changes yet

svn path=/trunk/; revision=56068
2012-03-06 22:36:27 +00:00
Cameron Gutman
ccae886429 [MOUCLASS][KBDCLASS]
- Fix a file object reference leak on legacy enumerated keyboard and mouse port drivers

svn path=/trunk/; revision=56067
2012-03-06 22:20:02 +00:00
Cameron Gutman
8fb6abbc24 [NTOSKRNL]
- Fix yet another major device object reference leak (1 per power IRP)

svn path=/trunk/; revision=56066
2012-03-06 22:06:44 +00:00
Cameron Gutman
2a70af6641 [NTOSKRNL]
- Fix a major device object reference leak (1 per PnP IRP)

svn path=/trunk/; revision=56065
2012-03-06 21:58:29 +00:00
Cameron Gutman
bb4fbc5ac7 [USBCCGP]
- Add a DriverUnload handler as required by WDM spec

svn path=/trunk/; revision=56064
2012-03-06 21:24:36 +00:00
Cameron Gutman
f706d2ed15 [NTOSKRNL]
- Fix several driver object reference leaks
- Fix a kmtest regarding previously loaded drivers
- Part 1 of getting PnP driver unload to work properly

svn path=/trunk/; revision=56063
2012-03-06 21:07:25 +00:00
Timo Kreuzer
6ca9e86d16 [WIN32K]
Initialize the DC's CombinedClip when creating the DC. Fixes a crash caused by Explorer++

svn path=/trunk/; revision=56061
2012-03-06 10:33:28 +00:00
Stefan Ginsberg
5001cb2608 - Stop using ObfXXX and IofXXX in C code. This is bad style. Always use the non-f versions in C code.
- Fix the way we undefined IoCallDriver and IoCompleteRequest so existing and future code in irp.c will use the correct function when using the Io* versions.
Part 1 of 2.

svn path=/trunk/; revision=56060
2012-03-05 20:43:47 +00:00
Jérôme Gardou
44ea840535 There are days like that, when you'd better refrain from commit anything.
svn path=/trunk/; revision=56059
2012-03-05 20:34:50 +00:00
Jérôme Gardou
a0e5de9deb [UXTHEME]
- fix a few winetest
Patch by Ben Pye (bfhben __ gmail __ com)

svn path=/trunk/; revision=56058
2012-03-05 20:21:43 +00:00
Rafal Harabien
2181eb4926 [CMAKE]
- Fix GCC warnings when building cmlib

svn path=/trunk/; revision=56057
2012-03-05 20:20:50 +00:00
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