Commit graph

50443 commits

Author SHA1 Message Date
Alex Ionescu
fa51806949 Missed these guys.
svn path=/trunk/; revision=55694
2012-02-19 02:25:31 +00:00
Alex Ionescu
d68458a259 [NTOSKRNL]: Implement ThreadBreakOnTermination for the SET case.
Cleanup some dbgprints.

svn path=/trunk/; revision=55693
2012-02-19 02:24:52 +00:00
Alex Ionescu
37d7c2aa03 [CSRSRV/WIN32CSR]: Make Win32CSR much closer to a real CSRSS Server DLL than before, and make calling the Server callbacks compatible with the correct CSR_SERVER_DLL structure. API dispatching is still all wrong, though.
svn path=/trunk/; revision=55692
2012-02-19 01:53:58 +00:00
Johannes Anderwald
6e38e0e13c [USBEHCI]
- Remove assertion which no longer holds
- Delete old queue head after a new queue head has been sucessfully fetched 

svn path=/trunk/; revision=55691
2012-02-19 00:16:50 +00:00
Alex Ionescu
727c97602e [NTOSKRNL]: When you rewrite my ASM code, get it right, dumbasses. Thanks Stefan.
svn path=/trunk/; revision=55690
2012-02-19 00:08:50 +00:00
Alex Ionescu
1966e04ee2 [CSRSRV]: Remove a bunch of hacks and don't attach the shared section when CSRSS is connecting to itself (which happens because our Win32k does that). Things are cleaner now :)
svn path=/trunk/; revision=55689
2012-02-19 00:04:05 +00:00
Alex Ionescu
28f0bba7b4 [NTOSKRNL]: Implement SeCheckPrivilegedObject and call it in the two cases where it's needed (when changing process priority) instead of spamming the debug log that we're not doing the check.
[NTOSKRNL]: Implement ProcessUserModeIOPL info level (and implement Ke386SetIopl) instead of spamming we can't do this.
[NTOSKRNL]: Implement ProcessExecuteOptions info level (and implement MmSetExecuteOptions) instead of spamming we can't do this.
[NDK]: Add NoExecute Flags based on ProcessHacker.
No longer spammed to death for every process all the time.

svn path=/trunk/; revision=55688
2012-02-18 23:59:31 +00:00
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