Commit graph

43562 commits

Author SHA1 Message Date
Amine Khaldi d7d6e5e9c3 [DDK]
- classpnp.h: Add FUNCTIONAL_DEVICE_EXTENSION, SET_FLAG, CLEAR_FLAG and TEST_FLAG

svn path=/trunk/; revision=48862
2010-09-25 00:51:30 +00:00
Amine Khaldi d732208205 [DDK]
- Add missing classpnp.h

svn path=/trunk/; revision=48861
2010-09-24 23:42:30 +00:00
Sir Richard 0c7d1b1c8f [NTDLL]: Use LOCK instead of lock for SList assembly functions, this is a conditional such that on UP, "lock" instruction won't be generated.
[NTDLL]: Apply the special begin/fault/resume lablels to the user-mode SList functions. Access faults can happen there due to a bug in the Windows algorithm, and Mm will need to handle that.
[NTOS]: Lookup the special labels from above when initializing the System DLL. Only lookup INT2E vs SYSENTER on x86, other architectures don't need a stub.
[NTOS]: Bitmap resources start at index 1, not 0. Also make sure we don't go past the maximum IDB_ resource index for no reason, and check the size of the resource instead of assuming it's going to be one page.
[NMIDEBUG]: Fix and cleanup some code, and enable NMI support on the boot/install CD as well.

svn path=/trunk/; revision=48860
2010-09-24 17:02:13 +00:00
Michael Martin 2c5e05984a [ntoskrnl/ps]
- Revert r48857. The Process object is dereferenced when the Thread object is destroyed, so dont dereference it here.

svn path=/trunk/; revision=48859
2010-09-24 15:27:24 +00:00
Michael Martin 0059b61f9c [ntoskrnl/ps]
- Remove mistakenly committed ASSERTs that were used during my tests.

svn path=/trunk/; revision=48858
2010-09-24 10:23:01 +00:00
Michael Martin b83eb0a472 [ntoskrnl/ps]
- PspCreateThread: If thread creation fails, dereference the Process object also to account for the reference taken at the beginning of the function.

svn path=/trunk/; revision=48857
2010-09-24 10:07:54 +00:00
Daniel Reimer 03a0d1dc88 Big rapps Update
svn path=/trunk/; revision=48855
2010-09-23 21:33:49 +00:00
Timo Kreuzer ba0bf5862d [HAL]
Fix amd64 build

svn path=/trunk/; revision=48854
2010-09-23 20:22:12 +00:00
James Tabor 81730f239d [Win32k]
- Coding for PrintWindow support for bug 5609. This does not fix the export, which should be a direct call to win32k.

svn path=/trunk/; revision=48853
2010-09-23 17:51:10 +00:00
evb 29f98a6645 - Fix PciFindParentPciFdoExtension bug found by sir_richard "Early break would leave the lock held"
- Fix PciGetHackFlags for setup found by sir_richard "Setup currently doesn't have a correct registry"
- Fix DriverEntry for setup like PciGetHackFlags
- Fix DriverEntry PciOpenKey check found by sir_richard "PciOpenKey returns a BOOLEAN, not an NTSTATUS"
- Stop call PciGetAcpiTable found by sir_richard "PciGetAcpiTable is really broken, can lead to infinite loops, and also corrupts memory. We need to fix stefan's bugs"
- Implement not root FDO code in PciScanBus and support PCI_HACK_ONE_CHILD
- Implement multiple FDO exist code in PciAddDevice so PCI Bridge support now
- Implement PciAreBusNumbersConfigured for PCI Bridge support
- Hack FDO Start Device by sir_richard "The root FDO does send boot resources if PCIX is installed properly, this code will be needed"
- Do PCI_BUS_DRIVER_INTERNAL bugcheck by sir_richard "I have hacked KeBugCheckEx to ignore this for now, until PnP is fixed"
- Implement not root FDO code in PciInitializeArbiters
- Implement PciCacheLegacyDeviceRouting, PciFindPdoByLocation used by PciAssignSlotResources
- Make PciTranslateBusAddress do the stub work
- PciAssignSlotResources disabled because ReactOS not support IoAssignResources
- Implement PPBridge_ChangeResourceSettings
PCIX driver nearly working now.

svn path=/trunk/; revision=48851
2010-09-23 13:24:41 +00:00
Johannes Anderwald 10eb63f2df [KS]
- Simplify KsTopologyPropertyHandler by using KspReadMediaCategory helper
- Return correct status code in case of an overflow

svn path=/trunk/; revision=48850
2010-09-23 11:36:00 +00:00
Johannes Anderwald cf358ed153 [I8042PRT]
- Fix potential buffer overflow

