Commit graph

42336 commits

Author SHA1 Message Date
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
Cameron Gutman
3a3d5b8571 - Fix a null-pointer dereference crash that happens when we complete a queued NDIS_REQUEST in MiniportWorker
svn path=/branches/aicom-network-branch/; revision=45102
2010-01-16 14:59:54 +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
Timo Kreuzer
8a429f3d78 [NTOS]
- Implement KiInitializeCpuFeatures amd call it early in the boot process
- fix KeProcessorArchitecture
- sumplify KiGetCpuVendor
- fix and enable __lldt
- remove some legacy code

svn path=/branches/ros-amd64-bringup/; revision=45095
2010-01-16 04:36:56 +00:00
Cameron Gutman
58f686f670 - Fix ECHO_REPLY_HEADER which was corrupting incoming packets (fixes displaying reply time)
- Fix a bug in the packet waiting code
 - Display the IP address if getnameinfo fails
 - tracert is actually useful now

svn path=/branches/aicom-network-branch/; revision=45094
2010-01-16 03:30:10 +00:00
Cameron Gutman
3f6a56fa36 [TDILIB, IPHLPAPI, WSHTCPIP]
- Move the TDI stuff from iphlpapi to a shared library called tdilib
[IP]
 - Implement tcpip side of IP_HDRINCL
[PSDK, WSHTCPIP, WSHIRDA]
 - Fix definition of WSHGetSocketInformation
[PSDK]
 - Add AO_OPTION_* defines
[WSHTCPIP]
 - Request notifications for bind also
 - Implement WSHSetSocketInformation
[MSAFD]
 - Implement event notifications (bonus: fixes a memory leak on socket closure due to unfreed helper context)
 - Store TdiConnectionHandle the same way we store TdiAddressHandle
 - Half-plement WSPSetSockOpt
 - Fix WSPGetSockOpt
[TCPIP]
 - Handle AO_OPTION_TTL, AO_OPTION_IP_DONTFRAGMENT (not working yet), AO_OPTION_BROADCAST (not working yet), and AO_OPTION_IP_HDRINCL
 - Add new members of ADDRESS_FILE for the preceding AO options
[AFD]
 - Return the connection handle in the Information of the IOSB (same as we do with the address file handle)
[GENERAL]
 - Tracert works now

svn path=/branches/aicom-network-branch/; revision=45093
2010-01-16 00:05:15 +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
Cameron Gutman
2522eb7b9b - Fix a bug with our tei_instance selection (we could end up with the same tei_instance value on different entities of the same type if an entity of our type in the middle of the list was deleted previously)
svn path=/branches/aicom-network-branch/; revision=45090
2010-01-15 21:00:50 +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
Cameron Gutman
b7457ec3d8 - Restore the worker in the loopback code because we can enter the loopback code from TCPPacketSend at a raised IRQL
- Fixes a crash with TCP over loopback

svn path=/branches/aicom-network-branch/; revision=45087
2010-01-15 18:01:52 +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
Timo Kreuzer
7185241ed4 Reduce difference to trunk
svn path=/branches/ros-amd64-bringup/; revision=45084
2010-01-15 13:09:00 +00:00
Timo Kreuzer
d7a1041c8c [NTOS]
Enable fx save restore support earlier and uncomment it in trap handlers.

svn path=/branches/ros-amd64-bringup/; revision=45083
2010-01-15 11:27:54 +00:00
Timo Kreuzer
b2e87768af [NTOS]
Implement InterruptDispatchTable, containing 256 dispatch stubs, that push the Vector on the stack and then jump to KiUnexpectedInterrupt. This way we have the vector as ErrorCode on the stack and we can report it with KeBugCheckWithTf.

svn path=/branches/ros-amd64-bringup/; revision=45082
2010-01-15 00:13:38 +00:00
Aleksey Bragin
44648580d7 [winetests]
- Sync gdi32 and user32 winetests to Wine-1.1.36.

svn path=/trunk/; revision=45081
2010-01-14 22:35:53 +00:00
Aleksey Bragin
cd4b708596 [PSDK]
- Add WM_DWM* message defines.

svn path=/trunk/; revision=45080
2010-01-14 22:33:25 +00:00
James Tabor
2a2bb84b32 [Win32k|User32]
- Started the user handle rewrite.

svn path=/trunk/; revision=45079
2010-01-14 13:33:04 +00:00
Timo Kreuzer
52c5ac7be7 Fix merge artifacts
svn path=/branches/ros-amd64-bringup/; revision=45078
2010-01-14 09:53:02 +00:00
Timo Kreuzer
7af355b0e9 reduce difference to trunk
svn path=/branches/ros-amd64-bringup/; revision=45077
2010-01-14 09:47:01 +00:00
Timo Kreuzer
06eb4351b2 [MESA32]
Add amd64 specific rbuild entries

