Commit graph

40231 commits

Author SHA1 Message Date
James Tabor
3d60e751ce [Win32k]
- Removed NtUserGetScrollInfo and replaced it, move more type names in window object to WND.

svn path=/trunk/; revision=45021
2010-01-10 07:50:57 +00:00
Eric Kohl
ba16f69763 Removed outdated email addresses.
svn path=/trunk/; revision=45020
2010-01-09 22:43:16 +00:00
Eric Kohl
b4f5a3e1a1 Reverted some coding-style changes as per Alekseys request.
svn path=/trunk/; revision=45019
2010-01-09 21:57:00 +00:00
Eric Kohl
1145a26d92 Fix indentation and coding style. No code changes.
svn path=/trunk/; revision=45018
2010-01-09 20:51:33 +00:00
Michael Martin
ce0ab52c93 [usb/usbehci]
- Added numerous structures required for Asynchronous Lists used to communicate with controller. Needs much more work.
- Implement initial retrieving Device and String Descriptors from USB devices.
- Fixed improper handling of Queued IRPs that was causing crashes.
- For now, always queue the Irp if the request is a Urb of type Get Descriptor.
- Reorganized code to trim down source files.

svn path=/trunk/; revision=45017
2010-01-09 19:28:29 +00:00
Sir Richard
f1e6ecbc60 Trap handlers in C patch 6 of X:
[NTOS]: Implement Trap 7 and 16 in C. These are the last two FPU/NPX traps. Not really good with x86 FPU stuff, so there might be some mistakes to look over later.
    [NTOS]: Fixed a bug in Trap 19 handler (forgot to write CR0 back).

svn path=/trunk/; revision=45014
2010-01-09 15:07:44 +00:00
James Tabor
1b346fdad3 [User32]
- Add corrected behavior for SetWindowRgn, delete region object after setting windows region. See bug 4980.
- After a successful call to SetWindowRgn, the system owns the region specified by the region handle hRgn. The system does not make a copy of the region. Thus, you should not make any further function calls with this region handle. In particular, do not delete this region handle. The system deletes the region handle when it no longer needed.
- References : http://msdn.microsoft.com/en-us/library/dd145102(VS.85).aspx

svn path=/trunk/; revision=45013
2010-01-09 06:16:51 +00:00
Martin Fuchs
34689ba8c7 avoid warning messages on Explorer startup when missing configuration files
svn path=/trunk/; revision=45011
2010-01-08 21:51:43 +00:00
Sir Richard
8d89e2b027 Trap handlers in C Patch 5 of X:
[NDK]:  Add FSW defines for FPU exception bits.
    [NTOS]: Convert trap 19 (XMMI exception) to C.

svn path=/trunk/; revision=45010
2010-01-08 19:24:10 +00:00
Sir Richard
733c152673 Trap handlers in C Patch 4 of X:
[NTOS]: Implement trap 6 (invalid opcode) in C.

svn path=/trunk/; revision=45008
2010-01-08 18:45:04 +00:00
Sir Richard
8323208ddf Trap Handlers in C Patch 3 of X (Patch by Sir_Richard <ros.arm@reactos.org>):
[NTOS]: Fix a bug in the assertion handler.
    [NTOS]: Implement page fault trap (14) in C instead of ASM.
    [NTOS]: Implement V8086 trap entry/exit, we were hitting these during page faults in Ke386CallBios for video reset during GUI boot.

svn path=/trunk/; revision=45005
2010-01-08 18:21:47 +00:00
Kamil Hornicek
b308ece644 - fix build, spotted by Stefan
svn path=/trunk/; revision=45003
2010-01-08 16:06:33 +00:00
ReactOS Portable Systems Group
0940d6e34a Trap Handlers in C Patch 2 of X (Patch by Sir_Richard <ros.arm@reactos.org>):
[NTOS]: Convert Trap 0, 1, 3, 4, 5, 8, 10, 11, 12, 15, 17, 2C (Assertion) and 2D (Debug) to C. Tested INT3 and still works as expected, and obviously DbgPrint is still functionning (0x2D). The other traps are mainly programming errors such as bound overflow or integer overflow, so we need some test cases, but they should work. Note the 3-4 lines of C for what used to be dozens of ASM lines.
    [NTOS]: Fix infinite loop in KiCheckForApcDelivery.

Stefan Ginsberg: Could you please implement the relevant Extended GCC ASM into MSVC?
   