svn path=/trunk/; revision=48849
2010-09-23 11:32:34 +00:00
Amine Khaldi 9b07516436 - Bugs 5536, 5614, 5604, 5617 and 5540: Apply translation patches provided by Mario Kacmar, Marcelo Zamperetti, Igor Paliychuk, Paolo Devoti and seven_ro.
svn path=/trunk/; revision=48847
2010-09-22 19:29:20 +00:00
Sir Richard 409884a7ce [FREELDR]: Fix the last remaining build issue. Libgcc needs to be linked to provide umovsi/udivsi, etc (same fix as for setupldr).
svn path=/trunk/; revision=48846
2010-09-21 17:50:01 +00:00
Amine Khaldi d09d10d12d [KERNEL32]
- Sylvain Petreolle: Fix debug channels for release builds.

svn path=/trunk/; revision=48845
2010-09-21 17:14:22 +00:00
Sir Richard b60395bc25 [HAL]: Partly implement HalpAdjustPCIResourceList required for legacy HAL. No actual adjustment is done yet, since the Range package is not implemented.
[HAL]: Implement most of HalpGetISAFixedPCIIrq, other than the legacy PCI IRQ Routing Miniport callbacks, which aren't yet implemented by ReactOS.
The Windows PCI Bus Driver seems to work now.

svn path=/trunk/; revision=48844
2010-09-21 17:07:40 +00:00
Aleksey Bragin 7e91f6cbe7 - Update 3rd Party Files.txt To Current 3rd Party Releases.
See issue #5603 for more details.

svn path=/trunk/; revision=48843
2010-09-21 08:30:56 +00:00
Sir Richard 88e1640ef7 Patches to allow Windows PCI Bus Driver to start working somewhat (need to implement HalAdjustResourceList for PCI to make it go further):
[BOOTDATA]: Windows Bus Drivers/HAL/Kernel require Arbiter data in the registry placed by the installer, otherwise they will not load. Add this Arbiter data.
[NTOS]: Add support for KeyValueFullInformationAlign64, used by some Windows drivers (as a bonus, support Win64). PartialInformationAlign64 is a different beast -- warn when a driver attempts to use it, instead of silent failure.
[NTOS]: Export VfFailSystemBIOS and stub it.
[NTOS]: Warn when a driver fails to load due to a missing dependency and print the name and/or missing module, instead of silently failing.
[NTOS]: Due to a bug in the ReactOS PnP manager, Windows PCI Driver hits an internal pseudo-assert. Hack KeBugCheckEx to ignore this pseudo-assert and continue executing normally.

svn path=/trunk/; revision=48839
2010-09-21 05:34:05 +00:00
Cameron Gutman 12d05b7eb8 [TCPIP]
- Process the timer event directly from the DPC instead of queuing a work item then raising to DISPATCH_LEVEL later when acquiring a spin lock
- Optimize the spin lock operations in NBTimeout and IPDatagramReassemblyTimeout for being called at DISPATCH_LEVEL

svn path=/trunk/; revision=48833
2010-09-20 19:08:40 +00:00
Michael Martin a5a6cf644d [usb/usbhub]
- WaitForUsbDeviceArrivalNotification: Dont use IoBuildDeviceIoControlRequest to create the IRP as we dont wait for the IRP to complete in the current thread. It must be built using IoAllocateIrp.
- DeviceArrivalCompletion: Allocate the WorkItem from NonPagedPool vice using one in the DeviceExtension. Free the Irp and return STATUS_MORE_PROCESSING_REQUIRED so the IO Manager doesnt try to do anything more with the now freed Irp.
- When selecting the Interface use the routines in USBD library now that they are implemented correctly.
- More fixes for passing the correct DeviceObject when calling QueryRootHub.


svn path=/trunk/; revision=48826
2010-09-20 06:55:54 +00:00
Sir Richard 56738210e7 [MISC]: Fix several compiler issues on my main build box. Some of the Unicode translations in kernel32 fail to compile, while other libraries don't build because old C library names (without the underscore) are used.
[SETUPLDR]: Unify the old setupldr settings with more recent freeldr ones. Also fixes missing _udiv/mod functions on my build.

svn path=/trunk/; revision=48825
2010-09-20 06:30:21 +00:00
Eric Kohl 9c6c2c7c45 [USETUP]
Add Brazilian portuguese USETUP localization patch by Edison Henrique Andreassy.


See issue #5313 for more details.

svn path=/trunk/; revision=48813
2010-09-19 12:46:54 +00:00
Aleksey Bragin 0dc63433f9 [DESK.CPL]
Katayama Hirofumi <katayama.hirofumi.mz@gmail.com>
- Renamed GLOBAL_DATA structures to DATA.
- Added real GLOBAL_DATA in background.c, that manages the background color.
- Resolved conflict of background colors in background.c and appearance.c.
- Fixed drawing the menu in draw.c.
See issue #5620 for more details.

