Sir Richard [Wed, 24 Nov 2010 17:49:52 +0000 (17:49 +0000)]
[NTOS]: Some more ARM build and linker fixes, moving some of the new x86 C code into ARM. This should really be shared later.
[NTOS]: Totally broke thread context switching on ARM for now. It's a Good Thing.
svn path=/trunk/; revision=49781
Sir Richard [Wed, 24 Nov 2010 17:26:30 +0000 (17:26 +0000)]
[NDK]: Fix definition of ARM PTE/PDE structure.
[NTOS]: Fix up ARM code to match recent ARM3 changes.
[NTOS]: Do not use initguid inside every single file to zillionplicate the GUIDs! Why doesn't the x86 linker catch this?!!?
[ARMDDK]: Define some spinlock functions.
svn path=/trunk/; revision=49780
Pierre Schweitzer [Wed, 24 Nov 2010 17:24:54 +0000 (17:24 +0000)]
[NTOSKRNL]
That's not because ARM will rule the world on a day that you're obliged to break x86 build.
Fixed build. Will it work? Only God knows.
svn path=/trunk/; revision=49779
Sir Richard [Wed, 24 Nov 2010 16:09:19 +0000 (16:09 +0000)]
[NTOS]: Add MiGetPteOffset for ARM. All of the kernel compiles, but does not link yet.
svn path=/trunk/; revision=49778
Sir Richard [Wed, 24 Nov 2010 16:08:54 +0000 (16:08 +0000)]
[CONFIG]: Instead of having 4 template rbuild configuration files that must be kept in-sync, maybe there should be a generic one that they all inherit from?
[CONFIG]: Add new property settings that exist in x86, but not ARM because nobody added them there. For example, nor cc, nor cache were being built on ARM, because NEWCC was undefined (which isn't treated as 0 by rbuild).
How I long for CMAKE.
svn path=/trunk/; revision=49777
Sir Richard [Wed, 24 Nov 2010 15:41:28 +0000 (15:41 +0000)]
[ARMDDK]: Oh, right, forgot how this was laid out. should fix ARM build.
svn path=/trunk/; revision=49775
Sir Richard [Wed, 24 Nov 2010 15:21:45 +0000 (15:21 +0000)]
[NTOS]: Fix incorrect assumptions that a PDE == PTE which have crept up throughout new ARM3 code.
[NTOS]: Fix a couple more unportable directly "Hard" PTE field accesses, instead of using portable MI macros.
[NTOS]: Cleanup some of the pool code that had really messed up PDE vs PTE.
[NTOS]: Define the number of page directoty levels for ARM.
[NTOS]: Comment out some ARM3 code that won't be needed now that most of the x86 code is in C.
Fixes all but one build error.
svn path=/trunk/; revision=49774
Sir Richard [Wed, 24 Nov 2010 15:18:24 +0000 (15:18 +0000)]
[PSDK/NDK]: Fix KPCR/KIPCR for ARM to match x86 more closely. Add KeGetTickCount for ARM.
svn path=/trunk/; revision=49773
Giannis Adamopoulos [Wed, 24 Nov 2010 14:52:23 +0000 (14:52 +0000)]
[win32k]
-move several user stubs in ntstubs.c
svn path=/trunk/; revision=49772
Sir Richard [Wed, 24 Nov 2010 14:47:08 +0000 (14:47 +0000)]
[NTOS]: Errr... wow! Another one caught by ARM GCC. I can swear x86 GCC used to catch these. Did someone change warning settings? Anyhow, fix a *f++ which increments the pointer, not the value INSIDE the pointer (*f)++. Fixes MiDeleteSystemPageableVm.
svn path=/trunk/; revision=49771
Sir Richard [Wed, 24 Nov 2010 14:39:23 +0000 (14:39 +0000)]
[NTOS]: Erm, why is it that the ARM compiler detects this obvious bug, but x86 does not? Fix missing ShareCount zeroing when unlocking an MDL.
svn path=/trunk/; revision=49770
Giannis Adamopoulos [Wed, 24 Nov 2010 14:13:12 +0000 (14:13 +0000)]
[win32k]
- Remove some unused functions
svn path=/trunk/; revision=49769
Sir Richard [Wed, 24 Nov 2010 14:07:56 +0000 (14:07 +0000)]
[ARMLLB]: Delete deprecated folder
[ARMLLB]: Add missing UART functionality for ZOOM2. Leverages existing CPORT library.
svn path=/trunk/; revision=49768
Timo Kreuzer [Wed, 24 Nov 2010 12:35:51 +0000 (12:35 +0000)]
[KERNEL32]
Revert r49761 on Pierre's request
svn path=/trunk/; revision=49767
Daniel Reimer [Wed, 24 Nov 2010 08:56:20 +0000 (08:56 +0000)]
Updates for Rapps Download Database.
svn path=/trunk/; revision=49766
Pierre Schweitzer [Tue, 23 Nov 2010 23:39:58 +0000 (23:39 +0000)]
[KERNEL32]
- Added real implementation of SetLastError() (instead of forwarding to NTDLL)
- Implemented BaseSetLastNTError()
- Renamed Basep8BitStringToCachedUnicodeString() to Basep8BitStringToStaticUnicodeString() and sightly changed its implementation
- Fixed implementation of LoadLibraryExA() & DisableThreadLibraryCalls() using those changes
This is matching w2k3 implementation. This is of course a WIP.
svn path=/trunk/; revision=49761
Pierre Schweitzer [Tue, 23 Nov 2010 20:05:33 +0000 (20:05 +0000)]
[NTOSKRNL]
Forgotten comments...
svn path=/trunk/; revision=49759
Pierre Schweitzer [Tue, 23 Nov 2010 20:01:04 +0000 (20:01 +0000)]
[NTOSKRNL]
- Implemented FsRtlPTeardownPerFileObjectContexts(), FsRtlLookupPerFileObjectContext(), FsRtlInsertPerFileObjectContext(), FsRtlRemovePerFileObjectContext()
- Stubplemented IoGetFileObjectFilterContext(), IoChangeFileObjectFilterContext()
- Add support of per file object filter context to IopDeleteFile()
As ReactOS doesn't support file objects extensions, this doesn't work (blame Aleksey) - yet
svn path=/trunk/; revision=49758
Sir Richard [Tue, 23 Nov 2010 17:54:11 +0000 (17:54 +0000)]
[FREELDR]: Fix RAM layout assumptions in ARM code.
svn path=/trunk/; revision=49757
Sir Richard [Tue, 23 Nov 2010 17:29:40 +0000 (17:29 +0000)]
[FREELDR]: For *every single heap allocation*, there was code to request an entire *heap statistic run*! This is ridiculous and slows heap allocations tremendously. Additionally, it also assumes bstats was linked in, which it might not be if the flag wasn't set in bheap.c. Only enable this code if a special MM_DBG define is set.
[FREELDR]: Done originally for ARM, but I think x86 will appreciate the benefit too (and x86 can now go ahead and disable all those ridiculous debug settings that are turned on by default in bheap.c).
svn path=/trunk/; revision=49756
Sir Richard [Tue, 23 Nov 2010 17:27:22 +0000 (17:27 +0000)]
[FREELDR]: Cleanup firmware table setup and add support for being booted from a ZOOM2 ARMLLB, and set the correct file system buffer address for that board.
svn path=/trunk/; revision=49755
Sir Richard [Tue, 23 Nov 2010 17:26:31 +0000 (17:26 +0000)]
[FREELDR]: Use PaToVa to set the Hive and NLS data pointers, instead of assuming that KSEG0_BASE | Pa is the correct answer for all architectures.
svn path=/trunk/; revision=49754
Sir Richard [Tue, 23 Nov 2010 17:25:37 +0000 (17:25 +0000)]
[FREELDR]: Headless/EMS support is an x86-specific feature (at least for now, until the code is made portable).
svn path=/trunk/; revision=49753
Sir Richard [Tue, 23 Nov 2010 17:24:59 +0000 (17:24 +0000)]
[FREELDR]: VaToPa/PaToVa are assuming all architectures have VA at PA | KSEG0_BASE. This is not the case. On ZOOM2, DDR RAM starts at 0x80000000 for example, so KSEG0 == VA == PA. Use an ifdef do handle this.
svn path=/trunk/; revision=49752
Sir Richard [Tue, 23 Nov 2010 17:23:47 +0000 (17:23 +0000)]
[FREELDR]: Define FreeLoader module for ARM. Differences with x86 are mostly due to the fact "bootloader" was unfortunately made an x86-specific module type, so we have to use "kernel" to get around that, which thankfully has remained portable.
svn path=/trunk/; revision=49751
Sir Richard [Tue, 23 Nov 2010 17:22:33 +0000 (17:22 +0000)]
[FREELDR]: Put ARM boot code in .init section to guarantee it goes first in the file, as per the linker script.
svn path=/trunk/; revision=49750
Sir Richard [Tue, 23 Nov 2010 17:21:52 +0000 (17:21 +0000)]
[FREELDR]: Add more keycodes.
svn path=/trunk/; revision=49749
Sir Richard [Tue, 23 Nov 2010 17:21:30 +0000 (17:21 +0000)]
[FREELDR]: Add linker script for ARM as well. We drop the relocation section as it shouldn't be needed.
svn path=/trunk/; revision=49748
Sir Richard [Tue, 23 Nov 2010 17:20:20 +0000 (17:20 +0000)]
[NTOS]: Don't put boot.s in "arch" anymore, it's part of "boot" now.
svn path=/trunk/; revision=49747
Sir Richard [Tue, 23 Nov 2010 17:19:52 +0000 (17:19 +0000)]
[FREELDR]: Set load address for ZOOM2, and differentiate Beagle vs ZOOM2.
svn path=/trunk/; revision=49746
Sir Richard [Tue, 23 Nov 2010 17:19:22 +0000 (17:19 +0000)]
[FREELDR]: Add startup file for ARM builds as well, so that _start can be the first function in the file.
svn path=/trunk/; revision=49745
Sir Richard [Tue, 23 Nov 2010 17:17:32 +0000 (17:17 +0000)]
[FREELDR]: On ARM, don't turn on maximum, hyper, ultra-slow debugging and analysis features for the heap. This, for example, reduces FreeLoader's size by 32KB+ and speeds up boot by entire seconds, as the entire heap isn't zeroed out on startup.
[FREELDR]: May I humbly suggest you do the same on x86?!
svn path=/trunk/; revision=49744
Sir Richard [Tue, 23 Nov 2010 17:14:41 +0000 (17:14 +0000)]
[ARMLLB]: Split up support between OMAP3 Beagle and ZOOM2.
[ARMLLB]: Implement ZOOM2 ARMLLB board support package. TWL4030 read/write implemented (through basic I2C on the HS interface), RTC and Keypad Matrix implemented (through TWL4030), NEC WVGA Panel Initialization (through basic SPI interface on the MBPSI), basic clock setup and GPIO access for DSS/DISPC, setup DSS/DISPC for output on the NEC panel. UART implemented through Quad-UART NS16550 compatible chip (using CPORTlib).
[ARMLLB]: Requires having been booted through x-loader+uboot as a kernel image. Will work on directly booting from NAND later.
svn path=/trunk/; revision=49743
Sir Richard [Tue, 23 Nov 2010 16:50:35 +0000 (16:50 +0000)]
[ARMLLB]: Although the soothing BSOD blue color is nice for LLB debugging, we'd really prefer to have black so it looks more natural on the eyes when booting to FreeLoader. As such, make the default backcolor black, but keep the old blue color for early testing, if enabled with a define.
svn path=/trunk/; revision=49742
Sir Richard [Tue, 23 Nov 2010 16:49:28 +0000 (16:49 +0000)]
[ARMLLB]: We made certain assumptions in the "generic" files that are actually board-specific. For example, Versatile does indeed return a strange ULONG as the RTC time (seconds since 1970, I think), but TWL4030 on the ZOOM2 is normal and returns BCD RTC values just like the PC CMOS. Therefore, most of the "Generic" time.c code should move to versatile later. For now, use an IFDEF.
[ARMLLB]: Likewise, not all platforms have a PS/2 controller like the Versatile. ZOOM2 for example has a keypad, so the generic "input" file shouldn't assume keyboard-only. As such, most of the code there should also be made specific, but for now, use an ifdef.
svn path=/trunk/; revision=49741
Sir Richard [Tue, 23 Nov 2010 16:46:30 +0000 (16:46 +0000)]
[ARMLLB]: Include FreeLoader's keycode mappings (which don't seem standard) in ARMLLB, so we can do correct keypad to keycode translation.
[ARMLLB]: Include ReactOS's standard debug.h, which lets us un-redefine DbgPrint, and also gives us goodies like ASSERT and DPRINT1.
svn path=/trunk/; revision=49740
Sir Richard [Tue, 23 Nov 2010 16:45:34 +0000 (16:45 +0000)]
[ARMLLB]: Forgot to commit this earlier: define the ATAG_REVISION header.
svn path=/trunk/; revision=49739
Sir Richard [Tue, 23 Nov 2010 16:44:59 +0000 (16:44 +0000)]
[ARMLLB]: Add the MACHINE_TYPE code for the ZOOM2, based on the standard machtype definitions maintained by the various boot loader communities.
svn path=/trunk/; revision=49738
Sir Richard [Tue, 23 Nov 2010 16:44:19 +0000 (16:44 +0000)]
[ARMLLB]: Initialize hardware before parsing environment variables. This makes more sense, and also allows debug output from the environment scanning code.
svn path=/trunk/; revision=49737
Sir Richard [Tue, 23 Nov 2010 16:43:32 +0000 (16:43 +0000)]
[ARMLLB]: Add uImage header which uBoot expects on the images it can load nicely (using "go" will not give us ATAGs, "bootm" requires this header). It's a static header instead of requiring the mkImage tool, since we can disable data checksums in uBoot. We basically fake being a Linux kernel and the LLB handles the ATAGs.
[ARMLLB]: Add boot stack for Zoom2.
svn path=/trunk/; revision=49736
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
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
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
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
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
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
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
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
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
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
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
Sylvain Petreolle [Tue, 23 Nov 2010 16:08:39 +0000 (16:08 +0000)]
[PSDK]
Comment out specstrings.h inclusion in windef.h as per Timo's request.
Fixes build.
svn path=/trunk/; revision=49724
Timo Kreuzer [Tue, 23 Nov 2010 11:47:50 +0000 (11:47 +0000)]
[PSDK]
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
Timo Kreuzer [Tue, 23 Nov 2010 11:30:17 +0000 (11:30 +0000)]
[PSDK]
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
Timo Kreuzer [Tue, 23 Nov 2010 01:20:05 +0000 (01:20 +0000)]
revert r49718
svn path=/trunk/; revision=49720
James Tabor [Tue, 23 Nov 2010 01:16:58 +0000 (01:16 +0000)]
[Win32k]
- Restore capturing the hit test in the desktop structure. Move journal record hook before sending the mouse hook.
svn path=/trunk/; revision=49719
Timo Kreuzer [Tue, 23 Nov 2010 00:06:01 +0000 (00:06 +0000)]
[PSDK]
Partly sync windef.h with mingw-w64 and add specstrings.h
svn path=/trunk/; revision=49718
Pierre Schweitzer [Mon, 22 Nov 2010 23:51:00 +0000 (23:51 +0000)]
[NTOSKRNL]
Add missing prototype and define
svn path=/trunk/; revision=49717
Pierre Schweitzer [Mon, 22 Nov 2010 23:30:01 +0000 (23:30 +0000)]
[NTOSKRNL]
- Implemented FsRtlLookupPerStreamContextInternal(), FsRtlInsertPerStreamContext(), FsRtlRemovePerStreamContext(), FsRtlTeardownPerStreamContexts()
Based on my previous work on pierre-fsd branch.
svn path=/trunk/; revision=49716
Timo Kreuzer [Mon, 22 Nov 2010 23:20:50 +0000 (23:20 +0000)]
[WIN32K]
Apply workaround for POINT / POINTL, like for the others
svn path=/trunk/; revision=49715
Timo Kreuzer [Mon, 22 Nov 2010 23:18:59 +0000 (23:18 +0000)]
[GDI32]
Don't make the wrong assumption that POINT and POINTL are identical.
svn path=/trunk/; revision=49714
Eric Kohl [Mon, 22 Nov 2010 23:08:11 +0000 (23:08 +0000)]
[NPFS]
Add an FCB that represents the file system (volume/device) and support absolute and relative open, cleanup and close.
svn path=/trunk/; revision=49713
Pierre Schweitzer [Mon, 22 Nov 2010 22:18:02 +0000 (22:18 +0000)]
[NTOSKRNL]
- Renamed MmIsFileAPagingFile() to MmIsFileObjectAPagingFile() its appropriated name
- Added it to internal headers
- Implemented FsRtlIsPagingFile()
svn path=/trunk/; revision=49712
Pierre Schweitzer [Mon, 22 Nov 2010 21:38:23 +0000 (21:38 +0000)]
[NTOSKRNL]
- 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
Giannis Adamopoulos [Mon, 22 Nov 2010 20:10:56 +0000 (20:10 +0000)]
[win32k]
- 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
Eric Kohl [Sun, 21 Nov 2010 23:15:11 +0000 (23:15 +0000)]
[NPFS/KERNEL32]
Switch back to the old pipe wait code but keep the new code in place (disabled).
svn path=/trunk/; revision=49701
Pierre Schweitzer [Sun, 21 Nov 2010 16:04:52 +0000 (16:04 +0000)]
[NTOSKRNL]
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
Aleksey Bragin [Sat, 20 Nov 2010 22:05:42 +0000 (22:05 +0000)]
[NTDLL]
- Fix LdrVerifyImageMatchesChecksum() prototype.
svn path=/trunk/; revision=49676
Pierre Schweitzer [Sat, 20 Nov 2010 15:53:18 +0000 (15:53 +0000)]
[NTOSKRNL]
Get back INIT_FUNCTION on lassy's polite request.
svn path=/trunk/; revision=49665
Pierre Schweitzer [Sat, 20 Nov 2010 13:54:45 +0000 (13:54 +0000)]
[NTOSKRNL]
[HAL]
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
Pierre Schweitzer [Sat, 20 Nov 2010 12:07:24 +0000 (12:07 +0000)]
[NTOSKRNL]
Fix potential buffer overflow
svn path=/trunk/; revision=49659
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
Pierre Schweitzer [Sat, 20 Nov 2010 10:22:36 +0000 (10:22 +0000)]
[NTOSKRNL/PPC]
Fix index out of bounds
svn path=/trunk/; revision=49654
James Tabor [Sat, 20 Nov 2010 04:24:44 +0000 (04:24 +0000)]
[Wine32k|User32]
- 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
Eric Kohl [Fri, 19 Nov 2010 22:42:53 +0000 (22:42 +0000)]
[NPFS]
- Rename DEVICE_EXTENSION to NPFS_VCB.
- 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.
[KERNEL32]
- 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
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
Pierre Schweitzer [Fri, 19 Nov 2010 06:46:59 +0000 (06:46 +0000)]
[NTOSKRNL]
Simplify code, which should bring some fixing
svn path=/trunk/; revision=49618
Pierre Schweitzer [Fri, 19 Nov 2010 06:34:14 +0000 (06:34 +0000)]
[NTOSKRNL]
Use appropriated macros
svn path=/trunk/; revision=49617
Pierre Schweitzer [Fri, 19 Nov 2010 06:28:20 +0000 (06:28 +0000)]
[FORMATTING]
No code change
svn path=/trunk/; revision=49616
Timo Kreuzer [Thu, 18 Nov 2010 19:20:38 +0000 (19:20 +0000)]
[NTOSKRNL]
- 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
James Tabor [Thu, 18 Nov 2010 16:26:54 +0000 (16:26 +0000)]
[Win32k]
- Fix style, use client style.
svn path=/trunk/; revision=49613
James Tabor [Thu, 18 Nov 2010 16:17:59 +0000 (16:17 +0000)]
[Win32k]
- Test for hooks before setting up for a hook call. This eliminates overhead.
svn path=/trunk/; revision=49612
Giannis Adamopoulos [Thu, 18 Nov 2010 13:57:21 +0000 (13:57 +0000)]
[win32k]
- Some more cleanup
svn path=/trunk/; revision=49610
Timo Kreuzer [Thu, 18 Nov 2010 03:14:47 +0000 (03:14 +0000)]
[NTOSKRNL]
Fix a bug.
svn path=/trunk/; revision=49609
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
James Tabor [Tue, 16 Nov 2010 04:52:53 +0000 (04:52 +0000)]
[Win32k]
- Tweaks to hook and event timeouts. Increase performance with DOSBox when using mouse and keyboard.
svn path=/trunk/; revision=49605
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
Daniel Reimer [Sun, 14 Nov 2010 15:22:48 +0000 (15:22 +0000)]
Bug 5726: PATCH: regedit: Language File skeleton strings (geekdundee<A_T>gmail.com)
Bug 5735: PATCH: updated slovak translations by Mario Kacmar
Bug 5740: TRANSLATION: rapps: polish (wojtekkozlo664<A_T>op.pl)
Updated the Rapps Versions, too.
svn path=/trunk/; revision=49587
Giannis Adamopoulos [Sun, 14 Nov 2010 09:53:07 +0000 (09:53 +0000)]
[win32k]
-Rename MsqInsertSystemMessage to MsqInsertMouseMessage
svn path=/trunk/; revision=49581
Giannis Adamopoulos [Sun, 14 Nov 2010 09:01:17 +0000 (09:01 +0000)]
[win32k]
- Simplify co_IntPeekMessage even more
svn path=/trunk/; revision=49580
James Tabor [Sun, 14 Nov 2010 00:27:38 +0000 (00:27 +0000)]
[Win32k]
- 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
Timo Kreuzer [Sat, 13 Nov 2010 19:48:13 +0000 (19:48 +0000)]
[FREELDR]
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
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
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
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
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
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
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
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
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