svn path=/trunk/; revision=45002
2010-01-08 15:16:00 +00:00
Martin Fuchs
34ad648d58 define _tcscpy_s and _tsplitpath_s again for native VC++ builds
svn path=/trunk/; revision=45001
2010-01-08 15:10:50 +00:00
ReactOS Portable Systems Group
ba415f6e7b Trap Handlers in C Patch 1 of X (Patch by Sir_Richard <ros.arm@reactos.org>):
[NTOS]: The kernel normally does not save FPU state during Ring 0 transitions since the FPU should not be used. The one exception is when a kernel debugger is attached. Unfortunately, the latter check in ReactOS results in even "print on the serial line" to count as "debugger attached", and thus FPU state was almost always saved, slowing down traps significantly.
    [NTOS]: The kernel also does not typically save DRx (debug) registers unless they were in use. During an exception dispatch, they are zeroed out, and later during trap exit, if any debug register is set, DR7 is updated to enable that hardware breakpoint. Unfortunately, the code to clear the debug registers had a bug: DR2 was never cleared. Because DR2 ended up being a random stack value during trap frame generation, this caused a bogus address to be added to DR2, and DR7 would then enable the 2nd hardware breakpoint. This caused the kernel to always save DRx state, which is slow, and worse, could cause random hardware breakpoints to fire.
    [NTOS]: Start implementing trap handling in C. ASM trap handlers will now only be 5 lines of assembly including a function call to a C handler. All C handling code uses maximum two arguments and is all FASTCALL for efficiency.
    [NTOS]: Implement C versions of TRAP_PROLOG and TRAP_EPILOG. Implement C version of Ki386EoiHelper. Implement C version of CommonDispatchException (and helper) and KiFatalSystemException. Implement C version of CHECK_FOR_APC_DELIVER. Implement trap debugging checks as a separate entity instead of always doing them.
    [NTOS]: Add missing intrinsics for DS/ES/GS segment query.

The kernel is now ready for some trap handling to be done in C. Due to the FPU/Debug fixes and relaxation of paranoid debug checks, the C code will likely be faster than the original assembly.

svn path=/trunk/; revision=45000
2010-01-08 15:04:19 +00:00
Martin Fuchs
873a68e758 temporarily revert to query "defined(__STDC_WANT_SECURE_LIB__) && defined(_MS_VER)"
svn path=/trunk/; revision=44999
2010-01-08 14:48:22 +00:00
Martin Fuchs
e09bb852c0 update XMLStorage to 2010 version
svn path=/trunk/; revision=44998
2010-01-08 13:59:15 +00:00
Martin Fuchs
449aa18843 fix TCHAR array initialization
svn path=/trunk/; revision=44996
2010-01-08 13:19:48 +00:00
Michael Martin
2aac7f8c6a [usb/usbehci]
- CompletePendingRequest: Release the spinlock before and reacquire it after calling IoCallDriver

svn path=/trunk/; revision=44994
2010-01-08 09:55:18 +00:00
Michael Martin
86cc8888f0 [usb/usbehci]
- Initial implementation of usbehci, aka USB 2.0.
- Implement AddDevice, StartDevice, InterruptService and DPC Routines.
- Implement basic IRP queuing and handling.
- Implement starting, stopping of EHCI controller and querying port capabilities. 
- Implement PNP for Query Relations, Query ID, Query BusInfo.
- Implement finding the active ports when USB devices are attached and releasing control to companion controller if devices is not a high speed devices.
- Implement reporting devices connects to upper Pdo (hub) driver.
- Hub driver attaches successfully and sends URBs to query descriptors from USB devices on Windows.
- Currently not build enabled as it will cause problems with current UsbDriver in trunk.
- Code heavily based on current PCI drivers and UsbDriver from trunk.

svn path=/trunk/; revision=44993
2010-01-08 09:34:36 +00:00
Michael Martin
4a5921d8fa [include/usb200.h]
- Fix two unions, make text after last #endif a comment as it should be, and add newline at end of file.

