Commit Graph

50881 Commits

Author SHA1 Message Date
Amine Khaldi
e19d519f52 * Reorganize the whole ReactOS codebase into a new layout. Discussing it will only waste time, so we better have it then talk about it after.
* Put ntoskrnl and ntdll in the same folder, because they both start with nt.
* Place hal next to acpi, they both deal with hardware stuff.
* Move mountmgr next to usb drivers.
* Put the rtl next to the crt, and share as much as possible between the two.
* I'm just kidding, you know, April's fool and all ;)

Here's the real deal:

[WIN32SS]
* And finally, integrate win32k itself into the new file layout. Now the subsystem modules are located close to each other (like gdi32 and ntgdi, or user32 and ntuser).
* Thanks go to the subsystem team for coming up with this nice layout, hopefully this will scale to the whole codebase layout soon.
* Special thanks to Smiley for coming up with this cool idea :)

svn path=/trunk/; revision=56311
2012-04-01 20:42:43 +00:00
Amine Khaldi
85434c6c85 [WIN32SS]
* Move winsrv into win32ss/user/winsrv.

svn path=/trunk/; revision=56310
2012-04-01 18:37:49 +00:00
Amine Khaldi
8ae399c767 [WIN32SS]
* Move win32csr into win32ss/user/win32csr.

svn path=/trunk/; revision=56309
2012-04-01 18:36:08 +00:00
Amine Khaldi
295d782d2c [WIN32SS]
* Move ReactX modules into win32ss/reactx.

svn path=/trunk/; revision=56308
2012-04-01 18:17:07 +00:00
Amine Khaldi
dc1326136d [WIN32SS]
* Move the drivers into win32ss/drivers.

svn path=/trunk/; revision=56307
2012-04-01 17:57:24 +00:00
Amine Khaldi
bfef8930e0 [USER32_WSPRINTF]
* Add a missing dependency on psdk, revealed by the previous commit.

svn path=/trunk/; revision=56306
2012-04-01 17:32:55 +00:00
Amine Khaldi
7e0cd3140c [WIN32SS]
* Initialize the subsystem restructure. Start by bringing-in gdi32 and user32. Brought to you by the awesome Subsystem Team.

svn path=/trunk/; revision=56305
2012-04-01 17:27:38 +00:00
Timo Kreuzer
ee6f35722f [NTOSKRNL]
Use MiFillSystemPageDirectory on amd64, too

svn path=/trunk/; revision=56304
2012-04-01 15:23:08 +00:00
Timo Kreuzer
446c972571 [NDK]
Make KTHREAD structure compatible to WS2003, Vista and Win7 for both x86 and amd64

svn path=/trunk/; revision=56303
2012-04-01 14:29:15 +00:00
Timo Kreuzer
a298f67306 [NTOSKRNL]
Sort the C_ASSERTs and add some more.

svn path=/trunk/; revision=56302
2012-04-01 14:15:00 +00:00
Timo Kreuzer
d84707fd22 [NTOSKRNL]
- Add a few more C_ASSERTs related to the KTHREAD structure layout

svn path=/trunk/; revision=56301
2012-04-01 13:37:20 +00:00
Timo Kreuzer
d188878e4e [NTOSKRNL]
- If neccessary unlock the working set in MiMakeSystemAddressValid before calling MmAccessFault, fixes a failed ASSERT, when coming from NtFreeVirtualMemory
- Remove duplicated ASSERT

svn path=/trunk/; revision=56300
2012-04-01 13:34:18 +00:00
Amine Khaldi
ccc0959e61 [CMAKE]
* Implement the _clean targets for the ninja generator.

svn path=/trunk/; revision=56299
2012-04-01 11:43:24 +00:00
Olaf Siejka
a2a6c99792 [TRANSLATION]
- turkish translation of dxdiag by Arda Tanrýkulu (bug no. 6986);
- italian translation of browseui by Paolo Devoti (bug no. 6980);


svn path=/trunk/; revision=56298
2012-04-01 10:55:23 +00:00
Timo Kreuzer
7741714b20 [DESK]
Fix a typo. Part of an old patch by Carlo Bramini.

See issue #3158 for more details.

svn path=/trunk/; revision=56297
2012-04-01 10:02:50 +00:00
Sir Richard
c2d0cdfb0b [NTOS]: Fix a typo spotted by Stefan.
svn path=/trunk/; revision=56296
2012-03-31 22:45:17 +00:00
Amine Khaldi
d47bea186c [CMAKE]
* Revert back to the old def handling for now, we'll get to tackle that later.

svn path=/trunk/; revision=56295
2012-03-31 21:52:09 +00:00
Amine Khaldi
cfec90a569 [CMAKE]
* Set the def file as an external object in msvc builds too.

