Commit graph

40272 commits

Author SHA1 Message Date
Dmitry Gorbachev d6fa8735be Fix build-2.
svn path=/trunk/; revision=45161
2010-01-20 10:59:39 +00:00
Dmitry Gorbachev 274f2bcdb3 Fix build.
svn path=/trunk/; revision=45160
2010-01-20 10:38:40 +00:00
Sir Richard 01d2a95033 [NTOS]: Implement KiSwapProcess in C.
[NTOS]: Implement KiIsNpxPresent and KiIsNpxErrataPresent in C. It's much clearer what these are doing now.
[NTOS]: Implement KiFlushNPXState and fix some bugs that were present in the ASM version, such as a wrong NPX state check.
[NTOS]: Implement working intrinsics for fxrstor, fxsave, fnsave and enable them for flushing. We'll update the FPU trap code to use these later.

svn path=/trunk/; revision=45156
2010-01-20 04:05:08 +00:00
James Tabor 04a018d92b - Add dclevel flags.
svn path=/trunk/; revision=45155
2010-01-20 01:40:27 +00:00
Sir Richard fdc6352f10 [NTOS]: Workaround for GCC 4.4.x bug reported by Dmitry.
svn path=/trunk/; revision=45154
2010-01-19 22:21:12 +00:00
Kamil Hornicek 6a901b0a67 - fix build, thanks Black_Fox
svn path=/trunk/; revision=45153
2010-01-19 21:19:56 +00:00
Sir Richard 2b21bf41f4 [FREELDR]: Jump to a standard 1-parameter STDCALL kernel entrypoint instead of a FASTCALL double-parameter entrypoint.
[NTOS]: Make KiSystemStartup the real C entrypoint of the kernel, and move the "Am I being booted by FreeLDR" logic inside it -- it will then call KiRosPrepareForSystemStartup as earlier.
[NTOS]: Move the Double Fault and Boot Stack declaration in C code, with the proper alignment attribute.
[NTOS]: Although the concern that KiSystemStartup cannot be 100% C since it modifies ESP is real (Thomas' original fix of Alex's code), we don't need that much of it in assembly. Instead, write a simple trampoline (KiSwitchToBootStack) inline which switches stacks and jumps to a second-stage C function.
[NTOS]: Completely remove boot.S as it isn't needed anymore, ReactOS startup is back to being (nearly) 100% C.

svn path=/trunk/; revision=45152
2010-01-19 18:27:24 +00:00
Sir Richard b5b72b8be6 [NTOS]: Try backing out a change to see if thix fixes BuildBot.
svn path=/trunk/; revision=45150
2010-01-19 15:26:16 +00:00
Daniel Reimer 87ee3e1f91 Update the d3dx9_XX.dll files to the recent wine release version. Mostly stubs, but many games appreciate their existance.
svn path=/trunk/; revision=45149
2010-01-19 10:09:33 +00:00
Sir Richard bb3df24b50 [NTOS]: Implement GUI thread promotion during the first GUI system call in C. This is tricky due to EBP, and actually requires some tiny inline ASM magic to make it work right.
[NTOS]: Implement SYSENTER system calls in C as well.

All system calls are now handled in C. This code will be further optimized/refined soon.

svn path=/trunk/; revision=45148
2010-01-19 09:45:30 +00:00
Sir Richard d4efc1a06c [NTOS]: Convert system call handling to C. Only kernel system calls are done this way for now, not SYSENTER calls from user-mode. A small ASM trampoline is used inline for the call itself.
svn path=/trunk/; revision=45147
2010-01-19 09:20:40 +00:00
Sir Richard 9ef69503ed [NTOS]: Fix build.
svn path=/trunk/; revision=45146
2010-01-19 08:51:37 +00:00
Sir Richard 7bd79bce9e [NTOS]: We don't actually need wrappers for NtContinue/NtRaiseException. These are now fully portable C code, so move them appropriately.
svn path=/trunk/; revision=45145
2010-01-19 08:41:03 +00:00
Sir Richard 94d748c642 [NTOS]: Kei386EoiHelper now jumps into the C KiEoiHelper. All interrupt exit is now done through the C trap exit code.
[NTOS]: The ASM KiServiceExit/KiServiceExit2 are no more. All system call exit is now done through the C trap exit code.

