KJK::Hyperion [Wed, 8 Jul 2009 19:30:02 +0000 (19:30 +0000)]
modified tests/pseh2/psehtest.c
Test case for bug #4663 (still unsolved)
New sanity check for correct unlinking of the frame. !!!EIGHTY TESTS OUT OF NINETY-THREE CURRENTLY FAIL THIS!!!
svn path=/trunk/; revision=41810
Jeffrey Morlan [Wed, 8 Jul 2009 17:28:21 +0000 (17:28 +0000)]
In cmd: free all memory before exiting to prevent "memory leak" messages (bug 4510). Also, CMD /? should exit with a code of 1 instead of 0.
svn path=/trunk/; revision=41808
Thomas Bluemel [Wed, 8 Jul 2009 16:57:12 +0000 (16:57 +0000)]
Simplify code, thx Ged
svn path=/trunk/; revision=41807
Timo Kreuzer [Wed, 8 Jul 2009 16:19:11 +0000 (16:19 +0000)]
[FORMATTING]
no code change
svn path=/trunk/; revision=41806
Thomas Bluemel [Wed, 8 Jul 2009 14:33:25 +0000 (14:33 +0000)]
Allow activating tasks
svn path=/trunk/; revision=41805
Cameron Gutman [Wed, 8 Jul 2009 07:33:12 +0000 (07:33 +0000)]
- Fix retrieval of the default gateway (missing default gateway in ipconfig)
svn path=/trunk/; revision=41803
Cameron Gutman [Wed, 8 Jul 2009 07:02:33 +0000 (07:02 +0000)]
- Remove an old hack (r14812) which limited ROS to use only one DNS server
svn path=/trunk/; revision=41802
KJK::Hyperion [Wed, 8 Jul 2009 00:48:05 +0000 (00:48 +0000)]
Reverting part of r40006 that introduced a regression (Arch Blackmann HAS been committing to mingw-w64). A real fix, if this is hiding a bug elsewhere, will have to wait until a proper vendor drop of mingw-w64
svn path=/trunk/; revision=41801
Gregor Schneider [Tue, 7 Jul 2009 16:58:36 +0000 (16:58 +0000)]
AlphaBlend:
- Return immediately if any bitmap size is smaller than zero
- Also check calculated input bitmap size against source size
- Remove outdated FIXME
- Fixes three gdi32 bitmap winetests
svn path=/trunk/; revision=41800
Gregor Schneider [Tue, 7 Jul 2009 16:19:34 +0000 (16:19 +0000)]
Geoffroy Couprie <geo DOT couprie AT gmail DOT com>:
- Fix a printf case, where the exponent is zero
- Implement exponent increment/decrement for printf in scientific notation
My changes <grschneider AT gmail DOT com>:
- Change some lessequal/greaterequal to equal
- Exchange OR with AND operation
- Modify patch identation to match current code, remove FIXME
- Skipped the ecvt part of the patch (not needed, sprint has the bugs)
- Fixes five msvcrt printf winetests, see bug #4584 for more information
svn path=/trunk/; revision=41799
James Tabor [Tue, 7 Jul 2009 16:19:23 +0000 (16:19 +0000)]
- Add another Vista function WindowFromPhysicalPoint to user32.
svn path=/trunk/; revision=41798
Cameron Gutman [Tue, 7 Jul 2009 05:29:37 +0000 (05:29 +0000)]
- Recommit r41782 now that DHCP is ready for the fix
- Start the indexes at 0 (Software loopback will take index 0)
svn path=/trunk/; revision=41797
Cameron Gutman [Tue, 7 Jul 2009 04:47:48 +0000 (04:47 +0000)]
- Remove a bad ASSERT
- TCPPacketSendComplete isn't called from oskittcp
svn path=/trunk/; revision=41796
Cameron Gutman [Tue, 7 Jul 2009 04:40:54 +0000 (04:40 +0000)]
- Set Size to the size of the buffer we allocated (it previously had stack garbage in it which prevented proper buffer sizing)
- Fixes a buffer overwrite
- Multiple NIC support is here! (DHCP currently doesn't work for multiple NICs so a static IP address is needed for now)
svn path=/trunk/; revision=41795
James Tabor [Tue, 7 Jul 2009 03:23:27 +0000 (03:23 +0000)]
- Hit another one. Check window is still alive.
svn path=/trunk/; revision=41794
James Tabor [Tue, 7 Jul 2009 00:06:54 +0000 (00:06 +0000)]
- Check window is still alive.
svn path=/trunk/; revision=41793
Stefan Ginsberg [Mon, 6 Jul 2009 23:35:59 +0000 (23:35 +0000)]
- Remove a deprecated check from MmpAccessFault -- PsGetCurrentProcess doesn't return NULL since revision 24148.
svn path=/trunk/; revision=41792
James Tabor [Mon, 6 Jul 2009 20:57:23 +0000 (20:57 +0000)]
- Update apptest.
svn path=/trunk/; revision=41791
James Tabor [Mon, 6 Jul 2009 20:56:48 +0000 (20:56 +0000)]
- fix build.
svn path=/trunk/; revision=41790
James Tabor [Mon, 6 Jul 2009 20:56:17 +0000 (20:56 +0000)]
- Update UpdateLayeredWindow and Indirect.
svn path=/trunk/; revision=41789
Dmitry Gorbachev [Mon, 6 Jul 2009 18:28:11 +0000 (18:28 +0000)]
"Fix" MDL PROBE FAILED! bug #4663.
svn path=/trunk/; revision=41788
Dmitry Gorbachev [Mon, 6 Jul 2009 18:26:57 +0000 (18:26 +0000)]
Fix compilation with latest GCC.
svn path=/trunk/; revision=41787
KJK::Hyperion [Mon, 6 Jul 2009 18:19:05 +0000 (18:19 +0000)]
Reverting incomplete commit r41782 on request of the author
svn path=/trunk/; revision=41786
James Tabor [Mon, 6 Jul 2009 16:24:00 +0000 (16:24 +0000)]
- Update apitests.
svn path=/trunk/; revision=41785
James Tabor [Mon, 6 Jul 2009 16:22:11 +0000 (16:22 +0000)]
- Update NtGdiOpenDCW to the newest sdk.
svn path=/trunk/; revision=41784
Cameron Gutman [Mon, 6 Jul 2009 07:54:28 +0000 (07:54 +0000)]
- Fix return value of tdiGetMibForIfEntity so it doesn't return a failure status on success
svn path=/trunk/; revision=41783
Cameron Gutman [Mon, 6 Jul 2009 04:13:55 +0000 (04:13 +0000)]
- Register us as a protocol and start the loopback adapter only after we are fully initialized
- Start the loopback adapter before registering as a protocol so binding happens in the correct order (will be important for my next commit)
- TODO: Cleanup this code
svn path=/trunk/; revision=41782
Matthias Kupfer [Sun, 5 Jul 2009 15:02:29 +0000 (15:02 +0000)]
If you hit the close button the taskmanager shouldn't start up anymore
svn path=/trunk/; revision=41781
Dmitry Gorbachev [Sun, 5 Jul 2009 14:51:07 +0000 (14:51 +0000)]
Update Norwegian translations. Lars Martin Hambro, bug #4655.
svn path=/trunk/; revision=41780
Dmitry Gorbachev [Sun, 5 Jul 2009 14:08:10 +0000 (14:08 +0000)]
If exception occurs, leave critical section. Bug #4431.
svn path=/trunk/; revision=41779
James Tabor [Sun, 5 Jul 2009 07:47:41 +0000 (07:47 +0000)]
- Move PostThreadMessage internals into its own function.
svn path=/trunk/; revision=41778
James Tabor [Sun, 5 Jul 2009 04:00:59 +0000 (04:00 +0000)]
- Discontinue the use of thread information for the hook check and use client information.
- Moved code around to make it readable.
svn path=/trunk/; revision=41777
James Tabor [Sun, 5 Jul 2009 02:21:35 +0000 (02:21 +0000)]
- Implement the client shutdown procedure. Tested with wine user32 msg undocumented 0x3B tests. Wine tests: msg: 6175 tests executed (0 marked as todo, 937 failures), 5 skipped.
- Add missing end session types.
- Reference: winproc.c WM_CLIENTSHUTDOWN http://wiki.winprog.org/wiki/Windows_messages
svn path=/trunk/; revision=41776
Cameron Gutman [Sat, 4 Jul 2009 21:28:39 +0000 (21:28 +0000)]
- Revert r41761
svn path=/trunk/; revision=41775
James Tabor [Sat, 4 Jul 2009 16:43:59 +0000 (16:43 +0000)]
- Cleanup patch tab removeal.
svn path=/trunk/; revision=41773
James Tabor [Sat, 4 Jul 2009 16:31:11 +0000 (16:31 +0000)]
- Updates and changes to, with one add on and removal: MenuWindowProc (Not supported in kernel space), PopupMenuWndProcA, PostMessage, SendNotifyMessage and win32k hook debugs.
- Patch by Smiley <johnyadams@hotmail.com>: Wrong PostMessage and SendNotifyMessage behavior, see Bug 4646.
- Reference: Related to TranslateMessage: http://msdn.microsoft.com/en-us/library/
aa912145.aspx , Related to PopupMenuWndProcA: Registration of Atom classes, Unicode only: http://www.reactos.org/archives/public/ros-dev/2007-October/009976.html
svn path=/trunk/; revision=41772
Timo Kreuzer [Sat, 4 Jul 2009 13:56:33 +0000 (13:56 +0000)]
Implement PALETTE_ulGetNearestPaletteIndex and PALETTE_ulGetRGBColorFromIndex, replacing COLOR_LookupNearestColor and COLOR_PaletteLookupPixel
Implement PALETTE_vGetBitMasks
svn path=/trunk/; revision=41771
Christoph von Wittich [Sat, 4 Jul 2009 11:52:35 +0000 (11:52 +0000)]
sync localui with wine 1.1.25
svn path=/trunk/; revision=41770
Christoph von Wittich [Sat, 4 Jul 2009 11:49:53 +0000 (11:49 +0000)]
sync jscript with wine 1.1.25
svn path=/trunk/; revision=41769
Christoph von Wittich [Sat, 4 Jul 2009 11:47:38 +0000 (11:47 +0000)]
sync cryptui with wine 1.1.25
svn path=/trunk/; revision=41768
Timo Kreuzer [Sat, 4 Jul 2009 11:45:42 +0000 (11:45 +0000)]
Remove useless function
svn path=/trunk/; revision=41767
Christoph von Wittich [Sat, 4 Jul 2009 11:44:39 +0000 (11:44 +0000)]
sync cryptdlg with wine 1.1.25
svn path=/trunk/; revision=41766
Christoph von Wittich [Sat, 4 Jul 2009 11:41:32 +0000 (11:41 +0000)]
sync crypt32 with wine 1.1.25
svn path=/trunk/; revision=41765
Dmitry Chapyshev [Sat, 4 Jul 2009 08:48:18 +0000 (08:48 +0000)]
- GetProcessHeap -> RtlGetProcessHeap
- Add checks at heap allocation
- Add some debug prints
svn path=/trunk/; revision=41764
Cameron Gutman [Sat, 4 Jul 2009 03:36:19 +0000 (03:36 +0000)]
- Don't use a global interface_info struct
- This should allow for multiple NIC support but it's currently broken because GetIfTable returns invalid information for NICs after the first one which prevents DHCP initialization for those adapters
svn path=/trunk/; revision=41763
Timo Kreuzer [Sat, 4 Jul 2009 00:18:32 +0000 (00:18 +0000)]
Merge eng/palette.c, objects/palobj.c and objects/color.c into objects/palette.c, dropping some useless bitrotting code. The rest of the code needs some love and cleanup.
Btw, Arch, how's the weather?
svn path=/trunk/; revision=41762
Cameron Gutman [Sat, 4 Jul 2009 00:04:05 +0000 (00:04 +0000)]
- Fix a typo
svn path=/trunk/; revision=41761
Timo Kreuzer [Fri, 3 Jul 2009 23:06:04 +0000 (23:06 +0000)]
[FORMATTING]
palette.c: remove extended header, fix indentation, no code change
svn path=/trunk/; revision=41760
Timo Kreuzer [Fri, 3 Jul 2009 22:47:33 +0000 (22:47 +0000)]
[FORMATTING]
palobj.c: Fix indentation, no code change.
svn path=/trunk/; revision=41759
Sylvain Petreolle [Fri, 3 Jul 2009 22:41:56 +0000 (22:41 +0000)]
- Disable debugging flood
svn path=/trunk/; revision=41758
Dmitry Chapyshev [Fri, 3 Jul 2009 11:21:42 +0000 (11:21 +0000)]
- .def -> .spec
- Add stubs for AsrAddSifEntryW, AsrCreateStateFileW, AsrFreeContext, AsrRestorePlugPlayRegistryData
svn path=/trunk/; revision=41756
Dmitry Chapyshev [Fri, 3 Jul 2009 09:53:34 +0000 (09:53 +0000)]
- Fixes return values for PeekMessageA/W
svn path=/trunk/; revision=41755
Dmitry Chapyshev [Fri, 3 Jul 2009 09:37:44 +0000 (09:37 +0000)]
- Use PWINDOW_OBJECT instead HWND in PostTimerMessages, IntGetPaintMessage, co_MsqTranslateMouseMessage, co_MsqPeekHardwareMessage, co_MsqFindMessage, co_MsqWaitForNewMessages, MsqGetTimerMessage, MsqGetFirstTimerExpiry, co_IntPeekMessage
- Allow hWnd equal -1, 0x0000ffff, 0xffffffff
- Fixes 3 winetests for PeekMessageA/W
svn path=/trunk/; revision=41754
James Tabor [Fri, 3 Jul 2009 08:03:56 +0000 (08:03 +0000)]
- More Window Threads issues. Need to finish the window object rewrite!
svn path=/trunk/; revision=41753
Cameron Gutman [Fri, 3 Jul 2009 06:28:59 +0000 (06:28 +0000)]
- TCPIP lock rewrite (part 3 of 3)
- Use a spin lock to protect the signalled connections list
- Add a debug ASSERT into each function that depends on the TCPLock being held
- Release TCPLock before completing the IRP
- Add some locking where it was forgotten
- Optimize HandleSignalledConnection
svn path=/trunk/; revision=41752
Cameron Gutman [Fri, 3 Jul 2009 00:57:47 +0000 (00:57 +0000)]
- TCPIP locking rewrite (part 2 of x)
- Add locking in places that need it
- Eliminate double acquisition of TCPLock for the same request
- Next step: Verify that all places that need locking have it
svn path=/trunk/; revision=41751
Dmitry Gorbachev [Thu, 2 Jul 2009 22:41:39 +0000 (22:41 +0000)]
Color schemes by Peter Dimitriu. Bug #4654.
svn path=/trunk/; revision=41750
Matthias Kupfer [Thu, 2 Jul 2009 22:28:58 +0000 (22:28 +0000)]
IntIsMenu() removed - use UserGetMenuObject() instead
svn path=/trunk/; revision=41749
Colin Finck [Thu, 2 Jul 2009 21:18:18 +0000 (21:18 +0000)]
Merge the OpenTTD update from 0.3.10 branch
svn path=/trunk/; revision=41748
James Tabor [Thu, 2 Jul 2009 19:09:32 +0000 (19:09 +0000)]
- In the process of rewriting IntGdiCreateDisplayDC, making it an intermediate level support function for IntGdiCreateDC.
svn path=/trunk/; revision=41744
Benedikt Freisen [Thu, 2 Jul 2009 17:02:37 +0000 (17:02 +0000)]
Fixed cropping function and implemented size boxes
svn path=/trunk/; revision=41742
Daniel Reimer [Thu, 2 Jul 2009 08:33:06 +0000 (08:33 +0000)]
Bug 4636: Romanian translation patch by Dimitriu Petru
Bug 4638: Japanese translation update for some files by Tomoya Kitagawa
Bug 4651: Unfinished translation to polish (ichoroszi@gmail.com)
Bug 4652: update for slovak and others translations by Mario Kacmar
svn path=/trunk/; revision=41739
Johannes Anderwald [Thu, 2 Jul 2009 07:58:06 +0000 (07:58 +0000)]
- Register a device interface for each stream
svn path=/trunk/; revision=41738
Cameron Gutman [Thu, 2 Jul 2009 07:16:50 +0000 (07:16 +0000)]
- tcpip locking rewrite (part 1 of x)
- Use ExInterlocked list functions to manipulate the request lists
- Fix usage of the wrong lock to protect the listen request list
- Next step: Optimize usage of TCPLock
svn path=/trunk/; revision=41737
Cameron Gutman [Thu, 2 Jul 2009 06:51:34 +0000 (06:51 +0000)]
- Don't cancel already completed requests
- Fix potential NULL pointer access
- Actually disassociate the address file and connection in DispTdiDisassociateAddress
- Insert new requests at the end of the list not the beginning
svn path=/trunk/; revision=41736
James Tabor [Thu, 2 Jul 2009 05:07:12 +0000 (05:07 +0000)]
- wine sync dde.c and dde_private.h to 1.1.24.
svn path=/trunk/; revision=41735
Matthias Kupfer [Wed, 1 Jul 2009 21:56:44 +0000 (21:56 +0000)]
Mikhail Denisenko <denisenkom AT gmail DOT com>
- Add symbols to system menu by using marlett font.
- See issue #4450 for details.
svn path=/trunk/; revision=41733
Christoph von Wittich [Wed, 1 Jul 2009 21:31:13 +0000 (21:31 +0000)]
fix msvc build
svn path=/trunk/; revision=41732
Matthias Kupfer [Wed, 1 Jul 2009 20:54:40 +0000 (20:54 +0000)]
change to LOGFONTW, because it's unicode
svn path=/trunk/; revision=41730
Colin Finck [Wed, 1 Jul 2009 19:49:45 +0000 (19:49 +0000)]
Add some more working apps to the Downloader list, update the RosBE link.
Based on a patch by Victor Martinez
svn path=/trunk/; revision=41729
Benedikt Freisen [Wed, 1 Jul 2009 19:24:17 +0000 (19:24 +0000)]
Paint:
- Fixed new bug in palette drawing (replacing a + by a -)
- Added "Show grid" and "Show miniature" functions
- Therefore changed the menus -> please check translations
svn path=/trunk/; revision=41728
James Tabor [Wed, 1 Jul 2009 17:19:16 +0000 (17:19 +0000)]
- Add more vista types. Added another window message type, based on winproc.c. Added two vista prototypes for ntuser.
- Implemented new PostMessage and SendNotifyMessage, this is for bug 4646. I realize the need to update/sync dde code from wine. This relates to the new post and send functions and the use of MsgiKMToUMMessage. Trying to understand this mess.
- CreateDesktop is used to create the HWND_MESSAGE for the desktop. This is a work in progress. The ntuser prototype is updated too. Now pass the correct data from user to kernel space.
- Major update to event code and testing with user32 wine test msg. ATM, only two ntuser notifications are sent if the app has a event hook. Need to add more notifications at the correct points.
- Code arranging in hooks. Testing with user32 cross test works, need to add more ntuser hook calls at the correct points.
- Testing: More is required! User32 cross tests win and msg, win test hangs at flush_events. FF 1.5.x (Still has that funny minimize bug. Play with it and see. Missing one more check I think.) and AbiWord 2.4.1. Notepad lite is doing something very naughty inside it's hook call, with out the source, testing it will be imposable, so someone needs to find an open source program that does the same thing.
- Reference: Drag and drop file into window: winproc.c WM_COPYGLOBALDATA http://wiki.winprog.org/wiki/Windows_messages
svn path=/trunk/; revision=41727
Johannes Anderwald [Wed, 1 Jul 2009 15:00:12 +0000 (15:00 +0000)]
- Remove dead code
- Reuse free audio handle index
svn path=/trunk/; revision=41726
Johannes Anderwald [Wed, 1 Jul 2009 14:44:31 +0000 (14:44 +0000)]
- Partly Implement StreamClassReadWriteConfig
- Allocate a HwInstance buffer which is passed to each instantiated filter instance
svn path=/trunk/; revision=41725
Dmitry Gorbachev [Wed, 1 Jul 2009 09:59:47 +0000 (09:59 +0000)]
Fix some warnings / bugs.
svn path=/trunk/; revision=41724
Cameron Gutman [Wed, 1 Jul 2009 05:14:56 +0000 (05:14 +0000)]
- Fix corruption of ARP target protocol address
- We were copying the address type (1 byte) and 3 bytes of the target address instead of all 4 bytes of the target address
svn path=/trunk/; revision=41723
Timo Kreuzer [Wed, 1 Jul 2009 00:40:07 +0000 (00:40 +0000)]
intrin_x86: Don't test for __MSVCSRT__ when implementing _rotr and _rotl. gcc defines __MSVCSRT__ and "knows" these funtions, but doesn't implemnt them.
svn path=/trunk/; revision=41722
Cameron Gutman [Tue, 30 Jun 2009 21:14:21 +0000 (21:14 +0000)]
- Put the correct source address in Raw IP and UDP packets
- Remove (now unused) IPGetDefaultAddress which just broke things
- Fixes responses from different IP addresses when trying to ping the loopback adapter
- See issue #4573 for more details
svn path=/trunk/; revision=41720
James Tabor [Tue, 30 Jun 2009 19:12:02 +0000 (19:12 +0000)]
- Implement support function adding global atoms in win32k.
svn path=/trunk/; revision=41719
Cameron Gutman [Tue, 30 Jun 2009 18:44:26 +0000 (18:44 +0000)]
- Restore a value that is lost in MiniportReset when AddressingReset is TRUE
- I need to do more investigation on which values need to be restored but I know CurrentLookahead is one of them
- Add support for protocol-initiated miniport resets
svn path=/trunk/; revision=41718
Christoph von Wittich [Tue, 30 Jun 2009 15:57:20 +0000 (15:57 +0000)]
this should fix ATI IXP700 in compat mode
See issue #4591 for more details.
svn path=/trunk/; revision=41717
Colin Finck [Tue, 30 Jun 2009 15:39:49 +0000 (15:39 +0000)]
SVN maintenance: Add missing svn:ignore properties to many directories and fix some existing ones
svn path=/trunk/; revision=41716
Colin Finck [Tue, 30 Jun 2009 15:09:08 +0000 (15:09 +0000)]
Remove non-existing "windows" module, the "optional" one is still just virtual.
See issue #4645 for more details.
svn path=/trunk/; revision=41715
Christoph von Wittich [Tue, 30 Jun 2009 14:21:33 +0000 (14:21 +0000)]
replace some values by constants
svn path=/trunk/; revision=41714
Aleksey Bragin [Tue, 30 Jun 2009 13:42:42 +0000 (13:42 +0000)]
- Rewrite VideoPort and Win32k (Eng) event functions to:
* Use a documented ENG_EVENT structure (thus be compatible with Windows videoprt/win32k) instead of a stupid (PKEVENT) casting everywhere through EngEvent or VideoPort event functions;
* Implement additional checks for user mapped events in EngDeleteEvent and EngWaitForSingleObject;
* Implement EngReadStateEvent and EngClearEvent.
* Provide a better, readable code which matches kernelstyle coding guidelines;
* Remove (stub out) totally incorrect and buggy map user events support;
- Compile videoprt with ms-extensions flag enabled.
svn path=/trunk/; revision=41713
Aleksey Bragin [Tue, 30 Jun 2009 13:10:27 +0000 (13:10 +0000)]
- Remove empty directory (include/reactos/drivers/drivers).
svn path=/trunk/; revision=41712
Christoph von Wittich [Tue, 30 Jun 2009 10:48:41 +0000 (10:48 +0000)]
get rid of obsolete SHLocalAlloc/Free functions and export the correct v6 functions instead
patch by <jerome dot gardou at laposte dot net>
svn path=/trunk/; revision=41711
ReactOS Portable Systems Group [Tue, 30 Jun 2009 10:45:36 +0000 (10:45 +0000)]
- Move MmIsThisAnNtSystem and MmQueryMemorySize to mmsup.c instead of randomly in mminit.c.
- Cleanup some externs that were never referenced in mminit.c.
- Remove MiShutdownMemoryManager since it was dead code.
- There is no need to define the MiKseg0Start/End variables and loop through the memory descriptors to find the last kernel image. We already have this information through LoaderPagesSpanned saved in MmBootImageSize.
- Removed these variables, code that depended on them, and MiGetLastKernelAddress, and switch to just using MmBootImageSize, which simplifies things a lot.
- Also simplify the way that the initial memory latout is setup. Now the PFN database will always start after MmBootImageSize + KSEG0_BASE, instead of relying on the fact FreeLDR, on certain machines, may have had leftover space in the 6MB allocation that it makes (And worse, assuming FreeLDR on all architectures will allocate 6MB).
- This standardizes the PFN database address and makes the code portable.
- Same for the nonpaged pool address.
- Should not call MmInitializeHandBuiltProcess for the idle process -- this will be called for the system process in PsCreateProcess.
- The only thing we need, as the comment says, is the kernel MADDRESS_SPACE, so just initialize the lock for it.
- Do not zero MmStats since the load-linker takes care of that for us since it's a global.
svn path=/trunk/; revision=41710
ReactOS Portable Systems Group [Tue, 30 Jun 2009 10:38:51 +0000 (10:38 +0000)]
- Cleanup some debug-only debug prints.
- Make the VA-range-printing debug prints match the same format as those in ReactOS Mm (MiDbgKernelLayout).
- Add the appropriate number of spaces so that the layout appears continuous, even though it's coming from two source files.
- This makes it easy to see the VA mappings at boot (but not all of them).
svn path=/trunk/; revision=41709
ReactOS Portable Systems Group [Tue, 30 Jun 2009 08:55:18 +0000 (08:55 +0000)]
- Rewrite MmAllocateNonCachedMemory and MmFreeNonCachedMemory to use the new functionality present in ARM3.
- These functions now use the MDL routines to allocate their physical memory, since the constraints and requirements are identical as for a non-cached MDL mapping.
- As for the virtual address space, it is guaranteed once again by System PTEs!
- If it's not getting old already, optimizations to the System PTE code will, yet again, yield improvements here as well.
- This is the last large kernel-facing memory allocator that needed updating to use System PTEs instead.
- Only the pool allocator remains (which, for nonpaged pool, also uses System PTEs, present in the nonpaged pool expansion VA).
- That effort will take significantly longer.
svn path=/trunk/; revision=41708
ReactOS Portable Systems Group [Tue, 30 Jun 2009 08:29:22 +0000 (08:29 +0000)]
- Major rewrite of Memory Descriptor List (MDL) implementation (moving it towards using System PTEs).
- MmCreateMdl, MmSizeOfMdl: No Change.
- MmBuildMdlForNonPagedPool: Do not use MmGetPfnForProcess, just normal PMMPTE manipulation.
- This seems to cause issues in certain scenarios, because in ReactOS, nonpaged pool, a resident and guaranteed resources, does not always have its PDEs mapped!
- By calling MmGetPfnForProcess, this wound up in the annals of ReactOS mm code, which lazy-remapped the PDE. We detected this issue specifically in the cache manager, and fixed it there. It should not appear anywhere else.
- MmAllocatePagesForMdl, MmAllocatePagesForMdlEx, MmFreePagesFromMdl:
- The *Ex function is now implemented.
- Allocating pages now uses MiAllocatePagesForMdl, which is based on the older MmAllocPagesSpecifyRange.
- The code is cleaner, better commented, and better handles partial MDLs.
- Cache flags are still ignored (so the Ex functionality isn't really there).
- MmMapLockedPages, MmMapLockedPagesSpecifyCache, MmUnmapLockedPages:
- These functions now use System PTEs for the mappings, instead of the hacked-up "MDL Mapping Space".
- This frees up 256MB of Kernel Virtual Address Space.
- Takes advantage of all System PTE functionality.
- Once again, optimizations in the System PTE code will be felt here.
- For user-space mappings however, the old code is still kept and used.
- MiMapLockedPagesInUserSpace and MiUnMapLockedPagesInUserSpace are now in virtual.c and provide this.
- MmProbeAndLockPages, MmUnlockPages:
- The pages are actually probed now, in SEH. This did not seem to happen before (did someone misread the function's name?)
- Probe for write is only done for write access to user pages (as documented).
- We do not probe/check for write access for kernel requests (force Operation to be IoReadAccess).
- Proper locking is used now: Address Space lock for user mappings, PFN lock for kernel mappings.
- Faulting in pages (to make them available before locking) is now done outside the address space/PFN lock.
- You don't want to be holding a spinlock/mutex while doing disk I/O!
- For write/modify access, if the PTE is not writable, fail the request since the PTE protection overrides.
- However, if the PTE is writable but also copy on write, then we'll fault the page in for write access, which is a legitimate operation for certain user-mode scenarios.
- The old version always provided the CopyOnWrite behavior, even for non-CopyOnWrite pages!
- Reference and lock every valid page that has a PFN entry (non-I/O Pages).
- The older code did not seem to lock pages that had to be faulted in (weren't already valid).
- Cleanup the cleanup code (no pun intended). Because we now mark the pages as locked early-on, and because of changes in MmUnlockPages, we can simply use MmUnlockPages in case of error, since it will be able to fully back-out and references/locks that we did.
- Previous code attempted to do this on its own, in a pretty inconsistent manner, which would leave page leaks (both in references and lock count).
- In MmUnlockPages, not as many changes, but we now:
- Still make sure that an I/O Mapping MDL doesn't have valid PFN database pages (non-I/O).
- An MDL can cover pages that are both I/O mapped and RAM mapped, so we have to unlock/dereference the latter instead of skipping them as the old code did.
- Use the PFN lock when checking pages and unlocking/dereferencing them.
- Overall, non-complete MDLs are now marked by having a -1 PFN, and the MDL code has been updated to early-break out of page-scanning loops and/or ignore such pages, which can happen in a sparse MDL.
- Implementation has been tested on VMWare and QEMU for a variety of tasks and was found to be reliable and stable.
svn path=/trunk/; revision=41707
Cameron Gutman [Tue, 30 Jun 2009 02:30:36 +0000 (02:30 +0000)]
- Memtrack enhancements
- It now warns us when it detects an entry that wasn't freed by a memtrack-enabled function
- It also provides some info when it detects a double free
- Removed some extra tag tracking junk
svn path=/trunk/; revision=41705
Matthias Kupfer [Tue, 30 Jun 2009 00:44:59 +0000 (00:44 +0000)]
- revert selecting color and inactive menu state, because it doesn't work that way
- needs further invastigation
svn path=/trunk/; revision=41704
Colin Finck [Mon, 29 Jun 2009 22:21:11 +0000 (22:21 +0000)]
Andrew Steinborn (asteinborn78@gmail.com)
- Update Firefox link to 3.0.11
Will also be merged to the 0.3.10 release once I clean up the Downloader list there.
See issue #4642 for more details.
svn path=/trunk/; revision=41702
Christoph von Wittich [Mon, 29 Jun 2009 21:10:40 +0000 (21:10 +0000)]
fix formatting
svn path=/trunk/; revision=41700
Cameron Gutman [Mon, 29 Jun 2009 20:18:32 +0000 (20:18 +0000)]
- Allocate IP_PACKET on the stack
- Reduces non-paged memory consumption
svn path=/trunk/; revision=41698
Matthias Kupfer [Mon, 29 Jun 2009 20:18:21 +0000 (20:18 +0000)]
- continue "marletting"
- scrollbar size grip with marlett
- untested for DFCS_SIZEGRIPRIGHT, but should work too
svn path=/trunk/; revision=41697
Christoph von Wittich [Mon, 29 Jun 2009 19:50:12 +0000 (19:50 +0000)]
more header cleanup
svn path=/trunk/; revision=41696
Christoph von Wittich [Mon, 29 Jun 2009 18:47:29 +0000 (18:47 +0000)]
fix build
svn path=/trunk/; revision=41695
Colin Finck [Mon, 29 Jun 2009 18:24:35 +0000 (18:24 +0000)]
SVN maintenance: Remove some svn:keywords properties
svn path=/trunk/; revision=41694