12 years ago[ARMLLB]: Add support for ATAG_REVISION.
Sir Richard [Tue, 23 Nov 2010 16:42:00 +0000 (16:42 +0000)]
[ARMLLB]: Add support for ATAG_REVISION.
[ARMLLB]: Fix support of ATAG_MEM: there can be multiple tags, one per DRAM bank.
[ARMLLB]: Fix the default case not to "return": it should "Break" instead.
[ARMLLB]: Only apply the RAMDisk hack on Beagle for now.

svn path=/trunk/; revision=49735

12 years ago[ARMLLB]: Make DbgPrint compatible so we can use debug.h.
Sir Richard [Tue, 23 Nov 2010 16:40:10 +0000 (16:40 +0000)]
[ARMLLB]: Make DbgPrint compatible so we can use debug.h.

svn path=/trunk/; revision=49734

12 years ago[HAL]: Make directory/buildfiles for OMAP3-specific HAL. Shared between ZOOM2 and...
Sir Richard [Tue, 23 Nov 2010 16:39:14 +0000 (16:39 +0000)]
[HAL]: Make directory/buildfiles for OMAP3-specific HAL. Shared between ZOOM2 and Beagle for now.

svn path=/trunk/; revision=49733

12 years ago[CRT]: _assert should use DbgRaiseAssertionFailure which is (a) correct and (b) porta...
Sir Richard [Tue, 23 Nov 2010 16:36:54 +0000 (16:36 +0000)]
[CRT]: _assert should use DbgRaiseAssertionFailure which is (a) correct and (b) portable, instead of __debugbreak.

svn path=/trunk/; revision=49732

12 years ago[PSDK]: Add missing DbgRaiseAssertionFailure inline to winnt.h header.
Sir Richard [Tue, 23 Nov 2010 16:36:24 +0000 (16:36 +0000)]
[PSDK]: Add missing DbgRaiseAssertionFailure inline to winnt.h header.

svn path=/trunk/; revision=49731

12 years ago[WINE]: Fix non-x86 versions of Wine's push/pop exception frame macro.
Sir Richard [Tue, 23 Nov 2010 16:35:48 +0000 (16:35 +0000)]
[WINE]: Fix non-x86 versions of Wine's push/pop exception frame macro.

svn path=/trunk/; revision=49730

12 years ago[CRT]: Define JBLEN and JBTYPE for ARM, based on the Windows ARM CRT source code...
Sir Richard [Tue, 23 Nov 2010 16:35:13 +0000 (16:35 +0000)]
[CRT]: Define JBLEN and JBTYPE for ARM, based on the Windows ARM CRT source code (public).

svn path=/trunk/; revision=49729

12 years ago[NTOS]: Define portable MI_MAKE_ACCESSED_PAGE macro.
Sir Richard [Tue, 23 Nov 2010 16:34:30 +0000 (16:34 +0000)]
[NTOS]: Define portable MI_MAKE_ACCESSED_PAGE macro.
[NTOS]: Fix MiDetermineUserGlobalPteMask to account ARM, where the PDE and PTE formats are different.
[NTOS]: Fix MiDetermineUserGlobalPteMask to use portable PTE macros instead of hard-coding x86-only fields.

svn path=/trunk/; revision=49728

12 years ago[ARM]: The text section is called ".text", not "text". This caused any ARM assembly...
Sir Richard [Tue, 23 Nov 2010 16:33:29 +0000 (16:33 +0000)]
[ARM]: The text section is called ".text", not "text". This caused any ARM assembly to create a new section in the PE and waste 4KB.

svn path=/trunk/; revision=49727

12 years ago[NTOS]: Bugfixes for the I/O Controller Object.
Sir Richard [Tue, 23 Nov 2010 16:32:56 +0000 (16:32 +0000)]
[NTOS]: Bugfixes for the I/O Controller Object.

svn path=/trunk/; revision=49726