svn path=/trunk/; revision=45144
2010-01-19 08:35:37 +00:00
Sir Richard b6fb14da50 [NTOS]: Implement the special NtRaiseException in C as well, just like we did for NtContinue.
svn path=/trunk/; revision=45143
2010-01-19 08:26:25 +00:00
Sir Richard e8437a07f6 [NTOS]: Implement "Edited Trap Frame" exit. This funky trick is actually how NT emulates longjmp/setjmp when doing an NtContinue: it allows arbitrary return with a new CS/ESP.
[NTOS]: Implement C version of KiServiceExit, the second system call exit routine. This one sets a new EAX value to be returned to the caller and is used by system calls.
[NTOS]: Implement NtContinue in C instead of ASM. Due to the changes above, this can now be done in C and use the new KiServiceExit.

svn path=/trunk/; revision=45142
2010-01-19 08:20:12 +00:00
Sir Richard aba18024bd [NTOS]: Implement KiServiceExit2, C Version. This is used for exiting to user-mode with full state restore (as in NtContinue, thread startup, NtRaiseException...).
[NTOS]: Implement system service exit (for system calls or KiServiceExit2) in KiExitTrap. Both iret (for user calls), jmp (for kernel calls) and sysexit (for user fast calls) are implemented.
[NTOS]: Implement KiThreadStartup in C instead of ASM. It is the first caller of the new KiServiceExit2. Threads now start up in C!

svn path=/trunk/; revision=45141
2010-01-19 06:34:15 +00:00
Sir Richard bf8b9467dc [NTOS]: Implement KeUpdateSystemTime and KeUpdateRunTime in C instead of ASM. Based off eVb's ARM implementation, with multiple bugs fixed (incorrect update of system counters, incorrect expiration of timers, remove non-used debug features, use locks when needed).
[NTOS]: Implement KiComputeTimerTableIndex in C instead of ASM. Based off eVb's ARM implementation, bugfixed to do correct math instead.

As a side effect, this should fix timers on ARM ;-)

svn path=/trunk/; revision=45140
2010-01-19 06:16:47 +00:00
Christoph von Wittich d6b8e75c83 [WINDOWSCODECS]
update wincodec.idl to wine 1.1.36

svn path=/trunk/; revision=45139
2010-01-18 20:39:30 +00:00
Christoph von Wittich 4762ec5ea0 [WINDOWSCODECS]
update windowscodecs to wine 1.1.36

svn path=/trunk/; revision=45138
2010-01-18 20:36:58 +00:00
Timo Kreuzer 1108cf10b1 [NTOS]
Fix possible NULL pointer dereference. Spotted by Amine Khaldi.

svn path=/trunk/; revision=45137
2010-01-18 17:24:28 +00:00
Christoph von Wittich 27a2254546 [MSHTML_WINETEST]
update mshtml winetest to wine 1.1.36

svn path=/trunk/; revision=45136
2010-01-18 16:59:11 +00:00
Christoph von Wittich 24cd3eb4cb [MSXML3]
update msxml3 to wine 1.1.36

svn path=/trunk/; revision=45135
2010-01-18 16:53:59 +00:00
Timo Kreuzer b90d243037 [NTOS]
Fix buffer overrun in ExFreePoolWithTag when dealing with a PoolType other than NonPagedPool and PagedPool. Spotted by Amine Khaldi.

svn path=/trunk/; revision=45134
2010-01-18 16:43:58 +00:00
Christoph von Wittich 29193e1051 [MSHTML]
update mshtml to wine 1.1.36

svn path=/trunk/; revision=45133
2010-01-18 16:27:14 +00:00
Timo Kreuzer 31842662a8 [NTOS]
KiTrap0DHandler: fix buffer overrun (Spotted by Amine Khaldi) and optimize the code by checking the counter variable, instead of Instruction, this works the same, but the compiler can make sense of it and safe one comparison.

svn path=/trunk/; revision=45132
2010-01-18 16:16:59 +00:00
Sylvain Petreolle f783339b11 [ADVAPI]
Sync OpenEventLogA with wine.
RtlCreateUnicodeStringFromAsciiz breaks null checks.

svn path=/trunk/; revision=45131
2010-01-18 16:03:30 +00:00
Christoph von Wittich ebaf29efc8 [QUARTZ]
update quartz to wine 1.1.36

svn path=/trunk/; revision=45130
2010-01-18 14:28:36 +00:00
Matthias Kupfer cea3c125e2 - fix file path in header
- add German translation

svn path=/trunk/; revision=45128
2010-01-17 22:37:09 +00:00
Sylvain Petreolle 20e9adf489 Add parameters check to ReadEventLog.
Fixes last advapi32:eventlog crash

