Commit graph

49775 commits

Author SHA1 Message Date
Timo Kreuzer
cb1539b7df [RTL]
Fix64 bit warnings

svn path=/trunk/; revision=55527
2012-02-10 17:36:11 +00:00
Giannis Adamopoulos
af8d992a9e [win32k]
- fix some more tests in user32:winstation

svn path=/trunk/; revision=55522
2012-02-09 23:18:47 +00:00
Timo Kreuzer
ed481636c6 [FREELDR]
Fix rbuild...

svn path=/trunk/; revision=55520
2012-02-09 20:11:35 +00:00
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
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
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
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
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
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
Alex Ionescu
56152bb4a9 [SMSS2]: I hate you, rbuild.
svn path=/trunk/; revision=55468
2012-02-06 19:37:19 +00:00
Alex Ionescu
524f08e959 [SMSS2]: Implement SmpTranslateSystemPartitionInformation which sets a few last registry keys as part of the initialization process.
[SMSS2]: Implement SmpLoadSubsystemsForMuSession which correctly creates a session, loads win32k.sys inside of it, and then detaches from the session. Winlogon.exe is set as the initial command (but not launched), and CSRSS is fake-started.
[CSRSRV]: No longer start win32k.sys, that's not your job.
[SMSS2]: Kill most debug prints that aren't errors.

svn path=/trunk/; revision=55467
2012-02-06 18:57:18 +00:00
Amine Khaldi
9aaaa6c4a2 [SXS]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55466
2012-02-06 18:48:50 +00:00
Alex Ionescu
560ff3fed9 [SMSS2/SMSS]: Put SMSS back in charge of the pagefile as yet another attempt to fix KVM.
[NTOSKRNL]: Stub-plement SystemSessionDetachInformation.

svn path=/trunk/; revision=55465
2012-02-06 18:14:36 +00:00
Alex Ionescu
5fb988c04d [NTOSKRNL]: Stubplement SystemSessionCreateInformation (it allocates a real Session ID and sets the right EPROCESS flags). Nobody uses this yet (future SMSS2 will).
[SMSS2]: More attempts at fixing KVM.

svn path=/trunk/; revision=55464
2012-02-06 17:41:49 +00:00
Alex Ionescu
1fbcc2809f [SMSS2]: Add some debugging to figure out what's happening on KVM.
svn path=/trunk/; revision=55463
2012-02-06 17:03:59 +00:00
Timo Kreuzer
60f4720280 [NTOSKRNL]
Handle 3 and 4 level page tables in MmArmAccessFault

svn path=/trunk/; revision=55462
2012-02-06 15:08:32 +00:00
Cameron Gutman
1374772ff7 [NTOSKRNL]
- Assert that reference counts are sane in MmReferencePage and MmDereferencePage

svn path=/trunk/; revision=55461
2012-02-06 15:04:12 +00:00
Timo Kreuzer
1e7a03a903 [NTOSKRNL]
Add a modification that I missed to apply.

svn path=/trunk/; revision=55460
2012-02-06 14:35:09 +00:00
Timo Kreuzer
02fdd71dd4 [NTOSKRNL]
- Modify the logic in MmArmAccessFault, so that faults on kernel mode addresses including page table addresses are handled in the first part and user mode addresses (VADs) in the second part. This works, because for the special case of page table addresses, the user mode and kernel mode part of the code end up doing the same thing and this simplifies the code.
- In the user mode part call MiCheckVirtualAddress early and bail out if no VAD is found, since we do not care about any other cases any more.

svn path=/trunk/; revision=55459
2012-02-06 14:32:07 +00:00
Giannis Adamopoulos
0e7cf2af87 [win32k]
- Cleanup Win32kProcessCallback and Win32kThreadCallback
- Even though it works, trying to post a message in Win32kProcessCallback after the THREADINFO is destroyed can only cause trouble, so move it in Win32kThreadCallback
- There is no need to try opening a desktop and windowstation before winlogon initializes
- Handle errors properly when we fail to get a default window station and desktop for the new process
- Enable win32k syscall hook callbacks
- Rewrite SetThreadDesktop to update THREADINFO properly and handle errors properly
- Do not initialize the THREADINFO in GetW32ThreadInfo as it is now done properly (actually leave a small hack that updates pci->dwTIFlags)
- Add UserDbgAssertThreadInfo that asserts the integrity of THREADINFO, CLIENTINFO and CLIENTTHREADINFO. This is called by GetW32ThreadInfo and the syscall hook callbacks

svn path=/trunk/; revision=55458
2012-02-06 12:30:59 +00:00
Giannis Adamopoulos
da5891c24b [win32k]
- Fix a warning caused by my previous commit

svn path=/trunk/; revision=55457
2012-02-06 11:00:52 +00:00