svn path=/trunk/; revision=44992
2010-01-08 09:00:53 +00:00
ReactOS Portable Systems Group
6ce614c110 - Document and define Timer and System Control Ports (0x43, 0x61) as defined in ISA System Architecture 3rd Edition and The Undocumented PC.
- Document PIT access modes, channels and operating modes.
- Rewrite HalHandleNMI to use the System Control Port definitions instead of magic values that were never explained.
- Rewrite HalMakeBeep not to program the PIT with magic hexadecimal values that were not explained anywhere and seem dubious.
- Fix the PIT frequency to match its correct value of ~1.19318MHz which is what every x86 book states and what Linux and all other operating systems use. This is equivalent to one third of the NTSC color burst (subcarrier frequency) used on CGA computers for video output. Previously, the HAL used 1.193167MHz, which is only used by NT and isn't documented anywhere, and in fact appears to be a typo in the NT sources (a less accurate way of dividing the NTSC color burst gives 1.19318167MHz). Somehow, the ReactOS developer of this function must have made the same "typo", by complete coincidence, of course.
- Rewrite part of HalpInitializeClock to use the new definitions. This function was at least somewhat documenting the magic values.


svn path=/trunk/; revision=44991
2010-01-08 04:31:19 +00:00
ReactOS Portable Systems Group
53236395a1 - Restore PROGRAMMER's field correctly.
svn path=/trunk/; revision=44990
2010-01-07 19:08:11 +00:00
James Tabor
337d120ece [User32]
- Patch by James Hawkins : Don't try to free a handle with a value of 1, which is the dde handle value for asynchronous operations.
- Will sync to wine after a review of new WOW implementation.

svn path=/trunk/; revision=44989
2010-01-07 19:05:57 +00:00
James Tabor
d688d91275 [User32]
- Patch by Marcus Meissner : Remove useless NULL check (Coverity).
- Will sync to wine after a review of new WOW implementation.

svn path=/trunk/; revision=44988
2010-01-07 18:59:13 +00:00
James Tabor
432bd7570f [User32]
- Patch by Marcus Meissner : EM_REPLACESEL Handle OOM error.
- Will sync to wine after a review of new WOW implementation.

svn path=/trunk/; revision=44987
2010-01-07 18:55:24 +00:00
Eric Kohl
4c9596a9ad [umpnpmgr]
Silence device arrival debug messages.

svn path=/trunk/; revision=44981
2010-01-06 21:14:13 +00:00
Eric Kohl
ffab3fc13c Fix PNP_DeviceInstanceAction prototype.
svn path=/trunk/; revision=44980
2010-01-06 18:58:10 +00:00
Kamil Hornicek
241b55764e - missed this one, sorry
svn path=/trunk/; revision=44979
2010-01-06 15:05:25 +00:00
Kamil Hornicek
721e80ba4d - sync wined3d, ddraw, d3d8 and d3d9 with Wine 1.1.35
svn path=/trunk/; revision=44978
2010-01-06 14:59:04 +00:00
Kamil Hornicek
39095e89ae - fix definition of ComposeRects
svn path=/trunk/; revision=44977
2010-01-06 14:19:58 +00:00
Ged Murphy
0c02d2184e Fix pause / resume code. The buttons need fixing yet so it still won't work, although the menu items probably will.
svn path=/trunk/; revision=44976
2010-01-06 13:10:09 +00:00
Giannis Adamopoulos
b8882998c7 [win32k]
- Rewrite SetCursorPos and ShowCursror
- Store coursor show count in SYSTEM_CURSORINFO and not in GDIPOINTER
- Fix broken behaviour in ClipCursor

svn path=/trunk/; revision=44975
2010-01-06 12:44:31 +00:00
Dmitry Gorbachev
15269e4b77 [freeldr]
- Do not use GetSystemMemorySize(), which truncates size to 32 bit.
- Other minor changes.

svn path=/trunk/; revision=44974
2010-01-06 11:44:54 +00:00
Dmitry Gorbachev
a71c3f0d12 Check if MmHeapAlloc() failed.
svn path=/trunk/; revision=44972
2010-01-06 01:28:23 +00:00
ReactOS Portable Systems Group
4b9333f4a1 - Implement NMI handler in C instead of ASM.
- Tested with the "nmi 0" command in QEMU and NmiDbg.sys.


svn path=/trunk/; revision=44971
2010-01-06 00:40:07 +00:00
Timo Kreuzer
2736e830ea [RTL]
Merge from amd64 branch
35738,37004,37308,37324,37330,37331,37332,37370,37419,37424,37425,37428,37473,37492,37844,37911,37987,40604,41006,43686,43951,43953,43980,43993,44001,44289,44295,44296,44428,44966,44967,44968