svn path=/trunk/; revision=45125
2010-01-17 21:40:39 +00:00
Eric Kohl 734debd8dc Implement ElfrRegisterEventSourceA.
svn path=/trunk/; revision=45123
2010-01-17 15:16:26 +00:00
Eric Kohl a811921d8e Empty the card stacks before showing the win message box.
svn path=/trunk/; revision=45122
2010-01-17 12:51:16 +00:00
Matthias Kupfer 929ff6e2ac - fix and add several German and English translations
svn path=/trunk/; revision=45121
2010-01-17 12:51:08 +00:00
Christoph von Wittich b7cfbffd76 [advpack]
update advpack to wine 1.1.36

svn path=/trunk/; revision=45119
2010-01-17 08:29:56 +00:00
Christoph von Wittich 3afb71110b [cabinet_winetest]
update cabinet winetest to wine 1.1.36

svn path=/trunk/; revision=45118
2010-01-17 08:23:35 +00:00
Benedikt Freisen d84c76f347 [Paint] Initial support for free selections, resizing selections and experimental selection transparency
svn path=/trunk/; revision=45113
2010-01-16 23:21:45 +00:00
Sylvain Petreolle d005d3aaa4 silence wdmaud debug
svn path=/trunk/; revision=45110
2010-01-16 18:54:31 +00:00
Sylvain Petreolle 39b6e96497 Assign rpcss to its actual group.
Fixes rpcss/spooler load order.

svn path=/trunk/; revision=45109
2010-01-16 18:44:17 +00:00
Eric Kohl b58a692add Display CSConfigFlags.
svn path=/trunk/; revision=45108
2010-01-16 17:07:41 +00:00
Eric Kohl b060fb3ebf Implement CM_Set_HW_Prof[_Ex].
svn path=/trunk/; revision=45107
2010-01-16 16:31:58 +00:00
Eric Kohl 24d37d7161 Implement PNP_HwProfFlags.
svn path=/trunk/; revision=45106
2010-01-16 16:18:00 +00:00
Aleksey Bragin 13f71da4f1 [SDK]
- Add missing IIDs to UUID.

svn path=/trunk/; revision=45099
2010-01-16 13:52:51 +00:00
Aleksey Bragin 163e1d6d27 [PSDK]
- Merge Wine-1.1.36 changes to commctrl.h.

svn path=/trunk/; revision=45098
2010-01-16 13:40:30 +00:00
Aleksey Bragin 1727d02629 [PSDK]
- Add commoncontrols.idl from Wine-1.1.36 (needed for newer comctl32).

svn path=/trunk/; revision=45097
2010-01-16 12:39:44 +00:00
James Tabor 95f100163d [Win32k]
- Fix the window handle De/Reference throttler issue. Used mIrc.

svn path=/trunk/; revision=45096
2010-01-16 05:56:22 +00:00
James Tabor 683078276e [User32]
- Patch by Kusanagi Kouichi : Make DefWindowProc handle Shift+F10.
- Keyboard hotkey issues need looking after. See bug 642, 1009, 3560 and 4609.
- Input.c header modified.

svn path=/trunk/; revision=45092
2010-01-15 23:51:41 +00:00
Sylvain Petreolle 7f3c71e5ea Disable spooler service.
This allows bootcdregtest to start here under qemu-kvm.

svn path=/trunk/; revision=45091
2010-01-15 22:17:16 +00:00
Timo Kreuzer 46d47eb029 [CRT]
Patch by Jose Catena:
vsnprintf: added support for ll size specifier

See issue #5122 for more details.

svn path=/trunk/; revision=45089
2010-01-15 21:00:20 +00:00
Timo Kreuzer 59e66ba7e8 [CRT]
Patch by Jose Catena:
allmul produced wrong results when the higher 32 bits of any of the 64 bit operands are not zero. As the comment correctly said the definition of param locations must change
since esp was altered, but the definitions were not actually changed

See issue #5121 for more details.

svn path=/trunk/; revision=45088
2010-01-15 20:45:36 +00:00
James Tabor fc70f9c60c [Win32k|User32]
- Switch to the new user handle manager. Added more handle types to win32k. One or two step to WND, desktop heap supported.
- Test with every application in my test suite. Needs more testing and clean up. Bleeding edge!

svn path=/trunk/; revision=45085
2010-01-15 13:47:25 +00:00