svn path=/trunk/; revision=48812
2010-09-19 11:54:33 +00:00
Michael Martin 3a615a70fb [usb/usbd]
- Fix calculation bug in USBD_ParseDescriptors which caused descriptors to be skipped and all Parse functions to return bad information.
- USBD_CreateConfigurationRequestEx: Fix calculation for the size of the URB.
Dont copy the InterfaceList to the Urbs Interface member as they are not the same structures.  Instead loop through each interface and endpoint to get the data needed for the Interface member of URB.
- USBD_GetInterfaceLength: Add missing brackets for the FOR LOOP. The first descriptors length is part of the Length regardless of what it is.
If bDescriptorType of USB_INTERFACE_DESCRIPTOR_TYPE is reached a second time then break from the loop, as the length calculation is done.

svn path=/trunk/; revision=48810
2010-09-19 00:30:49 +00:00
Cameron Gutman cf913565c0 [IP]
- Fix a reference leak when aborting a listen request

svn path=/trunk/; revision=48806
2010-09-18 15:50:56 +00:00
Aleksey Bragin 41106fa541 [NTOS]
- Add support for Cyrix CPUs by checking and applying a workaround for the Cyrix 6x COMA bug (description here: http://gwyn.tux.org/~balsa/linux/cyrix/p11.html).
See issue #5610 for more details.

svn path=/trunk/; revision=48801
2010-09-18 09:14:45 +00:00
Aleksey Bragin becc9ed282 [SC]
- Roel Messiant: Fix a crash when running some operations in sc without providing arguments. Also, provide usage information for the control and unknown commands.
- Aleksey Bragin: Take Ged Murphy's comments into account and change pointer arithmetic to a convenient style.
See issue #5611 for more details.

svn path=/trunk/; revision=48800
2010-09-18 08:41:06 +00:00
Aleksey Bragin 2c10fb5d07 [OLE32]
- Sync to Wine-20100918.
See issue #5592 for more details.

svn path=/trunk/; revision=48795
2010-09-17 20:13:28 +00:00
Timo Kreuzer 2cc0f42e45 [SHELL32]
Johannes Anderwald:
- Partly revert 48786
- Use existing sLinkPath instead of own grown sCurFile
- Fixes 6 more winetest failures, 4 to go for shellink test

svn path=/trunk/; revision=48792
2010-09-17 19:00:12 +00:00
Amine Khaldi c8d65c59a4 [SHELL32]
Johannes Anderwald:
- Improve parameter checks for IShellLinkA interface.
- Fix heap corruption when an invalid pointer is passed.
- Implement IPersistFile_fnGetCurFile.
- TODO: Add same checks to IShellLinkW interface and fix IShellLink[A|W]::GetPath / SetPath / SetIdList / GetIdList logic.

svn path=/trunk/; revision=48786
2010-09-17 10:26:17 +00:00
Timo Kreuzer 253e949e7a [WIN32K]
Fix a bug, where a failure to allocate the kernel mode WINDOW_OBJECT would cause a page fault, because the WND was still allocated, but never initialized, and Wnd->rpdesktop was then dereferenced to free the WND again.

svn path=/trunk/; revision=48785
2010-09-17 01:34:50 +00:00
Timo Kreuzer 30fad2a263 [NTOS]
- More fixes to VDM PUSH/POPF code: 
- When doing a 32bit push, don't store the flags 2 bytes off
- Recalculate HardwareEsp, by substracting the segment part, instead of truncating the flat pointer to 16 bit.

svn path=/trunk/; revision=48781
2010-09-16 19:21:20 +00:00
Sir Richard cdebe5691a Patch by Anton Yarotsky:
[NTOSKRNL]: Fix support for non Headless scenarios as well.

svn path=/trunk/; revision=48780
2010-09-16 02:22:10 +00:00
Timo Kreuzer c2e13c8c49 Fix arm build a bit.
svn path=/trunk/; revision=48779
2010-09-15 23:48:38 +00:00
Sir Richard af197a47b2 Patch by Anton Yarotsky:
[NTOSKRNL]: Implement CmdPutString command, and add log message types. Kernel version/build, processor, and RAM, now appear on EMS screen (due to InbvDisplayString), as well as loaded drivers. Next steps are to support log entries and a flag to route debug output (a ReactOS-specific feature request).

svn path=/trunk/; revision=48778
2010-09-15 18:30:06 +00:00
Michael Martin 0b77725d6e [usb/usbehci]
- Change email address to one that actually works.

svn path=/trunk/; revision=48777
2010-09-15 13:16:59 +00:00
Amine Khaldi 61ae4ea31c [DDK]
- Define DECLSPEC_EXPORT when it's not already defined.

svn path=/trunk/; revision=48774
2010-09-15 09:03:57 +00:00
Sir Richard b52bd79196 Patch by Anton Yarotsky:
[NTOSKRNL]: Implement basic Headless support in the kernel. Implement missing InbvPort routines based on WinLdrPort (using cportlib). Add header for Hdl. Terminal initializes now on COM2. Added misisng code to InbvDisplayString to also display on Headless Terminal (requires unimplemented HeadlessDispatch). Next steps are to implement the kernel log buffer, and HeadlessCmdPutString to see boot strings.

svn path=/trunk/; revision=48773
2010-09-15 07:46:28 +00:00
Sir Richard c806e95592 Patch by Anton Yarotsky:
[FREELDR]: Fix Headless support.

svn path=/trunk/; revision=48772
2010-09-15 07:40:50 +00:00
Michael Martin 7a26c678b7 [usb/usbhub]
- On completion of SCE request, create and queue a workitem to handle:
Clearing the connection flag and reset the port. 
Create and initialize the USB device by calling the appropriate roothubs Direct Call Interface.
Create the device object, get the device descriptors and the serial and product strings of the USB device to be used for creating the deviceid and instanceid.
- Format code and misc changes.
- Together with the usbehci driver, ReactOS at least runs the device installation wizard with the correct device description.

svn path=/trunk/; revision=48771
2010-09-14 12:04:15 +00:00
Michael Martin 45bd4d8031 [usb/usbehci]
- Dont reset the port in the DPC after device is connected, the usbhub driver will do that later.
- Implement ResetPort and create a timer to call a DPC to coplete the SCE request.
- Dont queue all URBs and have seperate thread complete them as other URBs may still need to be completed.
Instead only queue the SCE request and complete it when a usb device is connected or reset.
- Implement RemoveURBRequest and fix bugs in URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE.
- For IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO dont return the FDO in Argument2 as no upper level driver should be communicating with the FDO of the roothub.
- Dont assign the usb device an address when initialized as the hub driver will do it later.

svn path=/trunk/; revision=48770
2010-09-14 09:46:28 +00:00
Sir Richard ef0d280232 Patch by Anton Yarotsky:
[FREELDR]: Implement support for /redirect=comX (usebiossettings not yet supported) and /redirectbaudrate. Uses cportlib. Tested, serial output works and kernel reports "Headless support is not yet implemented". Future revisions should support ACPI SRT for PCI-based serial ports on server systems.

svn path=/trunk/; revision=48768
2010-09-13 20:36:49 +00:00
Amine Khaldi 1a554af4a0 [USETUP]
- Sylvain Petreolle: Improve debug prints for disk space check.

svn path=/trunk/; revision=48767
2010-09-13 17:25:00 +00:00
Amine Khaldi 9c827ade73 [USETUP]
- Christoph von Wittich: Add a debug print, and improve an existing one.

svn path=/trunk/; revision=48766
2010-09-13 16:34:15 +00:00
Eric Kohl cab60ab876 [BATT]
Add missing 4th parameter to BatteryClassCoInstaller.

svn path=/trunk/; revision=48764
2010-09-13 11:48:59 +00:00
Cameron Gutman b4473ff304 [DESK]
- "repair DragFullWindows setting"
- Patch by Matthias Kupfer

svn path=/trunk/; revision=48761
2010-09-12 20:10:27 +00:00
Sir Richard 903bb1c887 Likely fix for bug 5600:
[NTOS]: Using IsBadRead/CodePtr, it's possible for user-mode code to generate cases where we *think* this is an ARM3-managed piece of VA, which will always have a VAD (Since we only manage the PEB/TEB), but actually it's a bogus VA-looking address that is actually invalid. We didn't consider this case. We now implement the same code Windows normally would also handle, when the VA is bogus, and accept that no VAD might be found, so MM_NOACCESS is returned and thus an access violation sent to the caller. In the case of the IsBad...Ptr, this function would then return TRUE, as the caller expects.

svn path=/trunk/; revision=48759
2010-09-12 19:10:27 +00:00
Sir Richard 3f003e294e [NTOS]: Move the fix for pool corruption due to dangling MmProcessLinks pointer into its correct location. Thanks again to Martin for the fix.
svn path=/trunk/; revision=48758
2010-09-12 19:02:39 +00:00
Eric Kohl 46d89d3a50 Make Services.exe and Winlogon.exe wait for the LSA server to be up and running. Otherwise calls to any LSA function might fail.
Thanks to Roel Messiant for testing and analyzing the debug logs.

See issue #5497 for more details.

svn path=/trunk/; revision=48757
2010-09-12 16:29:43 +00:00
Amine Khaldi 2270e330b0 [PSDK]
- Properly guard d3d9types.h and d3dtypes.h against DIRECT3D_VERSION versions.

svn path=/trunk/; revision=48754
2010-09-12 14:51:32 +00:00