Commit graph

40704 commits

Author SHA1 Message Date
James Tabor 88855c3acd [Win32k]
- When locking and unlocking regions, no need to use probe to check attribute space first before read or write access. The exception handling is a feature.

svn path=/trunk/; revision=45034
2010-01-10 19:06:07 +00:00
James Tabor 30dc8768b1 - Update credits.
svn path=/trunk/; revision=45033
2010-01-10 18:52:17 +00:00
Sylvain Petreolle 8ced7ca170 unbreak build
svn path=/trunk/; revision=45032
2010-01-10 17:50:50 +00:00
Sir Richard 15b66143d6 [NTOS]: Implement all V8086 Opcode emulation in C instead of ASM.
svn path=/trunk/; revision=45029
2010-01-10 15:40:00 +00:00
Sir Richard ff8920ffc1 [NTOS]: Simplify trap exit code.
[NTOS]: Move some stuff in appropriate headers.
[NTOS]: Write V86 fast entry/exit traps, needed for later.

svn path=/trunk/; revision=45028
2010-01-10 15:00:44 +00:00
Sir Richard f61b9c9113 [NTOS]: Implement KiAdjustEsp0 in C.
[NTOS]: Temporarily remove FPU save/restore instructions since they seem to be smashing the stack and breaking boot.

svn path=/trunk/; revision=45027
2010-01-10 14:32:19 +00:00
Matthias Kupfer 1ab6f5ad16 - fixes damaged format of comment
svn path=/trunk/; revision=45026
2010-01-10 13:54:14 +00:00
Matthias Kupfer 5682230cf2 - Fixes a hidden pointer/reference problem with LoadGenentry function, which causes the crash at this point
svn path=/trunk/; revision=45025
2010-01-10 13:38:46 +00:00
Michael Martin 433baa7b5e [usb/usbehci]
- Fix WorkItem Context to pass in Device Extension and the IoWorkItem so it may be freed.

svn path=/trunk/; revision=45024
2010-01-10 12:24:01 +00:00
Michael Martin 72ed9b6854 [usb/usbehci]
- DeviceArrivalWorkItem: Check the device object returned from IoGetAttachedDeviceReference. if its the PDO, deref and return.
- Pass upper attached device object pointer to the completion routine.
- ArrivalNotificationCompletion: Dereference the upper attached device object before returning.

svn path=/trunk/; revision=45023
2010-01-10 11:08:51 +00:00
Michael Martin f579412d32 [usb/usbehci]
- StartDevice: Remove ASSERT for unhanded resource types. 
- Add case for CmResourceTypeDevicePrivate, and do nothing for it for now, will fix later if needed.
- Fixes crash on windows.

svn path=/trunk/; revision=45022
2010-01-10 09:03:53 +00:00
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
Cameron Gutman f22efa9fe8 - Unlock the address file before calling IPSendDatagram
- We don't need to be locked anymore at that point and it also causes problems with loopback packets
 - Use the TTL value stored in the address file for ICMP packets

svn path=/branches/aicom-network-branch/; revision=45016
2010-01-09 16:25:11 +00:00
Cameron Gutman e8f652b985 - Store the address file handle in the IOSB
- MSAFD relies on this behavior to store the address file handle

svn path=/branches/aicom-network-branch/; revision=45015
2010-01-09 15:49:39 +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
Cameron Gutman b9ab91bd82 - Rewrite request queuing
- We now use the documented members of NDIS_MINIPORT_BLOCK
 - It also fixes the issue of determining if the miniport is currently processing a request
 - Remove unneeded IRQL raises
 - Half-plement MiniSendResourcesAvailable (NdisMSendResourcesAvailable)
 - Comment out the code inside ProSendPackets (only used by protocols, not miniports)

svn path=/branches/aicom-network-branch/; revision=45009
2010-01-08 19:15:03 +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
Cameron Gutman e7f721b01f - Remove some incorrect IRQL checks (needed for the NDIS fixes coming soon)
- Change some NdisDprAcquireSpinLock/NdisDprReleaseSpinLock calls to NdisAcquireSpinLock/NdisReleaseSpinLock

svn path=/branches/aicom-network-branch/; revision=45007
2010-01-08 18:36:59 +00:00
Cameron Gutman 7457359d5d - Use a spin lock to protect the port bitmap instead of a fast mutex
svn path=/branches/aicom-network-branch/; revision=45006
2010-01-08 18:21:52 +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
Cameron Gutman 05a505aac8 - Add locking to ICMPSendDatagram
svn path=/branches/aicom-network-branch/; revision=45004
2010-01-08 18:10:05 +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