svn path=/trunk/; revision=45076
2010-01-14 09:42:17 +00:00
Timo Kreuzer
55dd5f17c9 [MESA32]
- define GL_NO_STDCALL for non-x86 builds

svn path=/branches/ros-amd64-bringup/; revision=45075
2010-01-14 09:36:06 +00:00
Timo Kreuzer
5e5df9a707 Sync to trunk HEAD (r45072)
svn path=/branches/ros-amd64-bringup/; revision=45074
2010-01-14 08:53:42 +00:00
Timo Kreuzer
3f1658e744 [NTOS]
Add KeGetContextSwitches macro for amd64

svn path=/branches/ros-amd64-bringup/; revision=45073
2010-01-14 08:40:16 +00:00
Timo Kreuzer
df461e55cc [HAL]
add HalInitializeBios to amd64 exports

svn path=/branches/ros-amd64-bringup/; revision=45072
2010-01-14 07:56:34 +00:00
Timo Kreuzer
e76849d9af reduce differences to trunk
svn path=/branches/ros-amd64-bringup/; revision=45071
2010-01-14 07:53:23 +00:00
James Tabor
1e2a5d67cd [Win32k]
- Updated headers and related files.

svn path=/trunk/; revision=45070
2010-01-14 02:52:12 +00:00
Timo Kreuzer
85441000ae Fix wrong positioned #else
svn path=/branches/ros-amd64-bringup/; revision=45069
2010-01-14 00:45:11 +00:00
James Tabor
058c21696d [Win32k|User32]
- Updated headers for the next round of changes.

svn path=/trunk/; revision=45068
2010-01-14 00:43:54 +00:00
Timo Kreuzer
49c5dfc4fe remove diff to trunk
svn path=/branches/ros-amd64-bringup/; revision=45067
2010-01-13 23:05:26 +00:00
Timo Kreuzer
f9868fc771 Merge from amd64-branch:
34969 Some ULONG / SIZE_T fixes, handle amd64 in PspCreateThread
34986 Fix several 64 bit issues
35968 Fix Size parameter of CmpAllpcate (ULONG->SIZE_T).
35970 Fix pointer <-> ULONG cast
35971 Fix pointer <-> ULONG cast fixes
36332 fix 64 bit warnings
37435 Fix several ULONG/ULONG_PTR issues. Add a parameter to DefaultQueryInfoBufferCheck for ULONG_PTR/SIZE_T ResultLength
39522 ExInitializeSystemlookasideList: Use InitializeSListHead instead of directly accessing the members. ExpAllocateLocallyUniqueId: use InterlockedCompareExchange64 instead of non-portable ExfInterlockedCompareExchange64
37433 fix InterlockedExchangePointer usage
38105 Use KeGetCurrentPrcb() instead of KeGetPcr()->Prcb / KeGetPcr()->CurrentPrcb
39160 Use wbinvd instruction for amd64, too.

svn path=/trunk/; revision=45066
2010-01-13 22:35:43 +00:00
Sir Richard
0206768d44 [NTOS]: Fix bug in illegal instruction trap handling. Patch by Timo Kreuzer <physicus@reactos.org>.
svn path=/trunk/; revision=45065
2010-01-13 22:06:48 +00:00
Sir Richard
03b23a2450 Perf improvements:
[NTOS]: Optimize trap entry/exit by manually copying registers to the trap frame the correct way from the first time. Avoids conversion between PUSHA and KTRAP_FRAMEs and makes trap frames compatible the whole time (other than being slightly faster).
    [NTOS]: Provide compiler with hints on likely code paths during trap entry and exit, which makes the code more linear and improves performance. The following assumptions (known to be true) are made: (1) Interrupts happen more often than system calls (per unit of time), so prioritize paths we take during interrupts. (2) The CPU spends most of its time in Ring 3, so prioritize traps from user-mode. (3) V8086 mode, debugging, 16-bit stacks, are uncommon, so de-prioritize them.
    [NTOS]: Use KTRAP_FRAME offset names recommended by Timo instead of substraction which was confusing some people (still seems clearer to me).

