Commit graph

50436 commits

Author SHA1 Message Date
Johannes Anderwald 656f87b67c [USBOHCI]
- Don't preserve command status values when notifying controller of a new bulk / control endpoint
- Abort pipe & reset data toggle in the sync reset routine
- Allocate interface descriptors and endpoint handles when creating the configuration descriptor
- Implement routine for allocating chained descriptors 
- Implement data toggle for bulk&interrupt transfers
- Mass storage devices should now work in real hardware with OHCI controller
- Tested in real hardware with NEC Corporation USB [1033:0035] (rev 43)

svn path=/trunk/; revision=55687
2012-02-18 23:23:13 +00:00
Amine Khaldi 87a7ba545c * Get rid of $Id$ usage and the related svn property.
svn path=/trunk/; revision=55685
2012-02-18 22:57:24 +00:00
Alex Ionescu 3bd63cad35 [KERNEL32]: Try to connect to the Console Server when initializing console support. For normal apps, won't do anything since ConnectionInfo == NULL (to hack around the fact there's no server in ReactOS for this), but for DLLs running inside of CSRSS, because we now support Server-to-Server, the call will detect that and not fail. This fixes the "failed to give us console" error when kernel32 inside of csrss tries to get a console (which it shouldn't). There's still user32 to cleanup.
svn path=/trunk/; revision=55684
2012-02-18 22:29:46 +00:00
Stefan Ginsberg c718e04922 [NTOSKRNL]
KdInitSystem may be called after system set up if /CRASHDEBUG is enabled and a bugcheck or NMI occurs. With the INIT discard/delete now implemented, and KdInitSystem marked for INIT, this would have resulted in a crash...during a system crash, if /CRASHDEBUG had been enabled. Fun.

svn path=/trunk/; revision=55680
2012-02-18 13:39:08 +00:00
Johannes Anderwald ab8f90859c [USBOHCI]
- Fix regressions which resulted in hang after reseting device
- Introduced in revision 55662
- Tested in VBox + Mass Storage Device

svn path=/trunk/; revision=55679
2012-02-18 12:28:20 +00:00
Thomas Faber c73d3138d4 [ADVAPI32]
- Fix buffer overflow in LookupAccountSidA
See issue #6752 for more details.

svn path=/trunk/; revision=55678
2012-02-18 12:00:50 +00:00
Alex Ionescu e5f337a82b [CSRSRV]: Port CsrCallServerFromServer (and hackplement a reactos-compatible implememntation) from CSRSRV2.
[CSRSRV/CSRSRV2]: Fix CsrLockProcessByPid -- it was skipping the root process itself, so requests coming from a CSRSS-hosted DLL would fail (which is exactly what server-to-server depends on).
[NTDLL]: Enable support for server-to-server calls!
Server-to-server calls work now, and one of the multiple mapping hacks is gone. User32 and kernel32 still need a bit of fixes to get rid of the other hacks, though. Also, Perf++.

svn path=/trunk/; revision=55677
2012-02-18 01:27:50 +00:00
Alex Ionescu 87a966228c [NTOSKRNL]: And finally, the third part of Richard's patch, cleaned up and ready to go. This cleans up the INIT and SCN_MEM_DISCARDABLE sections from all drivers and the kernel. Reduces RAM usage by another 350KB on my test box.
svn path=/trunk/; revision=55676
2012-02-17 22:57:32 +00:00
Timo Kreuzer 69172a1b38 [FREELDR]
- Fix heap code for 64 bit (before someone asks: the reason to use ULONG_PTR instead of ULONG is warning free code without casts)

svn path=/trunk/; revision=55675
2012-02-17 17:22:14 +00:00
Jérôme Gardou 48cf74fcca [NTOSKRNL/ARM3]
- remove useless code : Page Directories Entries are backed by ARM3 managed pages

svn path=/trunk/; revision=55674
2012-02-17 16:14:12 +00:00
Johannes Anderwald 301809cb8d [KERNEL32]
- Fix error status of GetQueuedCompletionStatus, which should set the error to WAIT_TIMEOUT
- Fixes 4 failing winetests 
- Patch by Samuel Serapion (samcharly_hotmail_com)

See issue #6907 for more details.

svn path=/trunk/; revision=55673
2012-02-17 16:11:40 +00:00
Jérôme Gardou 484671d6c8 [CMAKE]
- use quotes in reactos.dff for every platform.
Paths beginning with '.' are no longer seen as directives

svn path=/trunk/; revision=55672
2012-02-17 15:54:05 +00:00
Timo Kreuzer 4c5e2c71ec [WIN32K]
Fix another bug in NtGdiSelectBitmap, where selecting the same bitmap a second time, would release the bitmap

svn path=/trunk/; revision=55671
2012-02-17 15:51:13 +00:00
Kamil Hornicek 04135b7ce4 [ROSAUTOTEST]
If the last chunk of the string sent to StringOut isn't a whole line and forcePrint is set to false, send back what's left after processing. The caller is then responsible for prepending that string next time it calls StringOut. Should fix the rest of debug log corruptions.

svn path=/trunk/; revision=55670
2012-02-17 12:31:32 +00:00
Johannes Anderwald c0f7614fb0 [CDROM_NEW]
- Misc build fixes for mingw and msvc with cmake

svn path=/trunk/; revision=55669
2012-02-17 12:07:17 +00:00
Thomas Faber 3fec97b52e [CABMAN]
- Fix MSVC build

svn path=/trunk/; revision=55668
2012-02-17 08:26:33 +00:00
Alex Ionescu 7313a0dacd [NTOSKRNL]: This second part of Richard's patch implements MmFreeLoaderBlock, which results in 932KB less RAM being used on my 3rd stage test after first boot. It deletes the boot registry, NLS, and heap data.
svn path=/trunk/; revision=55667
2012-02-17 07:23:27 +00:00
Alex Ionescu c21ab0f761 [NTOSKRNL]: This is kind of embarssing, but after doing a local grep for some of cgutman and zekflop's changes (respectively the patch that had added MmDeleteProcessPageDirectory, and the mshtml fix patch), I fell upon a .patch file. It included 3 memory-leak-fixing patches from richard that had been sent to me during his last days -- which, had I paid attention, would've fixed the MSHTML bug and the memory leaks months ago! I've tried my best to now re-integrate a portion of the patch (the other two portions deal with freeing the loader block, and freeing .INIT sections, and I will commit them later) with the current state of trunk. Some things that patch did, no longer seem to work, and I've commented where appropriate. But in general it does seem to dereference/delete some PTEs that had been left behind before (such as deleted TEBs, and deleted VA mappings). It no longer seems to be able to delete the root PDE nor the shared data page however (this worked in the original patch's timeframe). Zekflop, tkreuzer, please take a look. I hope this will set us on a better path!
svn path=/trunk/; revision=55666
2012-02-17 07:07:47 +00:00
Alex Ionescu 7cb7765a31 [WIN32CSR/CSRSRV]: Make the outdated CSR_PLUGIN architecture as close to the CSR_SERVER_DLL architecture as possible for easier migration later. Main changes are return values/number of parameters, importing csrsrv functions instead of using a manual export table, and other similar small changes. Also, add win32csr.dll to the registry command-line for CSRSS, but still load it hard-coded for now.
svn path=/trunk/; revision=55665
2012-02-17 05:15:13 +00:00
Cameron Gutman 03166cbd75 [CLASS2]
- Clear the DO_DEVICE_INITIALIZING flag on the new device objects

svn path=/trunk/; revision=55664
2012-02-17 04:34:10 +00:00
Cameron Gutman 5a766eeaac [CLASS2]
- Store the registry path passed in ScsiClassInitialize to pass in ScsiClassAddDevice

svn path=/trunk/; revision=55663
2012-02-17 04:21:51 +00:00
Cameron Gutman 075cf8cdc9 [USBOHCI]
- Remove massive hacks from our port reset code
- We now wait for the reset complete interrupt instead of stalling 10ms and continuing
- Don't wait for a port to stabilize unless there's actually a device connected
[USBEHCI]
- Fix very long delay between setting the reset bit and clearing it
- Wait for the port to come back enabled before finishing the reset
- Don't wait for a port to stabilize unless there's actually a device connected

svn path=/trunk/; revision=55662
2012-02-17 03:45:46 +00:00
Johannes Anderwald c1c3ea3ac8 [USBSTOR]
- Only send read format capacity when the device type is zero (direct access device)
- Add fixme
[INF]
- Fix issue
- USB CDROM installation now starts

svn path=/trunk/; revision=55661
2012-02-17 03:44:56 +00:00
Johannes Anderwald 1ead4da36a [USBSTOR]
- Fix build

svn path=/trunk/; revision=55660
2012-02-17 03:04:32 +00:00
Johannes Anderwald 27f6cfc84e [USBSTOR]
- Implement timer routine which checks for hung srbs, not yet activated
- Stop timer when the device is stopped
- Implement function to check if the attached device is a floppy device
- Implement function to send read format capacity request
- Implement missing hardware id / device id support for floppy
- Add retry count parameter for debugging purposes
- Tested in VBox + VmWare + RH

svn path=/trunk/; revision=55659
2012-02-17 03:02:14 +00:00
Alex Ionescu 918a786b67 [WIN32CSR]: link with CSRSRV in rbuild too.
svn path=/trunk/; revision=55658
2012-02-17 01:27:20 +00:00
Alex Ionescu 4cbb5ac02e [CSRSRV]: Add a future hack.
svn path=/trunk/; revision=55657
2012-02-17 01:23:25 +00:00
Alex Ionescu a83b8752d4 [WIN32CSR]: Link with CSRSRV.
svn path=/trunk/; revision=55656
2012-02-17 01:22:19 +00:00
Alex Ionescu 77dfdf0e87 [CSRSRV2]: formatting fix.
svn path=/trunk/; revision=55655
2012-02-17 01:21:35 +00:00
Cameron Gutman d2edf9524d [NTOSKRNL]
- Don't enumerate the root bus via the firmware mapper because HAL no longer sucks and it will do it properly for us

svn path=/trunk/; revision=55654
2012-02-17 00:21:50 +00:00
Johannes Anderwald ca7612e876 [USBEHCI]
- Fix a few 64-bit issues

svn path=/trunk/; revision=55653
2012-02-16 23:19:27 +00:00
Cameron Gutman 684eccd71e [HAL]
- Don't send a bogus bus number (-1) to the PCI driver because then it tries to scan that bus and obviously doesn't find anything
- Legacy HAL can now enumerate boot critical PCI devices (like the USB controller) and build the device stack for USB boot
[HIVESYS]
- Missed this spot where usbhub is installed for an external hub causing a crash

svn path=/trunk/; revision=55652
2012-02-16 23:08:05 +00:00
Timo Kreuzer ced3afac1d {MOUNTMGR]
- Use portable KeXxxSpinLock, instead of fastcall variants
- Fix usage of uninitialized variable
- Fix typos in assignments
- Fix several integer size bugs
- Fix uninitialied variables (and those gcc couldn't identify as initialized)
- Fix MSVC warnings

svn path=/trunk/; revision=55651
2012-02-16 22:03:33 +00:00
Alex Ionescu 9f969348ab [CSRSRV]: Call the fake BaseSrv Init function during Server DLL load, not during SharedSection load, to be closer to where it should be.
[CSRSRV]: Enable some disabled code-paths and fix some locking patterns to be closer to what the code should look/be like. Correct ref count management is one of the things where regressions could show up later, so trying to nail these down now.

svn path=/trunk/; revision=55650
2012-02-16 21:46:59 +00:00
Alex Ionescu 142db9abdf [CSRSRV]: Hackfix "LPC Failed" errors.
svn path=/trunk/; revision=55649
2012-02-16 20:17:10 +00:00
Alex Ionescu 63d6bdc644 [CSRSRV]: Make CSRSRV "load" its own DLL as it should. This lets it support CSRSRV native APIs from NTDLL (which we don't send yet).
svn path=/trunk/; revision=55648
2012-02-16 20:08:34 +00:00
Alex Ionescu d221bdfbb1 [NTDLL/INCLUDE]: Rename the CSRSRV API Numbers not to conflict with the actual functions.
[CSRSRV]: Import server.c from CSRSRV2, and move the existing CsrSrv functions we had from wapi.c to server.c (with the reactOS-specific hacks we had). The other CsrSrv* functions are not yet used.


svn path=/trunk/; revision=55647
2012-02-16 19:53:47 +00:00
Alex Ionescu 7ed48291c6 [CSRSRV2]: Bug fixes.
svn path=/trunk/; revision=55646
2012-02-16 19:15:00 +00:00
Jérôme Gardou ea17e55e0a [NTOSKRNL/MM]
- First drop of a new implementation of NtAllocateVirtualMemory.
Very incomplete, don't hesitate to drop in and complete it.
For now, only MEM_RESERVE is kind of supported, as well as MEM_RESERVE|MEM_COMMIT

svn path=/trunk/; revision=55645
2012-02-16 17:24:15 +00:00
Jérôme Gardou aff775994d [NTOSKRNL]
- One can't only use MEM_COMMIT for reserving memory

svn path=/trunk/; revision=55644
2012-02-16 17:24:01 +00:00
Jérôme Gardou 8c58f02839 [NTOSKRNL/MM]
- fix returned value in case of failure in MiFindEmptyAddressRangeDownTree

svn path=/trunk/; revision=55643
2012-02-16 17:22:54 +00:00
Pierre Schweitzer 0dd7e4f27f [CABMAN]
Get rid of MAX_PATH

svn path=/trunk/; revision=55642
2012-02-16 17:21:10 +00:00
Pierre Schweitzer cc6395f4b1 [CABMAN]
Attempt to fix 2.
MAX_PATH shouldn't be defined/used any longer

svn path=/trunk/; revision=55641
2012-02-16 17:13:38 +00:00
Pierre Schweitzer 50bb4a925e [CABMAN]
Fix Windows build

svn path=/trunk/; revision=55640
2012-02-16 17:02:28 +00:00
Pierre Schweitzer 59dc941721 [CABMAN]
Ensure line reading buffer is big enough to hold complete paths.
Remove a magic value usage accordingly.

svn path=/trunk/; revision=55639
2012-02-16 16:50:16 +00:00
Alex Ionescu d2af91632d [CSRSRV]: Improve ClientConnectionThread a bit to make it look a bit more like CSRSRV2 and add some extra functionality.
[CSRSRV]: Port from CSRSRV2 and use CsrApiPortInitialize instead of CsrpCreateListenPort. This will set appropriate SDs and also wait for all threads to be ready.

svn path=/trunk/; revision=55638
2012-02-16 16:40:15 +00:00
Alex Ionescu a6998d5930 [CSRSRV]: Move the CsrSv* APIs to session.c where they belong. Also enable most of the code in CsrSbCreateSession now since it works, minus one hack needed since we don't have a real BaseSrv yet.
svn path=/trunk/; revision=55637
2012-02-16 16:21:48 +00:00
Timo Kreuzer 7816af6cb9 [WIN32K]
- Modify NtGdiSelectBitmap to correctly handle the case of pdc->dclevel.pSurface == 0
- Small code improvement without functional change for rtlstr functions

svn path=/trunk/; revision=55636
2012-02-16 16:05:25 +00:00
Johannes Anderwald a49c373b0c [USBEHCI]
- Fix build

svn path=/trunk/; revision=55635
2012-02-16 14:52:57 +00:00
Johannes Anderwald df5cd2fcac [USBEHCI]
- Abort pipe when performing sync reset request
- add assert to check for bogus interface descriptors
- use endpoint max packet size when available
- flip data toggle after each transfer
- remove dead code
- use maximum of 4 pages or rest current buffer size when performing a bulk requests
- use nak reload count 3
- perform 1 transaction per frame


svn path=/trunk/; revision=55634
2012-02-16 14:49:59 +00:00