svn path=/trunk/; revision=56294
2012-03-31 21:34:51 +00:00
Sir Richard
eb17262bd9 [NTOS]: Partly revert back to old behavior in attempt to fix regression.
svn path=/trunk/; revision=56293
2012-03-31 21:27:35 +00:00
Sir Richard
3033733193 [NTOS]: Add support for calling NtAllocateVirtualMemory on an ARM3 section that was SEC_RESERVEd.
svn path=/trunk/; revision=56292
2012-03-31 20:16:32 +00:00
Sir Richard
4993239ac6 [NTOS]: Add initial support for standby page list and modified page list in the current page list routines. Add support for prototype PTEs in a few more cases, including handling of transition pages. Should not affect any of the current code as those lists/transition pages aren't yet used.
svn path=/trunk/; revision=56291
2012-03-31 20:08:34 +00:00
Sir Richard
696287a5ed [NTOS]: Support getting the protection mask for other kinds of VADs in NtQueryVirtualMemory, instead of an ASSERT.
svn path=/trunk/; revision=56290
2012-03-31 20:07:29 +00:00
Amine Khaldi
211b7c77d4 [CMAKE]
* The def file is also an external object (that should be added to the link command directly).

svn path=/trunk/; revision=56289
2012-03-31 19:01:26 +00:00
Amine Khaldi
2a98331c77 [CMAKE]
* Make use of /client none and /server none to tell midl not to generate them.
* Add dummy proxy file generation in generate_idl_iids().

svn path=/trunk/; revision=56288
2012-03-31 11:09:22 +00:00
Timo Kreuzer
1aa685de30 [DDK/XDK]
Fix non-x86 definition of KTIMER

svn path=/trunk/; revision=56287
2012-03-31 10:55:43 +00:00
Amine Khaldi
c3018a4ee1 [CMAKE]
* Recognize the extra client/server files in add_rpc_files() that Mr. midl generates regardless of the passed flags, and mark them as dummy files so that they don't break the msvc parallel build.

svn path=/trunk/; revision=56286
2012-03-31 10:21:18 +00:00
Cameron Gutman
1c91524741 [NDIS]
- Don't rely on the current lookahead size for loopback packets. Instead, indicate the entire packet at once.
- The current lookahead size doesn't matter when indicating full packets. The packets are indicated in their entirety regardless of the lookahead size.
- The Parallels Tools NIC driver now works on ROS. Dedicated to Alex Ionescu.

svn path=/trunk/; revision=56285
2012-03-31 05:55:33 +00:00
Cameron Gutman
7b28343c16 [NTOSKRNL]
- The legacy ROS Mm uses structures known as page ops to track operations on a page such as page out, page in, and access fault. The idea is that each operation is forced to wait until the page has completed all other pending operations to start its work. The problem was that the page op's completion event was a NotificationEvent instead of a SynchronizationEvent. This caused all operations to proceed at the same time if they were waiting on a single page op to begin. Now that is fixed and page ops proceed one after another as intended. This bug has been around since r9077.
- When waiting for sections to be unmapped or destroyed, the Mm waits for pending page operations to complete. The problem is that MmUnmapViewOfSection had a critical bug in which it forgot to dereference the page op it just retrieved. This caused zombie page ops to be stuck to that particular address if there were any pending operations at the time of the MmUnmapViewOfSection call. As a result, section destruction to bug check due to the hung page op after waiting 10 seconds for the operation to complete. This bug has been around since r18849.
- Due to the combined effects of the above bugs, sometimes unmapping or freeing a section would hang the system or bug check the system (remember the "Failed to wait for page op" messages?). This was evident in smiley_'s theme work when many applications calling FreeLibrary at the same time would trigger this bug. There are likely many more cases that triggered this series of events which either could never be replicated or simply could not be explained.

svn path=/trunk/; revision=56284
2012-03-30 18:09:16 +00:00
Timo Kreuzer
b8a853baee [CMAKE]
- include wincodec_i.c into uuid on MSVC builds
- Improve midl support

svn path=/trunk/; revision=56283
2012-03-30 15:36:19 +00:00
Amine Khaldi
f9db30ea20 [CMAKE]
* Make sure to pass the full path of the idl file in generate_idl_iids().

svn path=/trunk/; revision=56282
2012-03-29 23:08:39 +00:00
Timo Kreuzer
cf7dd9d21a [CMAKE]
Fix generation of _i.c iid files with midl. Simplify code, use better naming

svn path=/trunk/; revision=56281
2012-03-29 18:48:12 +00:00
Timo Kreuzer
fa6ae5c35c [CMAKE]
Attempt to fix a concurrency issue with midl. Regarding to the MSVC builder output, midl failed when compiling wine/itss.h due to a concurrent access to itss_i.c. Although the command to generate itss.h doesn't seem to geenrate itss_i.c (at least not on my wdk buld), I added a switch to rename that file.

