Commit graph

44365 commits

Author SHA1 Message Date
Sir Richard 14e2c790ab [FREELDR]: Set load address for ZOOM2, and differentiate Beagle vs ZOOM2.
svn path=/trunk/; revision=49746
2010-11-23 17:19:52 +00:00
Sir Richard 262a3a7945 [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
2010-11-23 17:19:22 +00:00
Sir Richard 492d30fecb [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
2010-11-23 17:17:32 +00:00
Sir Richard b363fcdc3b [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
2010-11-23 17:14:41 +00:00
Sir Richard 0b05db72cf [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
2010-11-23 16:50:35 +00:00
Sir Richard 00c2cfbe36 [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
2010-11-23 16:49:28 +00:00
Sir Richard cc0c432e7b [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
2010-11-23 16:46:30 +00:00
Sir Richard b64b944ab1 [ARMLLB]: Forgot to commit this earlier: define the ATAG_REVISION header.
svn path=/trunk/; revision=49739
2010-11-23 16:45:34 +00:00
Sir Richard 57571947e3 [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
2010-11-23 16:44:59 +00:00
Sir Richard 2a7167e9ce [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
2010-11-23 16:44:19 +00:00
Sir Richard ba9136a9ff [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
2010-11-23 16:43:32 +00:00
Sir Richard b9c9c55b77 [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
2010-11-23 16:42:00 +00:00
Sir Richard 589fe32c63 [ARMLLB]: Make DbgPrint compatible so we can use debug.h.
svn path=/trunk/; revision=49734
2010-11-23 16:40:10 +00:00
Sir Richard befced9244 [HAL]: Make directory/buildfiles for OMAP3-specific HAL. Shared between ZOOM2 and Beagle for now.
svn path=/trunk/; revision=49733
2010-11-23 16:39:14 +00:00
Sir Richard 1b065e7bab [CRT]: _assert should use DbgRaiseAssertionFailure which is (a) correct and (b) portable, instead of __debugbreak.
svn path=/trunk/; revision=49732
2010-11-23 16:36:54 +00:00
Sir Richard af32d444fa [PSDK]: Add missing DbgRaiseAssertionFailure inline to winnt.h header.
svn path=/trunk/; revision=49731
2010-11-23 16:36:24 +00:00
Sir Richard a17fe7e176 [WINE]: Fix non-x86 versions of Wine's push/pop exception frame macro.
svn path=/trunk/; revision=49730
2010-11-23 16:35:48 +00:00
Sir Richard af01d7d129 [CRT]: Define JBLEN and JBTYPE for ARM, based on the Windows ARM CRT source code (public).
svn path=/trunk/; revision=49729
2010-11-23 16:35:13 +00:00
Sir Richard 26d84c43e2 [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
2010-11-23 16:34:30 +00:00
Sir Richard a93c65e3fe [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
2010-11-23 16:33:29 +00:00
Sir Richard 9dfdc0c94c [NTOS]: Bugfixes for the I/O Controller Object.
svn path=/trunk/; revision=49726
2010-11-23 16:32:56 +00:00
Sir Richard 49914debb9 [ARM]: Our new target is the ZOOM2 OMAP3, instead of Beagle (but we'll keep testing both).
svn path=/trunk/; revision=49725
2010-11-23 16:32:18 +00:00
Sylvain Petreolle 90b23eee60 [PSDK]
Comment out specstrings.h inclusion in windef.h as per Timo's request.
Fixes build.

svn path=/trunk/; revision=49724
2010-11-23 16:08:39 +00:00
Timo Kreuzer eb64df8ebd [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
2010-11-23 11:47:50 +00:00
Timo Kreuzer afe4af1acf [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
2010-11-23 11:30:17 +00:00
Timo Kreuzer 2ce6020471 revert r49718
svn path=/trunk/; revision=49720
2010-11-23 01:20:05 +00:00
James Tabor e690f5af92 [Win32k]
- Restore capturing the hit test in the desktop structure. Move journal record hook before sending the mouse hook.

svn path=/trunk/; revision=49719
2010-11-23 01:16:58 +00:00
Timo Kreuzer b9ced2b73b [PSDK]
Partly sync windef.h with mingw-w64 and add specstrings.h

svn path=/trunk/; revision=49718
2010-11-23 00:06:01 +00:00
Pierre Schweitzer 4aa271271e [NTOSKRNL]
Add missing prototype and define

svn path=/trunk/; revision=49717
2010-11-22 23:51:00 +00:00
Pierre Schweitzer c06fd57e9c [NTOSKRNL]
- Implemented FsRtlLookupPerStreamContextInternal(), FsRtlInsertPerStreamContext(), FsRtlRemovePerStreamContext(), FsRtlTeardownPerStreamContexts()
Based on my previous work on pierre-fsd branch.

svn path=/trunk/; revision=49716
2010-11-22 23:30:01 +00:00
Timo Kreuzer e08f002f40 [WIN32K]
Apply workaround for POINT / POINTL, like for the others

svn path=/trunk/; revision=49715
2010-11-22 23:20:50 +00:00
Timo Kreuzer 332a782a37 [GDI32]
Don't make the wrong assumption that POINT and POINTL are identical.

svn path=/trunk/; revision=49714
2010-11-22 23:18:59 +00:00
Eric Kohl d828ba929b [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
2010-11-22 23:08:11 +00:00
Pierre Schweitzer e69e3b27ee [NTOSKRNL]
- Renamed MmIsFileAPagingFile() to MmIsFileObjectAPagingFile() its appropriated name
- Added it to internal headers
- Implemented FsRtlIsPagingFile()

svn path=/trunk/; revision=49712
2010-11-22 22:18:02 +00:00
Pierre Schweitzer 4f335ab6b0 [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
2010-11-22 21:38:23 +00:00
Giannis Adamopoulos 9b693d8c69 [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
2010-11-22 20:10:56 +00:00
Eric Kohl 8b5175e0ab [NPFS/KERNEL32]
Switch back to the old pipe wait code but keep the new code in place (disabled).

svn path=/trunk/; revision=49701
2010-11-21 23:15:11 +00:00
Pierre Schweitzer 2b6a79d9c9 [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
2010-11-21 16:04:52 +00:00
Aleksey Bragin fc65d4400f [NTDLL]
- Fix LdrVerifyImageMatchesChecksum() prototype.

svn path=/trunk/; revision=49676
2010-11-20 22:05:42 +00:00
Pierre Schweitzer 6baacb986b [NTOSKRNL]
Get back INIT_FUNCTION on lassy's polite request.

svn path=/trunk/; revision=49665
2010-11-20 15:53:18 +00:00
Pierre Schweitzer 3eb9ba0807 [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
2010-11-20 13:54:45 +00:00
Pierre Schweitzer ebec2dd826 [NTOSKRNL]
Fix potential buffer overflow

svn path=/trunk/; revision=49659
2010-11-20 12:07:24 +00:00
Dmitry Chapyshev bb5c7012d3 - Add wer.dll from Wine 1.3.7
- Sync gdiplus with Wine 1.3.7

svn path=/trunk/; revision=49658
2010-11-20 11:24:17 +00:00
Pierre Schweitzer 40232d377b [NTOSKRNL/PPC]
Fix index out of bounds

svn path=/trunk/; revision=49654
2010-11-20 10:22:36 +00:00
James Tabor 5d81f0a584 [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
2010-11-20 04:24:44 +00:00
Eric Kohl abf6a5bfd5 [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
2010-11-19 22:42:53 +00:00
Dmitry Chapyshev 4e31a0e529 - Sync atl, hlink, shdocvw, wtsapi32 with Wine 1.3.7
svn path=/trunk/; revision=49631
2010-11-19 15:21:38 +00:00
Pierre Schweitzer 752c855c83 [NTOSKRNL]
Simplify code, which should bring some fixing

svn path=/trunk/; revision=49618
2010-11-19 06:46:59 +00:00
Pierre Schweitzer ae495fcf68 [NTOSKRNL]
Use appropriated macros

svn path=/trunk/; revision=49617
2010-11-19 06:34:14 +00:00
Pierre Schweitzer d4577f8b7f [FORMATTING]
No code change

svn path=/trunk/; revision=49616
2010-11-19 06:28:20 +00:00