- Implement amd64 specific RTL functions: RtlLookupFunctionTable, RtlLookupFunctionEntry, RtlCaptureContext, RtlVirtualUnwind, RtlWalkFrameChain, RtlGetCallersAddress, RtlRaiseException (Timo Kreuzer)
- Implement amd64 asm functions: RtlCompareMemory, DebugService, RtlInterlockedPopEntrySList, RtlInterlockedPushEntrySList and RtlInterlockedFlushSList (Timo Kreuzer)
- Don't use double in rtl's sprintf / swprintf, use double_t union instead. (Stefan Ginsberg)

svn path=/trunk/; revision=44970
2010-01-06 00:39:07 +00:00
Dmitry Gorbachev
0c5fed9d71 Fix memory leak in CreateToolhelp32Snapshot(). Bug #5096.
svn path=/trunk/; revision=44969
2010-01-05 23:28:16 +00:00
Ged Murphy
d4aca75523 Clean up the pause and resume code and a few other bits and bobs
svn path=/trunk/; revision=44965
2010-01-05 21:43:00 +00:00
Ged Murphy
5dfb2cc0c3 Clean up the start code
svn path=/trunk/; revision=44963
2010-01-05 21:14:10 +00:00
Ged Murphy
d5bc8625fb [SERVMAN]
- Fully implement stopping all dependent services
- When stopping a service, only list other running services which require stopping
- Use the same progress dialog for stopping multiple services and make it smoother

svn path=/trunk/; revision=44961
2010-01-05 20:41:14 +00:00
Eric Kohl
ef88ea7724 [spoolsv]
- Switch to wine debug macros. Add new debug channel spoolsv.
- Update service status when the service receives a control message.

svn path=/trunk/; revision=44960
2010-01-05 20:32:02 +00:00
Eric Kohl
9fb7195e8e [umpnpmgr]
PNP_DeviceInstanceAction: Call a separate function for each action.

svn path=/trunk/; revision=44959
2010-01-05 20:26:31 +00:00
Timo Kreuzer
b473a12aff [WIN32k]
Fix some 64 bit issues.

svn path=/trunk/; revision=44958
2010-01-05 20:06:33 +00:00
Ged Murphy
bb5ea9e289 Make the logic easier to read
svn path=/trunk/; revision=44957
2010-01-05 19:27:14 +00:00
Timo Kreuzer
dfe969ab14 [win32k] / [user32]
Merge from amd64 branch:
34780 some DWORD -> DWORD_PTR (Timo Kreuzer)
34781 fix usage of InterlockedCompareExchangePointer (Timo Kreuzer)
34782 fix usage of InterlockedCompareExchangePointer (Timo Kreuzer)
34908 some 64 bit fixes in win32k (Timo Kreuzer)
34909 some more win32k 64 bit fixes (Timo Kreuzer)
34965 Fix typos. (Samuel Serapión)
41479 Remove usage of RETURN() macro (Timo Kreuzer)
41540 Make parameters for NtUserCallOneParam and NtUserCallTwoParam DWORD_PTR instead of DWORD (Timo Kreuzer)
41546 Add _FLOATOBJ_GetFix for non-x86 (Timo Kreuzer)
41547 Only export FLOATOBJ_* api on x86 (Timo Kreuzer)
44238 Fix some 64 bit isues. (Timo Kreuzer)
43969 undefine i386 in the pspec file (Timo Kreuzer)

svn path=/trunk/; revision=44956
2010-01-05 19:26:32 +00:00
Ged Murphy
24e15791e0 Display all service dependants which need stopping
svn path=/trunk/; revision=44955
2010-01-05 19:19:06 +00:00
Ged Murphy
8320c599d1 Switch to crt string safe functions. Remove some commented code
svn path=/trunk/; revision=44954
2010-01-05 18:39:47 +00:00
Ged Murphy
a854583327 Forgot the comments in this file
svn path=/trunk/; revision=44953
2010-01-05 18:16:43 +00:00
Timo Kreuzer
927ff64dae [CSRSS]
Merge from ams64 branch:
35805 remove unneeded msvcrt dependency (all win32 projects already depend on it) (Samuel Serapión)
36992 - Fix csrss compilation (treat handles as pointer sized, use SIZE_T where appropriate) (Stefan Ginsberg)
41485 Fix 64bit issues. (Timo Kreuzer)
41531 fix pointer <-> DWORD casts (Timo Kreuzer)
41536 win32csr: convert to spec (Timo Kreuzer)
43838 Fix csrss build. (Samuel Serapión)

svn path=/trunk/; revision=44952
2010-01-05 18:13:00 +00:00