svn path=/trunk/; revision=56280
2012-03-29 17:40:36 +00:00
Timo Kreuzer
e2ff591122 [CMAKE]
Cleanup *idl-support.cmake files a bit more

svn path=/trunk/; revision=56279
2012-03-29 15:57:55 +00:00
Timo Kreuzer
4c39ca2179 [CMAKE]
Move common macros from *idl-support.cmake to CMakeMacros.cmake, remove obsolete definitions

svn path=/trunk/; revision=56278
2012-03-29 14:49:48 +00:00
Timo Kreuzer
21514a55e1 [CMAKE]
Seperate midl and widl files (currently files are simply copied)

svn path=/trunk/; revision=56277
2012-03-29 14:45:46 +00:00
Cameron Gutman
136ebc0060 [INF]
- Change the device description for bluetooth devices

svn path=/trunk/; revision=56276
2012-03-29 14:33:42 +00:00
Amine Khaldi
bf85e78307 [CMAKE]
* Pass /no_def_idir to midl, to search only in the include folders that we specify (through /I).

svn path=/trunk/; revision=56275
2012-03-29 13:24:26 +00:00
Timo Kreuzer
fe26e5872f [CMAKE]
Try to fix some midl dependency and concurrency issues

svn path=/trunk/; revision=56274
2012-03-29 13:07:08 +00:00
Amine Khaldi
aabb4465a0 [FORMATTING]
* Addendum to r56262.

svn path=/trunk/; revision=56273
2012-03-29 12:14:58 +00:00
Timo Kreuzer
4d61c55638 [NTOSKRNL]
"while (TRUE);" is probably the worst way of handling critical errors / unhandled failure pathes! Replace that with ASSERT(FALSE);

svn path=/trunk/; revision=56272
2012-03-29 10:14:47 +00:00
Timo Kreuzer
af3c87e298 [NTOSKRNL/AMD64]
- Only initialize the nonpged pool after the pfn database was initialized
- "Fix" IRQL for the initialization of non paged pool

svn path=/trunk/; revision=56271
2012-03-29 10:07:25 +00:00
Timo Kreuzer
e322927d5a [FREELDR]
- Implement HwIdle() function to put cpu in idle mode, when waiting for keyboard input.
- Patch by Carlo Bramini (carlo dot bramix at libero.it)
See issue #6453 for more details.

svn path=/trunk/; revision=56270
2012-03-29 08:25:20 +00:00
Art Yerkes
644889076d [NTOSKRNL]
Small edit.

svn path=/trunk/; revision=56269
2012-03-29 06:04:34 +00:00
Art Yerkes
a09c32720c [NEWCC]
Add some prose describing this functionality.

Dedicated to timo, chongo, goto and ??=

Just formatting and comments.

svn path=/trunk/; revision=56268
2012-03-29 06:01:52 +00:00
Art Yerkes
8a3e9c37be [NTOSKRKNL]
Write a lot of general prose about the operation of the Mm parts of NewCC.

Dedicate to timo and chongo.

No code changes.

svn path=/trunk/; revision=56267
2012-03-29 04:43:44 +00:00
Olaf Siejka
b993c4ba6f [TRANSLATION]
- romanian rapps translation update (including INF update) by Stefan Fulea (bug no. 6878);
- italian translation update by Paolo Devoti (bug no. 6980);


svn path=/trunk/; revision=56266
2012-03-28 22:09:00 +00:00
Timo Kreuzer
03f0cf904e [NTOSKRNL]
- ObReferenceObject() does NOT return an NTSTATUS. It returns the new reference count. Remove pointless NT_SUCCESS check
- Enable interrupts in amd54 page fault handler before calling MmAccessFault
- Add missing MmDecommittedPte for amd64

svn path=/trunk/; revision=56265
2012-03-28 21:09:03 +00:00
Timo Kreuzer
3bdad064e3 [NTOSKRNL]
- Make file offsets 64 bit
- Fix lots of MSVC/64 bit warnings

svn path=/trunk/; revision=56264
2012-03-28 19:41:40 +00:00
Timo Kreuzer
549c33f2ff [NDK/NTOSKRNK]
- Finally make EPROCESS::Session  PVOID, as it's supposed to be
- add missing Wow64Process member

svn path=/trunk/; revision=56263
2012-03-28 18:46:30 +00:00
Amine Khaldi
5491e8fbde [FORMATTING]
* Improve indentation, remove trailing spaces, apply a consistent style, adjust to 80 col... No code changes.

svn path=/trunk/; revision=56262
2012-03-28 18:39:21 +00:00