Commit graph

50278 commits

Author SHA1 Message Date
Timo Kreuzer dd52d89b53 [FREELDR]
Rename Heap_new.c to Heap.c

svn path=/trunk/; revision=55519
2012-02-09 20:10:26 +00:00
Timo Kreuzer e2efea8263 [FREELDR]
- Enable new heap code and cleanup the heap, releasing unused memory, before starting reactos
- Gives our kernel about 4MB additional memory, which - at the current leak rate - means around 8 minutes longer before it runs out of memory :)
- Using the temp heap for all temporary allocations should increase the amount of saved space

svn path=/trunk/; revision=55518
2012-02-09 20:01:10 +00:00
Giannis Adamopoulos 9cde5acdc8 [win32k]
- Use the parse context to store whether or not the desktop object was created. If the object was not created, NtUserCreateDesktop should return immediately (this can happen if it didn't exist)
- Before this , if the desktop already exited, we opened the existing desktop and initialized it again. We also created another desktop heap, desktop window, etc.. This fact confused threads using this desktop and caused problems like the assertion we see in the test suite

svn path=/trunk/; revision=55517
2012-02-09 19:41:38 +00:00
Johannes Anderwald d54653187b [USBEHCI]
- Revert 55515, 55502, 55491, 55490, 55489 as it breaks mass storage support in VBox + Vmware

svn path=/branches/usb-bringup-trunk/; revision=55516
2012-02-09 19:11:13 +00:00
Johannes Anderwald 08ec4cc76d [EHCI]
- Try fix bulk transfers #1

svn path=/branches/usb-bringup-trunk/; revision=55515
2012-02-09 16:06:34 +00:00
Johannes Anderwald 42ff9c13c0 [USBHUB]
- Ignore error when the device provides a string descriptor but no contents
- Fixes installation of cheap usb devices

svn path=/branches/usb-bringup-trunk/; revision=55514
2012-02-09 15:33:09 +00:00
Timo Kreuzer 672c617e8c [NTOSKRNL]
Use MiNonPagedSystemSize when creating the system NP memory area instead of making assumptions about the memory layout
Finally the amd64 port boots into usermode and usetup is partly working, formats the harddisk but freezes, when copying files.

svn path=/trunk/; revision=55513
2012-02-09 12:04:31 +00:00
Timo Kreuzer 2de5176c84 {RTL]
- Fix RtlLengthSecurityDescriptor
- Fix pointer calculation in amd64 interlocked slist code
- Assert that the slist entry pointer is 16 byte aligned
[CRT]
- Add amd64 stubs for acos and acosf

svn path=/trunk/; revision=55512
2012-02-09 11:54:59 +00:00
Timo Kreuzer 0b2dbd9cea [USB]
Don't compile nt4 compat driver for amd64

svn path=/trunk/; revision=55511
2012-02-09 11:51:21 +00:00
Timo Kreuzer 680bfb5aa7 [CLASS2]
Fix 64 bit warnings

svn path=/trunk/; revision=55510
2012-02-09 11:34:21 +00:00
Alex Ionescu 14ba04899c [SMSS2]: Implement SmpCallCsrCreateProcess and SmpLoadSubsystem. We now load CSRSS and everything works 100%! Winlogon is now launched by SMSS2 and no regressions have been found.
[SMSS]: Turn off all code other than setting up the pagefile.
There's a lot of debug prints, as soon as things seem stable after a few days, SMSS will be gone and SMSS2 will take over and DPRINT1s will mostly be gone.

svn path=/trunk/; revision=55509
2012-02-09 02:21:56 +00:00
Alex Ionescu e23e0ca401 [SMSS2]: Implement SmpExecPgm and SmpSbCreateSession. Nothing happens (STATUS_OBJECT_NAME_NOT_FOUND is returned) because we don't really launch CSRSS and so we can't find a subsystem for Winlogon and fail (as expected for now).
svn path=/trunk/; revision=55508
2012-02-09 00:07:36 +00:00
Alex Ionescu 09c7bc60a5 [SMSS2]: Make not-implemented functions return a failure. Cleanup the SMSS hack in the _main function to be cleaner. Add a few more functions and flags to the header. Fix a function prototype.
svn path=/trunk/; revision=55507
2012-02-08 23:49:19 +00:00
Timo Kreuzer 2adafb93b0 [SHELL32]
Fix a bug I introduced in r55498
Spotted by Thomas

svn path=/trunk/; revision=55506
2012-02-08 22:53:29 +00:00
Timo Kreuzer 54bd4f5cc8 [NTOSKRNL]
- Implement amd64 version of MmDeleteProcessPageDirectory
- Fix amd64 build

svn path=/trunk/; revision=55505
2012-02-08 22:23:10 +00:00
Timo Kreuzer 683b30a149 [XDK/DDK]
Slightly reorganize architecture dependent headers, so that ASSERT can be used
[CRT]
Use some definitions only for vista+, since 2k3 msvcrt doesn't have them

svn path=/trunk/; revision=55504
2012-02-08 22:15:06 +00:00
Timo Kreuzer 5eeb447451 [SMLIB]
"Fix" 64 bit compilation

svn path=/trunk/; revision=55503
2012-02-08 22:11:02 +00:00
Johannes Anderwald 00f2bd907d [EHCI]
- Add back old implementation for testing purposes (if'd out)
- Display more status field of queue head / transfer descriptor
- Dump queue head when a halted queue is detected
- Display data toggle status

svn path=/branches/usb-bringup-trunk/; revision=55502
2012-02-08 22:06:00 +00:00
Alex Ionescu e856535365 [SMSS2]: Implement (not yet used) Session Management APIs.
svn path=/trunk/; revision=55501
2012-02-08 22:05:53 +00:00
Alex Ionescu 17492f9097 [CSRSRV]: The connection with SMSS(2) should be done after initialization, not before. This is because in SMSS2, there is no "Complete" API -- you are assumed to be ready when you connect, instead of connecting + completing later. Should not break SMSS behavior, but required for SMSS2.
[CSRSRV]: Fix many bugs in ServerSbApiPortThread. This function never worked as SMSS never actually connects to the SB API Port. Since SMSS2 does, a few bugs were discovered. Also, hack-plement the one SB API that is required for SMSS2 (SbpCreateSession). All we do is resume the thread we receive (Winlogon)... normally we'd also register a hard-error port, etc.
[CSRSRV]: If connecting with SMDLL to SMSS did not work (such as on my system where SMSS is no longer there), try using SMLIB and SMSS2 instead. This way CSRSS still works with both environments.
[CSRSRV]: Required rbuild/cmake changes to build with SMLIB.

svn path=/trunk/; revision=55500
2012-02-08 21:56:23 +00:00
Alex Ionescu f1831b3bac [SM Headers]: Fix a few typos.
svn path=/trunk/; revision=55499
2012-02-08 21:53:00 +00:00
Timo Kreuzer 9e03b92631 [SHELL32]
Fix 64 bit MSVC build, fix some warnings

svn path=/trunk/; revision=55498
2012-02-08 21:38:53 +00:00
Rafal Harabien b6d994d577 [SHELL32]
- Fix warnings in MSVC

svn path=/trunk/; revision=55497
2012-02-08 19:03:43 +00:00
Timo Kreuzer a713dd0ea3 [HAL]
Fix syntax, patch by Victor Martinez

svn path=/trunk/; revision=55496
2012-02-08 18:29:08 +00:00
Timo Kreuzer d964bd32f2 [ATL]
Fix an MSVC warning

svn path=/trunk/; revision=55495
2012-02-08 17:16:00 +00:00
Timo Kreuzer 03e2adb69e [NDK]
Add definition of PWOW64_CONTEXT

svn path=/trunk/; revision=55494
2012-02-08 16:25:13 +00:00
Cameron Gutman 4b30c8402f [USBHUB]
- Don't wait for the work item to complete in the SCE completion handler
- Use an event to signal the completion of a reset and wait for that event during IRP_MN_START_DEVICE handling so devices are enumerated synchronously which allows USB boot devices to be enumerated

svn path=/branches/usb-bringup-trunk/; revision=55493
2012-02-08 15:50:52 +00:00
Johannes Anderwald 0913187636 [USBEHCI]
- Fix a few bulk transfer bugs
- Enable interrupt completion on last interrupt 
- Increment transferred offset 
- Mass storage device now gets further (passing SRB_FUNCTION_CLAIM_DEVICE)

svn path=/branches/usb-bringup-trunk/; revision=55491
2012-02-08 01:10:36 +00:00
Johannes Anderwald d1da088aa8 [USBEHCI]
- Merge hub controller from usbohci
- Partly implement AbortPipe request
- Implement resetting data toggle in HandleSyncResetAndClearStall

svn path=/branches/usb-bringup-trunk/; revision=55490
2012-02-07 22:20:46 +00:00
Johannes Anderwald 133cb2712c [USBEHCI]
- Rewrite the transfer descriptor handling
- Take into account the direction of the pid
- Revert previously added hacks 
- Support now more than one transfer descriptor for control transfers
- Include the bulk transfers in one queue head which should speed up operation
- Store data toggle in usb endpoint structure
- Mass storage devices now passes the control status phase on real hw and enters bulk operation stage

svn path=/branches/usb-bringup-trunk/; revision=55489
2012-02-07 21:48:05 +00:00
Pierre Schweitzer eece771f9f [RAPPS]
Fix French translation encoding

svn path=/trunk/; revision=55488
2012-02-07 20:40:00 +00:00
Timo Kreuzer 48449b1971 [CRT]
Fix 64 bit build of MSVCRT

svn path=/trunk/; revision=55487
2012-02-07 18:09:25 +00:00
Pierre Schweitzer 26260e22cb [NTOSKRNL]
*grmbl*
s/UINT_MAX/ULONG_MAX/g
*grmbl*

svn path=/trunk/; revision=55486
2012-02-07 17:50:00 +00:00
Pierre Schweitzer b3466d43ab [NTOSKRNL]
Fix a FIXME in IopCreateArcNames.
This allows ntoskrnl to find where it boots from and where it is when performing remote boot.
Now ReactOS should boot a bit farther using PXE :-).

svn path=/trunk/; revision=55485
2012-02-07 17:40:15 +00:00
Johannes Anderwald 4009376a99 [USBEHCI]
- Fix data toggle misuse
- EHCI host error is now fixed
- Fixed by the Haiku dev Michael Lotz

svn path=/branches/usb-bringup-trunk/; revision=55484
2012-02-07 16:46:19 +00:00
Johannes Anderwald 0ecb2a6706 [USBEHCI]
- Don't set NumberOfTransaction 0x3 for the async queue head(Haiku doesnt do it too)
- Also don't set maximum packet length or interrupt on complete
- Stop the async / periodic schedules after acquiring ownership from os (ported from the Pedigree OS)
- Remove unused structs from header 
- Allocate device descriptor from start of a page to prevent alignment issues
- Clear halted bit in the queue overlay transaction layer (usb_queue.cpp:507)
- Always set the alternative and next pointers in BuildControlTransferQueueHead
- Use data the toggle in the transfer requests
- Start using toggle in bulk requests, invert data toggle after each descriptor
- EHCI controller still reports error 0xA / 0xB which is USB Error Interrupt + Frame List Rollover + [USB Interrupt]
- Errors need to be researched more, though the control transfers results appear o.k.
- Tested in real hw + ros stack with USB Mass Storage Device
- Currently hangs after first completed CDB/Data/CSW block

svn path=/branches/usb-bringup-trunk/; revision=55483
2012-02-07 16:18:56 +00:00
Jérôme Gardou 31a15829d9 [WIN32KDLL]
- use spec file
 - fix use of def files

svn path=/trunk/; revision=55482
2012-02-07 14:54:02 +00:00
Timo Kreuzer f89567dbbb [smmsg.h]
Fix 64 bit compilation

svn path=/trunk/; revision=55481
2012-02-07 13:21:04 +00:00
Alex Ionescu 5df1402bab [SMLIB]: Rbuild fix.
svn path=/trunk/; revision=55480
2012-02-07 08:05:06 +00:00
Alex Ionescu 7c4171a370 [SMLIB]: Forgot to commit this directory.
svn path=/trunk/; revision=55479
2012-02-07 07:43:20 +00:00
Alex Ionescu dfb761830d [SMSS2]: Implement executing the initial command as well as doing the SM-to-SM initial connection.
[SMSS2]: Implement the main LPC loop and handle all the supported APIs (all stubs for now). Also handle new connection requests and implement SmpHandleConnectionRequest.
[SMSS2]: Implement subsystem helper functions.
[SMSS2]: Use SmApiPort2 instead of Sm2ApiPort.
[SMSS2]: Rename the SMSRV_APIs not to conflict with the function names, nor with the client functions in smlib.

svn path=/trunk/; revision=55478
2012-02-07 07:13:42 +00:00
Cameron Gutman 27a04819e7 [USBEHCI]
- Wait for periodic scheduling to start
- Increase the wait interval for asynchronous scheduling to start

svn path=/branches/usb-bringup-trunk/; revision=55477
2012-02-07 02:22:34 +00:00
Cameron Gutman ec95123297 [USBOHCI]
- Enable bus master on OHCI controllers if it's not set by default

svn path=/branches/usb-bringup-trunk/; revision=55476
2012-02-07 01:59:18 +00:00
Amine Khaldi 60e9668112 [CLASSPNP]
* Rename class.spec to classpnp.spec and adjust the build files accordingly.
[DISK_NEW]
* Fix the build files (cmake and rbuild).
* Fix InitSafeBootMode use.
* Add disk_new to build.

svn path=/branches/usb-bringup-trunk/; revision=55475
2012-02-06 22:48:17 +00:00
Amine Khaldi 6fe69b972d [WDMGUID]
* Add missing GUID_DEVINTERFACE_PARTITION guid.

svn path=/branches/usb-bringup-trunk/; revision=55474
2012-02-06 22:45:18 +00:00
Amine Khaldi 19caa78426 [NTOSKRNL]
* Fix build.

svn path=/branches/usb-bringup-trunk/; revision=55473
2012-02-06 22:01:35 +00:00
Timo Kreuzer 35a3e62e9d [NTOSKRNL]
- Implement MiIsUserP*e inline functions to efficiently determine if a pte is a pte/pde/ppe or pxe for a user mode page
- Make MiDetermineUserGlobalPteMask work for _MI_PAGING_LEVELS >= 3
- In MiResolveDemandZeroFault, use MI_MAKE_HARDWARE_PTE only, it does all the necessary work.

svn path=/trunk/; revision=55472
2012-02-06 22:01:09 +00:00
Amine Khaldi 3bc403f6e7 [SMSS2]
* Fix build.

svn path=/trunk/; revision=55471
2012-02-06 20:53:47 +00:00
Amine Khaldi 7a516cc7e6 [MSI_WINETEST]
* Sync to Wine 1.3.37. This partially reverts r55047.

svn path=/trunk/; revision=55470
2012-02-06 20:43:38 +00:00
Amine Khaldi 5d71814fc4 [MSI]
* Properly sync to Wine 1.3.37. This partially reverts r55046.

svn path=/trunk/; revision=55469
2012-02-06 20:43:28 +00:00