12 years ago[ARM]: Our new target is the ZOOM2 OMAP3, instead of Beagle (but we'll keep testing...
Sir Richard [Tue, 23 Nov 2010 16:32:18 +0000 (16:32 +0000)]
[ARM]: Our new target is the ZOOM2 OMAP3, instead of Beagle (but we'll keep testing both).

svn path=/trunk/; revision=49725

12 years ago[PSDK]
Sylvain Petreolle [Tue, 23 Nov 2010 16:08:39 +0000 (16:08 +0000)]
Comment out specstrings.h inclusion in windef.h as per Timo's request.
Fixes build.

svn path=/trunk/; revision=49724

12 years ago[PSDK]
Timo Kreuzer [Tue, 23 Nov 2010 11:47:50 +0000 (11:47 +0000)]
Don't define __in and __null on c++ build. as long as we keep using host headers, this won't work

svn path=/trunk/; revision=49723

12 years ago[PSDK]
Timo Kreuzer [Tue, 23 Nov 2010 11:30:17 +0000 (11:30 +0000)]
Partly sync windef.h with mingw-w64 and add specstrings.h
reverts the previous revert, fixed definition of NULL to __null in stddef.h

svn path=/trunk/; revision=49722

12 years agorevert r49718
Timo Kreuzer [Tue, 23 Nov 2010 01:20:05 +0000 (01:20 +0000)]
revert r49718

svn path=/trunk/; revision=49720

12 years ago[Win32k]
James Tabor [Tue, 23 Nov 2010 01:16:58 +0000 (01:16 +0000)]
- Restore capturing the hit test in the desktop structure. Move journal record hook before sending the mouse hook.

svn path=/trunk/; revision=49719

12 years ago[PSDK]
Timo Kreuzer [Tue, 23 Nov 2010 00:06:01 +0000 (00:06 +0000)]
Partly sync windef.h with mingw-w64 and add specstrings.h

svn path=/trunk/; revision=49718

12 years ago[NTOSKRNL]
Pierre Schweitzer [Mon, 22 Nov 2010 23:51:00 +0000 (23:51 +0000)]
Add missing prototype and define

svn path=/trunk/; revision=49717

12 years ago[NTOSKRNL]
Pierre Schweitzer [Mon, 22 Nov 2010 23:30:01 +0000 (23:30 +0000)]
- Implemented FsRtlLookupPerStreamContextInternal(), FsRtlInsertPerStreamContext(), FsRtlRemovePerStreamContext(), FsRtlTeardownPerStreamContexts()
Based on my previous work on pierre-fsd branch.

svn path=/trunk/; revision=49716

12 years ago[WIN32K]
Timo Kreuzer [Mon, 22 Nov 2010 23:20:50 +0000 (23:20 +0000)]
Apply workaround for POINT / POINTL, like for the others

svn path=/trunk/; revision=49715

12 years ago[GDI32]
Timo Kreuzer [Mon, 22 Nov 2010 23:18:59 +0000 (23:18 +0000)]
Don't make the wrong assumption that POINT and POINTL are identical.

svn path=/trunk/; revision=49714

12 years ago[NPFS]
Eric Kohl [Mon, 22 Nov 2010 23:08:11 +0000 (23:08 +0000)]
Add an FCB that represents the file system (volume/device) and support absolute and relative open, cleanup and close.

svn path=/trunk/; revision=49713

12 years ago[NTOSKRNL]
Pierre Schweitzer [Mon, 22 Nov 2010 22:18:02 +0000 (22:18 +0000)]
- Renamed MmIsFileAPagingFile() to MmIsFileObjectAPagingFile() its appropriated name
- Added it to internal headers
- Implemented FsRtlIsPagingFile()

svn path=/trunk/; revision=49712

12 years ago[NTOSKRNL]
Pierre Schweitzer [Mon, 22 Nov 2010 21:38:23 +0000 (21:38 +0000)]
- Add missing PAGED_CODE() where needed
- Removed a wrong ASSERT in FsRtlIsNameInExpressionPrivate() and replace it by the right one
- Mark FsRtlIsDbcsInExpression() as halfplemented

svn path=/trunk/; revision=49711

12 years ago[win32k]
Giannis Adamopoulos [Mon, 22 Nov 2010 20:10:56 +0000 (20:10 +0000)]
- Fix one of the greatest hacks in message handling: do not wake up every message queue when there is mouse or keyboard input ( wake only the thread that must take input)
- rewrite co_WinPosWindowFromPoint, co_MsqInsertMouseMessage and co_MsqPeekHardwareMessage
- port co_IntProcessMouseMessage and MsqSendParentNotify from wine
- call co_IntProcessHardwareMessage from co_MsqPeekHardwareMessage, and not from co_IntPeekMessage
- move co_IntProcessHardwareMessage, co_IntProcessKeyboardMessage and co_IntProcessMouseMessage to msgqueue.c

svn path=/trunk/; revision=49710

12 years ago[NPFS/KERNEL32]
Eric Kohl [Sun, 21 Nov 2010 23:15:11 +0000 (23:15 +0000)]
Switch back to the old pipe wait code but keep the new code in place (disabled).

svn path=/trunk/; revision=49701

12 years ago[NTOSKRNL]
Pierre Schweitzer [Sun, 21 Nov 2010 16:04:52 +0000 (16:04 +0000)]
Previously, in ReactOS' stories:
ReactOS was broken since more a hundred of commits when two devs decided it was enough. One (we will name him Timo) fixed the context switch. The second, with the help of a third dev (Pierre & HervĂ©) decided to run tests by disabling some stuff (ie INIT_FUNCTION). This magically made testbot going back to life.
But, some complains came from the ML, so trying to appease world, Pierre decided to revert half of his changes, thinking this would be OK.

Now, after a night. It appears that half revert was a pretty bad idea. Testbot keeps being broken.
So, this commit reverts r49665 (which was half reverting r49662). That way, testbot should be back, able to run tests. BUT, due to a NPFS issue, some tests are broken. Eric has been nicely mailed about that issue, with an idea of fix (thanks go here to Aleksey).

For those who like that, drama to follow on ML.
I turn into being S/M...

svn path=/trunk/; revision=49691

12 years ago[NTDLL]
Aleksey Bragin [Sat, 20 Nov 2010 22:05:42 +0000 (22:05 +0000)]
- Fix LdrVerifyImageMatchesChecksum() prototype.

svn path=/trunk/; revision=49676

12 years ago[NTOSKRNL]
Pierre Schweitzer [Sat, 20 Nov 2010 15:53:18 +0000 (15:53 +0000)]
Get back INIT_FUNCTION on lassy's polite request.

svn path=/trunk/; revision=49665

12 years ago[NTOSKRNL]
Pierre Schweitzer [Sat, 20 Nov 2010 13:54:45 +0000 (13:54 +0000)]
Disable INIT_FUNCTION to see whether it's responsible for Qemu broken status. Some are complaining of unworking trunk since r49463.
This will be reverted after tests.

svn path=/trunk/; revision=49662

12 years ago[NTOSKRNL]
Pierre Schweitzer [Sat, 20 Nov 2010 12:07:24 +0000 (12:07 +0000)]
Fix potential buffer overflow

svn path=/trunk/; revision=49659

12 years ago- Add wer.dll from Wine 1.3.7
Dmitry Chapyshev [Sat, 20 Nov 2010 11:24:17 +0000 (11:24 +0000)]
- Add wer.dll from Wine 1.3.7
- Sync gdiplus with Wine 1.3.7

svn path=/trunk/; revision=49658

12 years ago[NTOSKRNL/PPC]
Pierre Schweitzer [Sat, 20 Nov 2010 10:22:36 +0000 (10:22 +0000)]
Fix index out of bounds

svn path=/trunk/; revision=49654

12 years ago[Wine32k|User32]
James Tabor [Sat, 20 Nov 2010 04:24:44 +0000 (04:24 +0000)]
- Implement client thread information for the beginning of QS flag support and signaling synchronization of messages.
- Set and clear idle event when setting clearing masks. This fixed the idle foreground hook call from user mode.
- Fixed wine ListBox and ReactOS ComboBox tests. Critical note: SendMessageA/W, when IsThreadHooked is used and any global hooks are affirmed, all messages are sent to Win32k and the result is, A to W and W to A mismatch via UMToKM. Fixing Global hook support exposed a critical bug in ReactOS message system. Enable the appropriate hooks will temporarily remedy this bug.
- All patches are from a checked out revision from 49475. Upping ntuser.h, win32k and user32 to sync.

svn path=/trunk/; revision=49653

12 years ago[NPFS]
Eric Kohl [Fri, 19 Nov 2010 22:42:53 +0000 (22:42 +0000)]
- Add a type variable to distinguish FCBs and CCBs for device, directory or pipe.
- Attach an FCB to the VCB that represents the root directory of the file system and implement an open routine for the root directory.
- Make NpfsWaitPipe work when it is called for the root directory.

- Remove the old version of WaitNamedPipeW.

This patch fixes the broken wait pipe code. It was written and tested on r49458 because later revisions do not work for me.

svn path=/trunk/; revision=49646

12 years ago- Sync atl, hlink, shdocvw, wtsapi32 with Wine 1.3.7
Dmitry Chapyshev [Fri, 19 Nov 2010 15:21:38 +0000 (15:21 +0000)]
- Sync atl, hlink, shdocvw, wtsapi32 with Wine 1.3.7

svn path=/trunk/; revision=49631

12 years ago[NTOSKRNL]
Pierre Schweitzer [Fri, 19 Nov 2010 06:46:59 +0000 (06:46 +0000)]
Simplify code, which should bring some fixing

svn path=/trunk/; revision=49618

12 years ago[NTOSKRNL]
Pierre Schweitzer [Fri, 19 Nov 2010 06:34:14 +0000 (06:34 +0000)]
Use appropriated macros

svn path=/trunk/; revision=49617

12 years ago[FORMATTING]
Pierre Schweitzer [Fri, 19 Nov 2010 06:28:20 +0000 (06:28 +0000)]
No code change

svn path=/trunk/; revision=49616

12 years ago[NTOSKRNL]
Timo Kreuzer [Thu, 18 Nov 2010 19:20:38 +0000 (19:20 +0000)]
- Initialize the Zero variable
- Don't corrupt the Color value in case we didn't have any page on MmZeroedPageListHead.
- Fixes boot.

svn path=/trunk/; revision=49614

12 years ago[Win32k]
James Tabor [Thu, 18 Nov 2010 16:26:54 +0000 (16:26 +0000)]
- Fix style, use client style.

svn path=/trunk/; revision=49613

12 years ago[Win32k]
James Tabor [Thu, 18 Nov 2010 16:17:59 +0000 (16:17 +0000)]
- Test for hooks before setting up for a hook call. This eliminates overhead.

svn path=/trunk/; revision=49612

12 years ago[win32k]
Giannis Adamopoulos [Thu, 18 Nov 2010 13:57:21 +0000 (13:57 +0000)]
- Some more cleanup

svn path=/trunk/; revision=49610

12 years ago[NTOSKRNL]
Timo Kreuzer [Thu, 18 Nov 2010 03:14:47 +0000 (03:14 +0000)]
Fix a bug.

svn path=/trunk/; revision=49609

12 years ago[Win32k|User32] - Cleanup and added debug prints.
James Tabor [Tue, 16 Nov 2010 05:30:20 +0000 (05:30 +0000)]
[Win32k|User32] - Cleanup and added debug prints.

svn path=/trunk/; revision=49606

12 years ago[Win32k]
James Tabor [Tue, 16 Nov 2010 04:52:53 +0000 (04:52 +0000)]
- Tweaks to hook and event timeouts. Increase performance with DOSBox when using mouse and keyboard.

svn path=/trunk/; revision=49605

12 years ago[Win32k] - Fix hooks, do not cleanup hooks when any window from the same thread is...
James Tabor [Mon, 15 Nov 2010 06:52:44 +0000 (06:52 +0000)]
[Win32k] - Fix hooks, do not cleanup hooks when any window from the same thread is destroyed.

svn path=/trunk/; revision=49592

12 years agoBug 5726: PATCH: regedit: Language File skeleton strings (geekdundee<A_T>
Daniel Reimer [Sun, 14 Nov 2010 15:22:48 +0000 (15:22 +0000)]
Bug 5726: PATCH: regedit: Language File skeleton strings (geekdundee<A_T>
Bug 5735: PATCH: updated slovak translations by Mario Kacmar
Bug 5740: TRANSLATION: rapps: polish (wojtekkozlo664<A_T>
Updated the Rapps Versions, too.

svn path=/trunk/; revision=49587

12 years ago[win32k]
Giannis Adamopoulos [Sun, 14 Nov 2010 09:53:07 +0000 (09:53 +0000)]
-Rename MsqInsertSystemMessage to MsqInsertMouseMessage

svn path=/trunk/; revision=49581

12 years ago[win32k]
Giannis Adamopoulos [Sun, 14 Nov 2010 09:01:17 +0000 (09:01 +0000)]
- Simplify co_IntPeekMessage even more

svn path=/trunk/; revision=49580

12 years ago[Win32k]
James Tabor [Sun, 14 Nov 2010 00:27:38 +0000 (00:27 +0000)]
- Fixed WaitForInputIdle, finally!, passed all the wine tests for it.
- Moved Get/Peek message to the new all in one support routine.
- Foreground hook hits one out of five, this needs more research.
- Attempted to workout synchronizing issues with low level and regular hooks.

svn path=/trunk/; revision=49579

12 years ago[FREELDR]
Timo Kreuzer [Sat, 13 Nov 2010 19:48:13 +0000 (19:48 +0000)]
Convert most of the trap and blue screen code from asm to C, use KTRAP_FRAME and KSPECIAL_REGISTERS on the stack, instead of using a bunch of global variables. Convert multiply used asm code chunks into macros. Use intel syntax for remaining asm.
135 lines of C + 178 lines of asm, instead of 942 lines of asm

svn path=/trunk/; revision=49573

12 years ago[NTOS]: Start using colored pages. This will help performance on real systems signifi...
Sir Richard [Thu, 11 Nov 2010 13:15:40 +0000 (13:15 +0000)]
[NTOS]: Start using colored pages. This will help performance on real systems significantly as cache is now taken into account by the memory manager. Also radically changes the way page allocations are given out and creates a less uniform physical memory layout. The fact this now works means that the PFN lists are finally now sane.

svn path=/trunk/; revision=49559

12 years ago[NTOS]: Use MI_PFN_ELEMENT in this code, as the extra checks done by MiGetPfnEntry...
Sir Richard [Thu, 11 Nov 2010 13:13:05 +0000 (13:13 +0000)]
[NTOS]: Use MI_PFN_ELEMENT in this code, as the extra checks done by MiGetPfnEntry are irrelevant and slow things down.
[NTOS]: Remove some old ReactOS hacks before we had MMROSPFNDATA.

svn path=/trunk/; revision=49558

12 years ago[NTOS]: Fix a bug in MiRemovePageByColor which caused corruption of the page list...
Sir Richard [Thu, 11 Nov 2010 13:08:41 +0000 (13:08 +0000)]
[NTOS]: Fix a bug in MiRemovePageByColor which caused corruption of the page list and could lead to crashes, re-use of freed memory, assuming active memory was free, etc.

svn path=/trunk/; revision=49557

12 years ago[NTOS]: Fix another bug in the continuous memory allocation code, which would go...
Sir Richard [Thu, 11 Nov 2010 13:05:52 +0000 (13:05 +0000)]
[NTOS]: Fix another bug in the continuous memory allocation code, which would go off-by-one while looping the PFN entries for the allocation, and corrupt the PteFrame/PteAddress of an unrelated PFN entry. If this PFN was in the active lists, it would cause page table leaks and faults, if the page was on a free list, it would override the colored list backlink and corrupt the list, later causing unlinked pages to remain linked to the list.

svn path=/trunk/; revision=49556

12 years agoPart 1 of fixes: For some reason beyond me, I had abbreviated
Art Yerkes [Thu, 11 Nov 2010 08:15:50 +0000 (08:15 +0000)]
Part 1 of fixes: For some reason beyond me, I had abbreviated
MiCowSectionPage to always assume CoW rather than always not
CoW for cache sections.

Make sure we're looking for cache type sections rather than
(as we were in the branch) data file sections.  More needed.

svn path=/trunk/; revision=49555

12 years ago[NTOS]: Fix bugs in MiAllocateContiguousPages. Fixes an ASSERT Caemyr was seeting...
Sir Richard [Tue, 9 Nov 2010 13:26:26 +0000 (13:26 +0000)]
[NTOS]: Fix bugs in MiAllocateContiguousPages. Fixes an ASSERT Caemyr was seeting a lot (the cont-able ASSERT).

svn path=/trunk/; revision=49541

12 years ago[NTOS]: Assign a working set to the system process and correctly initialize its addre...
Sir Richard [Mon, 8 Nov 2010 12:35:50 +0000 (12:35 +0000)]
[NTOS]: Assign a working set to the system process and correctly initialize its address space.
[NTOS]: Assign the working set list address, system-wide, but per-process (in hyperspace).
[NTOS]: Give every process its working set page, and store it. Build a bogus working set list (MMWSL).
[NTOS]: Use the process working set list (MMWSL) to track page table references during faults, just as Windows does.
[NTOS]: Correctly initialize the colored page list heads and assert their validity.

svn path=/trunk/; revision=49525

12 years ago[NTOS]: Optimize new context switching code to avoid wasted cycles.
Sir Richard [Mon, 8 Nov 2010 11:56:22 +0000 (11:56 +0000)]
[NTOS]: Optimize new context switching code to avoid wasted cycles.

svn path=/trunk/; revision=49523

12 years ago[SHLWAPI]
Timo Kreuzer [Mon, 8 Nov 2010 10:04:43 +0000 (10:04 +0000)]
Explicitly add msvcrt before ntdll to use it's *sprintf functions. Fixes bug 5557

svn path=/trunk/; revision=49522

12 years ago[NTOS]: KiDispatchInterrupt (the DPC handler) in C, instead of ASM.
Sir Richard [Mon, 8 Nov 2010 02:37:17 +0000 (02:37 +0000)]
[NTOS]: KiDispatchInterrupt (the DPC handler) in C, instead of ASM.

svn path=/trunk/; revision=49521

12 years ago[NTOS]: Context switch in C instead of ASM. Can be made more portable, but it's a...
Sir Richard [Mon, 8 Nov 2010 02:15:53 +0000 (02:15 +0000)]
[NTOS]: Context switch in C instead of ASM. Can be made more portable, but it's a good start. Unless Timo rewrites it.

svn path=/trunk/; revision=49520

12 years ago[NTOSKRNL]
Pierre Schweitzer [Mon, 8 Nov 2010 00:31:00 +0000 (00:31 +0000)]
Minor stuff.
Here is your commit Timo ;)

svn path=/trunk/; revision=49519

12 years ago[CRT]
Timo Kreuzer [Sun, 7 Nov 2010 10:06:00 +0000 (10:06 +0000)]
In streamout(): fix a number of formatting bugs, round floats, fix issue with large unsigned values that were treated as signed, simplify some code.

svn path=/trunk/; revision=49516

12 years ago[CRT]
Timo Kreuzer [Sun, 7 Nov 2010 00:59:41 +0000 (00:59 +0000)]
In streamout() handle %%, negative fieldwidth and negative precision.

svn path=/trunk/; revision=49514

12 years ago[CRT]
Timo Kreuzer [Sat, 6 Nov 2010 23:03:22 +0000 (23:03 +0000)]
Fix a bug in streamout(), that could cause a buffer overrun and made msvcrt_winetest crash.

svn path=/trunk/; revision=49513

12 years ago[SPRINTF]
Amine Khaldi [Sat, 6 Nov 2010 15:38:43 +0000 (15:38 +0000)]
- Don't compile the new sprintf by default. Requested by Timo.

svn path=/trunk/; revision=49512

12 years agoFix build
Timo Kreuzer [Fri, 5 Nov 2010 23:12:59 +0000 (23:12 +0000)]
Fix build

svn path=/trunk/; revision=49501

12 years ago[CRT]
Timo Kreuzer [Fri, 5 Nov 2010 22:21:36 +0000 (22:21 +0000)]
New implementation of all printf functions. It's stream based (like MS one is) rather than buffer based (like our old is). Floating point is not 100% finished, but current implementation is good enough to boot. It can be enabled by a config switch.

svn path=/trunk/; revision=49499

12 years ago[NTOS]: Make idle loop portable. Can be moved out of /i386 now.
Sir Richard [Fri, 5 Nov 2010 16:00:05 +0000 (16:00 +0000)]
[NTOS]: Make idle loop portable. Can be moved out of /i386 now.

svn path=/trunk/; revision=49486

12 years ago[NTOS]: Implement the idle loop in C.
Sir Richard [Fri, 5 Nov 2010 15:58:34 +0000 (15:58 +0000)]
[NTOS]: Implement the idle loop in C.

svn path=/trunk/; revision=49485

12 years ago[Win32k] - Turn off debug prints.
James Tabor [Fri, 5 Nov 2010 00:37:30 +0000 (00:37 +0000)]
[Win32k] - Turn off debug prints.

svn path=/trunk/; revision=49475

12 years ago[Win32k|User32]
James Tabor [Thu, 4 Nov 2010 23:45:34 +0000 (23:45 +0000)]
- This hook commit fixes the ros regression testing startup, but consider this a hax fix until more research in Global hooks has completed. More pointed Global hook tests are needed. Misc changes, removed unused storage pointers and reordering. For DosBOX, the mouse low level is now working and the keyboard low level should not be so intermittent as before, now sending messages from system desktop not from thread desktop, see bug 5670 for more details.

svn path=/trunk/; revision=49472

12 years ago[APPS]
Aleksey Bragin [Thu, 4 Nov 2010 12:28:08 +0000 (12:28 +0000)]
- Damir Aliev: Properly convert encoding in cmdline tools.
See issue #3487 for more details.

svn path=/trunk/; revision=49466

12 years ago[REGEDIT]
Aleksey Bragin [Thu, 4 Nov 2010 12:05:35 +0000 (12:05 +0000)]
Adam Kachwalla <>
- "Load Hive..." and "Unload Hive..." menu items implemented
- Make address bar case-insensitive
- Remove trailing slashes in address bar when at root keys (e.g. "HKEY_LOCAL_MACHINE\" or "HKEY_CURRENT_USER\")
- Address "go" button added
- Removed ~8px slack from bottom of the app (not needed and looks better)
- Factored out error displaying functions into error.c file.

See issue #5711 for more details.

svn path=/trunk/; revision=49465

12 years ago[KERNEL32]
Timo Kreuzer [Thu, 4 Nov 2010 10:16:14 +0000 (10:16 +0000)]
Print delphi exception with the Exception code 0xeedfade, we were previously only checking for 0xeedface, maybe an older value.

svn path=/trunk/; revision=49464

12 years ago[HAL]: Add INIT_FUNCTION where needed. Will save 860KB later.
Sir Richard [Thu, 4 Nov 2010 01:28:09 +0000 (01:28 +0000)]
[HAL]: Add INIT_FUNCTION where needed. Will save 860KB later.

svn path=/trunk/; revision=49463

12 years ago[WIN32K]
Timo Kreuzer [Wed, 3 Nov 2010 12:20:07 +0000 (12:20 +0000)]
- Make InitVideo return NTSTATUS and properly handle failure
- Silence a DPRINT, improve a DPRINT

svn path=/trunk/; revision=49458

12 years ago[KS]
Johannes Anderwald [Wed, 3 Nov 2010 11:16:33 +0000 (11:16 +0000)]
- Fix several bugs in KsProbeStreamIrp
- If requestor is KernelMode - just save a pointer in Irp->AssociatedIrp.SystemBuffer (currently not used)
- If requestor is UserMode mark irp as buffered. Also set Flag IRP_INPUT_OPERATION when the ioctl is IOCTL_KS_READ_STREAM. This is important to propagate modifications to KSSTREAM_HEADERS (in particular DataUsed member)
- ReactOS KS can now be used in WinXP in combination with KSStudio. In order to make it fully work, ks needs to implement software bus functions
- Rewrite internal irp queue handling
- It now supports multiple KSSTREAM_HEADERs per Irp, variable sized KSSTREAM_HEADERs per irp.
- Store the mapped virtual address not in the KSSTREAM_HEADER, as user programs will receive then invalid addresses
- Add checks whether this irp is for an sink pin or source pin
- Fix multiple bugs when the pin is looped buffer mode (How did this work before?)
- ReactOS portcls + WinXP now properly works with audio recording
- Don't free associated stream header anymore
- Tested with VBox 3.2.10 + VmWare Player 3.1.2 + WinXP

svn path=/trunk/; revision=49457

12 years ago[TASKMGR]
Aleksey Bragin [Wed, 3 Nov 2010 09:09:57 +0000 (09:09 +0000)]
- Fix Russian translation, by spb-ivan92.
See issue #5685 for more details.

svn path=/trunk/; revision=49456

12 years ago[WIN32K]
Timo Kreuzer [Wed, 3 Nov 2010 00:51:19 +0000 (00:51 +0000)]
Change all Init functions to be NTAPI instead of FASTCALL, return NTSTATUS, and be an INIT_FUNCTION (saving incredible 2k). Simplify the initialization sequence by using a simple macro. Delete a comment that is not true anymore.
Move some globals to appropriate file.

svn path=/trunk/; revision=49455

12 years ago[NTOS]: Mark all initialization functions INIT_FUNCTION.
Sir Richard [Tue, 2 Nov 2010 16:29:06 +0000 (16:29 +0000)]
[NTOS]: Mark all initialization functions INIT_FUNCTION.
[NTOS]: This will save ~280KB of RAM once we dump INIT from RAM in a future patch.
[NTOS]: Display current free RAM at certain checkpoints.

svn path=/trunk/; revision=49445

12 years ago[NTOS]: Add page-tracking macro calls wherever needed. MI_TRACE_PFNS is still off...
Sir Richard [Tue, 2 Nov 2010 15:16:22 +0000 (15:16 +0000)]
[NTOS]: Add page-tracking macro calls wherever needed. MI_TRACE_PFNS is still off, though, so this code won't be called.

svn path=/trunk/; revision=49444

12 years ago[NTOS]: Define an array of MI_USAGE integers to track what a PFN is used for.
Sir Richard [Tue, 2 Nov 2010 15:05:37 +0000 (15:05 +0000)]
[NTOS]: Define an array of MI_USAGE integers to track what a PFN is used for.
[NTOS]: Extend the MMPFN structure for ReactOS-specific PFN tracing mechanism.
[NTOS]: Add macros to track page usage and process/extra-data (not yet used).

svn path=/trunk/; revision=49443

12 years ago[NTOS]: CR3 should be PDE_BASE, not PTE_BASE!
Sir Richard [Tue, 2 Nov 2010 15:02:41 +0000 (15:02 +0000)]
[NTOS]: CR3 should be PDE_BASE, not PTE_BASE!
[NTOS]: Define DemandZeroPte.

svn path=/trunk/; revision=49442

12 years ago[NTOS]: Misc typo and cleanup fixes.
Sir Richard [Tue, 2 Nov 2010 14:58:39 +0000 (14:58 +0000)]
[NTOS]: Misc typo and cleanup fixes.

svn path=/trunk/; revision=49441

12 years ago[NTOS]: Fix a bug in the MDL Code which would dereference a completely bogus page...
Sir Richard [Tue, 2 Nov 2010 14:58:10 +0000 (14:58 +0000)]
[NTOS]: Fix a bug in the MDL Code which would dereference a completely bogus page frame index.

svn path=/trunk/; revision=49440

12 years ago[NTOS]: Fix a bug in MmFindGapBottomUp which could make it return an address lower...
Sir Richard [Tue, 2 Nov 2010 14:50:06 +0000 (14:50 +0000)]
[NTOS]: Fix a bug in MmFindGapBottomUp which could make it return an address lower than what the caller said should be the lowest address.

svn path=/trunk/; revision=49439

12 years ago[NTOS]: You can't just set MDL_LOCKED_PAGES without actually... locking the page...
Sir Richard [Tue, 2 Nov 2010 14:46:46 +0000 (14:46 +0000)]
[NTOS]: You can't just set MDL_LOCKED_PAGES without actually... locking the page. Add a MmReferencePage when doing so, so when that a paging read/write IRP gets completed (and MmUnlockPages is called), the page gets handled correctly. Can now boot with 64MB RAM without ASSERTs.
[NTOS]: Fix one of the MDL code paths that isn't getting called frequently.

svn path=/trunk/; revision=49438

12 years ago[NTOS]: ASSERT nobody tries to put ARM3 pages into the MC_USER LRU.
Sir Richard [Tue, 2 Nov 2010 14:42:08 +0000 (14:42 +0000)]
[NTOS]: ASSERT nobody tries to put ARM3 pages into the MC_USER LRU.

svn path=/trunk/; revision=49437

12 years ago[NTOS]: Assert nobody tries to touch the sharecount of a non-ARM3 page.
Sir Richard [Tue, 2 Nov 2010 14:41:51 +0000 (14:41 +0000)]
[NTOS]: Assert nobody tries to touch the sharecount of a non-ARM3 page.

svn path=/trunk/; revision=49436

12 years ago[NTOS]: Fix typos.
Sir Richard [Tue, 2 Nov 2010 14:41:29 +0000 (14:41 +0000)]
[NTOS]: Fix typos.

svn path=/trunk/; revision=49435

12 years ago[NTOS]: Sanity checks when dealing with creating/cleaning process address space.
Sir Richard [Tue, 2 Nov 2010 14:41:03 +0000 (14:41 +0000)]
[NTOS]: Sanity checks when dealing with creating/cleaning process address space.
[NTOS]: Set the VmDeleted flag when the process address space is being nuked.

svn path=/trunk/; revision=49434

12 years ago[NTOS]: Make sure we don't get a user-pointer back from MmMapInSystemSpace.
Sir Richard [Tue, 2 Nov 2010 14:40:31 +0000 (14:40 +0000)]
[NTOS]: Make sure we don't get a user-pointer back from MmMapInSystemSpace.

svn path=/trunk/; revision=49433

12 years ago[NTOS]: Remove merge artifact from newcc.
Sir Richard [Tue, 2 Nov 2010 14:40:07 +0000 (14:40 +0000)]
[NTOS]: Remove merge artifact from newcc.

svn path=/trunk/; revision=49432

12 years ago[NTOS]: Protect Arty's changes with #ifdef NEWCC, otherwise this code ASSERTs and...
Sir Richard [Tue, 2 Nov 2010 14:38:52 +0000 (14:38 +0000)]
[NTOS]: Protect Arty's changes with #ifdef NEWCC, otherwise this code ASSERTs and crashes as soon as a pageout operation is required. Since your advanced test/regression systems boot into configurations with 1GB+ RAM, you never even test these paths and one could put an ASSERT(FALSE) and you wouldn't even notice it (as proven).

svn path=/trunk/; revision=49431

12 years ago[KSUSER, KS, SYSAUDIO]
Johannes Anderwald [Tue, 2 Nov 2010 09:37:30 +0000 (09:37 +0000)]
- Make pin / node / allocator create requests compatible to ms by removing obsolete slash before object class
- Return correct error code in ksuser's KsCreatePin
- ReactOS KS is now able to create audio pins in Windows XP, though playback is not yet working
- All changes except ksuser change has been verified to work with VBox 3.2.10
- KS user changes not tested yet as KSStudio not working in trunk

svn path=/trunk/; revision=49428

12 years ago[CACHE]
Art Yerkes [Tue, 2 Nov 2010 02:32:39 +0000 (02:32 +0000)]

The cache manager rewrite I started years ago has finally appeared in
ReactOS' trunk and although at this point it's not quite perfectly
integrated, it's enough to boot up the bootcd or livecd. To check out
the more mature original, check out arty-newcc-reactos, branch
arty-newcc on . Amine Khaldi encouraged me quite a bit
to not give up on it, and was able to reach out and be an advocate
when i really wasn't able to.  Others agree that the time has come to
begin removing the old cache manager. I expect the remaining problems
in the version going to trunk will be taken care of relatively

The motivation for this effort lies in the particularly hairy
relationship between ReactOS' cache manager and data sections. This
code completely removes page sharing between cache manager and section
and reimagines cache manager as being a facility layered on the memory
manager, not really caring about individual pages, but simply managing
data section objects where caching might occur.

It took me about 2 years to do the first pass of this rewrite and most
of this year to fix some lingering issues, properly implement demand
paging in ReactOS (code which didn't come with this patch in a
recognizable form), and finish getting the PrivateCacheMap and
SharedCacheMap relationship correct.

Currently, the new ntoskrnl/cache directory contains an own
implementation of data file sections. After things have settled down,
we can begin to deprecate and remove the parts of ReactOS' section
implementation that depend on a close relationship with cache
manager. Eventually, I think that the extra code added to
ntoskrnl/cache/section will be removed and ReactOS' own sections will
replace the use of the special MM_CACHE_SECTION_SEGMENT in the cache

Note also, that this makes all cache manager (and new section parts)
use wide file offsets. If my section code were to take over other
parts of the ReactOS memory manager, they would also benefit from
these improvements.

I invite anyone who wants to to peek at this code and fix whatever
bugs can be found.

svn path=/trunk/; revision=49423

12 years ago[WIN32K]
Timo Kreuzer [Tue, 2 Nov 2010 01:17:45 +0000 (01:17 +0000)]
Disable GDI_DEBUG. It's using > 20 MB memory. Too much for some people ;-)

svn path=/trunk/; revision=49422