svn path=/trunk/; revision=45064
2010-01-13 22:01:20 +00:00
Sir Richard
1cb5c9f019 [NTOS]: Remove debug spew (but keep Flag macros and fixes which fixed other bugs), thanks Timo.
svn path=/trunk/; revision=45063
2010-01-13 21:56:14 +00:00
Timo Kreuzer
a12f63e380 [NTOS]
KiExitV86Mode is supposed to return a pointer to the protected mode KTRAP_FRAME. Instead it was returning the value of TrapFrame->Edi, which would be identical to PmTrapFrame->Ebp, which doesn't have any particular meaning. Fix it by returning PmTrapFrame directly. Fixes 2nd stage boot.

svn path=/trunk/; revision=45062
2010-01-13 21:31:55 +00:00
Daniel Reimer
8e24e6be5e Update the Rapps Entries to up to date Versions.
svn path=/trunk/; revision=45061
2010-01-13 16:48:13 +00:00
Daniel Reimer
f142f6802c Bug 5072: PATCH: Add ReMooD to ReactOS Application Downloader. (by GhostlyDeath)
Added a German translation myself.

svn path=/trunk/; revision=45060
2010-01-13 15:46:00 +00:00
Sir Richard
de10db923c [NTOS]: Fix some bugs and cleanup V8086 code in regards to flags usage.
[NTOS]: Add VDM debug spew to see why there's now an invalid opcode on Windows builds of VMWare and certain QEmu combinations. (Note: the double fault issue is fixed, this is a new issue).

svn path=/trunk/; revision=45057
2010-01-13 03:43:03 +00:00
Timo Kreuzer
b4707f7f79 Update file from trunk
svn path=/branches/ros-amd64-bringup/; revision=45056
2010-01-13 01:10:36 +00:00
Timo Kreuzer
1697ed0f17 Add a dummy PSEH2 for amd64
svn path=/trunk/; revision=45055
2010-01-12 23:15:23 +00:00
Timo Kreuzer
40a5eb2996 Enable a few definitions for amd64, too
svn path=/trunk/; revision=45054
2010-01-12 20:30:43 +00:00
Timo Kreuzer
cffde6eb86 [CRT]
__wine_push_frame and __wine_pop_frame are only used in x86 specific code in cppexcept.c. Move them there instead of trying to implement them for other architectures.

svn path=/branches/ros-amd64-bringup/; revision=45053
2010-01-12 20:09:38 +00:00
Sir Richard
68ca27a00d Patch that fixes VMWare boot (and should fix QEMu/KVM boot on the testbot):
[NTOS]: A trap can get us into a state where DS/ES are invalid, making any pointer dereference (on DS/ES segmented memory, not SS, the stack) crash (and probably double-fault). Therefore, we have to be careful to switch to a good DS/ES before touching the TrapFrame pointer, which we don't have in ESP like the ASM code, but in a DS/ES-segmented register. For V8086 traps we can switch to the good DS/ES immediately, but for other kinds of traps, we actually need to save the current (bad) segments first. So we save them on the stack now, then switch to the good ones, then store the stack values into the trap frame. This is what happens on a non-optimized (-O0) build. On an optimized build, the segments will end up in registers instead, which is fine too (they'll be direct values). The order of instructions is guaranteed since the segment macros are volatile.
[NTOS]: The GPF and Invalid Opcode handlers are performance critical when talking about V8086 traps, because they control the main flow of execution during that mode (GPFs will be issued for any privileged instruction we need to emulate, and invalid opcode might be generated for BOPs). Because of this, we employ a fast entry/exit macro into V8086 mode since we can make certain assumptions. We detect, and use, such scenarios when the V8086 flag is enabled in EFLAGS. However, because we can land in a GPF handler with an invalid DS/ES, as some V8086 code could trample this during BIOS calls for example, we must make sure that we are on a valid DS/ES before dereferencing any pointer. We fixup DS/ES either in KiEnterTrap (for normal entry/exit) or, for V86, in KiEnterV86Trap. Notice the problem: we need to detect which of these to use early on but we can't touch the EFLAGS in the frame because DS/ES could be invalid. Thankfully SS is always guaranteed valid, so stack dereferences are game! We therefore read the EFLAGS here, in assembly, where we can touch ESP as we please. We save this in EDX, which will be used as the second argument for the FASTCALL C trap entry. When we make the fast V86 check, we use the parameter instead of the trap frame, leading us to using the correct trap entry function, which fixes up DS/ES and lets us go on our merry way...
[NTOS]: Make appropriate changes to GENERATE_TRAP_HANDLERS macro.
[NTOS]: Switch to using well-known NT trap handler names (hex-based, double-zeroed) instead of decimal-based trap handler names which are confusing.
[NTOS]: Clean up some debug spew.

svn path=/trunk/; revision=45052
2010-01-12 05:50:45 +00:00