Thomas Faber [Sat, 21 Apr 2012 09:06:54 +0000 (09:06 +0000)]
[KMTESTS/OB]
- Add ObTypes test that checks all object types that should be present on Windows
svn path=/trunk/; revision=56379
Thomas Faber [Sat, 21 Apr 2012 06:57:07 +0000 (06:57 +0000)]
[RTL/NDK]
- RtlGetFullPathName_UstrEx returns NTSTATUS
svn path=/trunk/; revision=56378
Thomas Faber [Sat, 21 Apr 2012 06:44:26 +0000 (06:44 +0000)]
[NDK]
- Add PsJobType, LpcPortObjectType
svn path=/trunk/; revision=56377
Thomas Faber [Sat, 21 Apr 2012 06:35:45 +0000 (06:35 +0000)]
[NTOSKRNL]
- Export SeTokenObjectType
svn path=/trunk/; revision=56376
Timo Kreuzer [Fri, 20 Apr 2012 19:35:27 +0000 (19:35 +0000)]
[[NTOSKRNL]
Fix another typo
svn path=/trunk/; revision=56375
Timo Kreuzer [Fri, 20 Apr 2012 19:32:36 +0000 (19:32 +0000)]
[NTOSKRNL]
Fix a typo ;-)
svn path=/trunk/; revision=56374
Timo Kreuzer [Fri, 20 Apr 2012 19:31:07 +0000 (19:31 +0000)]
[NTOSKRNL]
Implement keyed events (untested)
svn path=/trunk/; revision=56373
Amine Khaldi [Fri, 20 Apr 2012 19:24:27 +0000 (19:24 +0000)]
* Missed this in my previous commit.
svn path=/trunk/; revision=56372
Amine Khaldi [Fri, 20 Apr 2012 19:21:16 +0000 (19:21 +0000)]
[EXPLORER]
* Handle the /select cmd option. Patch by Edijs Kolesnikovics.
See issue #6096 for more details.
svn path=/trunk/; revision=56371
Amine Khaldi [Fri, 20 Apr 2012 19:12:07 +0000 (19:12 +0000)]
[FORMATTING]
* No code changes.
svn path=/trunk/; revision=56370
Timo Kreuzer [Fri, 20 Apr 2012 19:01:15 +0000 (19:01 +0000)]
[NDK]
- Fix name of ETHREAD::KeyedWaitSemaphore
- Reorder some amd64 msr constants
svn path=/trunk/; revision=56369
Timo Kreuzer [Fri, 20 Apr 2012 12:39:00 +0000 (12:39 +0000)]
[CMAKE]
- Rename CreateBootSectorTarget2 to CreateBootSectorTarget and remove the old rbuild version
svn path=/trunk/; revision=56368
Pierre Schweitzer [Thu, 19 Apr 2012 20:55:59 +0000 (20:55 +0000)]
[NTOSKRNL]
Fix a memory leak
svn path=/trunk/; revision=56367
Timo Kreuzer [Thu, 19 Apr 2012 14:33:53 +0000 (14:33 +0000)]
[NTOSKRNL]
Fix a bug in MiAllocatePoolPages, that made the function succeed, when MAX_ULONG / -1 / 0xFFFFFFFF bytes were requested. The value overflowed into 0 and 0 pages were returned. When freeing this block, it could either free the next following large allocation or ASSERT when the end of the pool was reached without finding the end of the allocation.
Fixes FoxitReader 4.2/4.3
svn path=/trunk/; revision=56366
Timo Kreuzer [Wed, 18 Apr 2012 18:06:23 +0000 (18:06 +0000)]
[CRT TEST]
disable the crt tests until the cmake issues are resolved
svn path=/trunk/; revision=56365
Timo Kreuzer [Wed, 18 Apr 2012 17:37:21 +0000 (17:37 +0000)]
[CRT TEST]
for now disable the static test, it needs some fixes first
svn path=/trunk/; revision=56364
Timo Kreuzer [Wed, 18 Apr 2012 17:21:18 +0000 (17:21 +0000)]
[TESTS]
Add a test framework for crt (ntdll, crtdll, msvcrt and static)
svn path=/trunk/; revision=56363
Timo Kreuzer [Wed, 18 Apr 2012 17:18:11 +0000 (17:18 +0000)]
[CRTDLL]
Create an import lib (needed for upcoming test)
svn path=/trunk/; revision=56362
Timo Kreuzer [Wed, 18 Apr 2012 16:26:41 +0000 (16:26 +0000)]
[NTDLL]
Mark _chkstk as extern to avoid duplication with msvcrtex library (using alloca will cause _alloca_probe to be linked, which aliases _chkstk)
svn path=/trunk/; revision=56361
Timo Kreuzer [Wed, 18 Apr 2012 15:30:36 +0000 (15:30 +0000)]
[CRT]
Fix warnings
svn path=/trunk/; revision=56360
Timo Kreuzer [Wed, 18 Apr 2012 15:12:45 +0000 (15:12 +0000)]
[CRT]
Sync startup code with mingw-w64, reduce difference a bit, remaining changes were passed upstream
svn path=/trunk/; revision=56359
Sylvain Petreolle [Wed, 18 Apr 2012 14:35:42 +0000 (14:35 +0000)]
[DXDIAG]
Fix warning in Turkish translation.
svn path=/trunk/; revision=56358
Timo Kreuzer [Wed, 18 Apr 2012 13:39:19 +0000 (13:39 +0000)]
[NTOSKRNL]
- Implement saving / restoring debug registers on traps
- Replace the loop in KeContextToTrapFrame with something less ridiculous
- fixes a number of ntdd exception winetests
svn path=/trunk/; revision=56357
Timo Kreuzer [Wed, 18 Apr 2012 11:27:03 +0000 (11:27 +0000)]
[NTOSKRNL]
Fix SepGet*FromDescriptor, returning NULL, when the relative offset is 0.
Fixes VMware tools installer.
svn path=/trunk/; revision=56356
Olaf Siejka [Mon, 16 Apr 2012 20:26:26 +0000 (20:26 +0000)]
[TRANSLATION]
- turkish partial translation of setup and user32 by Arda Tanrýkulu (bug no. 6999);
svn path=/trunk/; revision=56355
Timo Kreuzer [Mon, 16 Apr 2012 12:47:36 +0000 (12:47 +0000)]
[PSDK/NDK]
- Add missing PEXCEPTION_ROUTINE, RtlLookupFunctionEntry, RtlVirtualUnwind to winnt.h
- Remove PEXCEPTION_ROUTINE from NDK
- delete obsolete reactos/mingw-w64 folder
svn path=/trunk/; revision=56354
Timo Kreuzer [Sun, 15 Apr 2012 19:11:29 +0000 (19:11 +0000)]
[EXPLORER]
Expand the environment variables when running startup programs
Patch by Edijs Kolesnikovics, slightly modified by me
See issue #6953 for more details.
svn path=/trunk/; revision=56353
Timo Kreuzer [Sun, 15 Apr 2012 13:52:00 +0000 (13:52 +0000)]
[RTL/AMD64]
- Fix a bug in DbgBreakPointWithStatus: the int 3 must be after RtlpBreakWithStatusInstruction
svn path=/trunk/; revision=56352
James Tabor [Sun, 15 Apr 2012 01:32:04 +0000 (01:32 +0000)]
- Allow warnings when needed.
svn path=/trunk/; revision=56351
Timo Kreuzer [Sat, 14 Apr 2012 22:22:20 +0000 (22:22 +0000)]
[CMD]
Add quotes to autocompleted names, when certain characters are present, not only spaces. Not sure if that's really all, but should be the most common.
svn path=/trunk/; revision=56350
Timo Kreuzer [Sat, 14 Apr 2012 21:35:58 +0000 (21:35 +0000)]
[CMD]
Handle the + character only optionally as a token seperator, so that other commands like rename are not affected.
svn path=/trunk/; revision=56349
Timo Kreuzer [Sat, 14 Apr 2012 21:19:12 +0000 (21:19 +0000)]
Remove confusing comments
svn path=/trunk/; revision=56348
Timo Kreuzer [Sat, 14 Apr 2012 20:57:38 +0000 (20:57 +0000)]
[CMD]
Fix several bugs in the copy command:
- "x:" is not a valid source path (see bug #5709)
- when appending files using "+", cmd must distinguish between + as operator and + as part of the source file, when being put in "". For that reason the tokenizer was modified to make + a seperate token, which is replaced with | when creating the string of multiple files (since + is a valid file character)
- ? was not correctly handled when passed in the output file name
- factor out the code to create the file name from wildcards and make it readable (no, p, q, r are NOT reasonable variable names!)
- Move code out of the loop that doesn't belong there
- Make sure the file names are printed when multiple files are copied or appended
- write the count of written files (which is 1 when appending), not source files after the copy process is done
- Remove an excessive newline when writing strings with ConPuts()
- Improve readability a bit
svn path=/trunk/; revision=56346
Timo Kreuzer [Sat, 14 Apr 2012 12:10:02 +0000 (12:10 +0000)]
[SHELL32]
Fix a trace message, noticed by Edijus
svn path=/trunk/; revision=56345
Timo Kreuzer [Sat, 14 Apr 2012 10:40:21 +0000 (10:40 +0000)]
[SHELL32]
Remove trailing backslash in shellink working dir
Patch by Edijs Kolesnikovics (terminedijs at yahoo dot com)
See issue #7000 for more details.
svn path=/trunk/; revision=56344
Amine Khaldi [Fri, 13 Apr 2012 21:35:00 +0000 (21:35 +0000)]
[NTKRNLMP]
* Properly set the exports to refer to ntkrnlmp.exe instead of ntoskrnl.exe.
svn path=/trunk/; revision=56343
Timo Kreuzer [Fri, 13 Apr 2012 18:33:56 +0000 (18:33 +0000)]
[WIN32K]
Fix path reference leaks in PATH_add_outline
Should fix failed assertion when closing google earth.
thanks to r3ddr4g0n for providing the neccessary debug info.
svn path=/trunk/; revision=56342
Timo Kreuzer [Fri, 13 Apr 2012 16:27:14 +0000 (16:27 +0000)]
[WIN32K]
Fix indentation and the name of the programmer who dared to use GNU style indentation.
svn path=/trunk/; revision=56341
Amine Khaldi [Fri, 13 Apr 2012 16:16:39 +0000 (16:16 +0000)]
[NTKRNLMP]
* Add to build. Dedicated to Stefan.
svn path=/trunk/; revision=56340
Sylvain Petreolle [Thu, 12 Apr 2012 17:08:38 +0000 (17:08 +0000)]
[MSI]
Workaround crash for installers that require image binding.
Suggested by Amine.
svn path=/trunk/; revision=56339
Eric Kohl [Sun, 8 Apr 2012 22:27:44 +0000 (22:27 +0000)]
[SERVICES]
Log failed service starts and stops.
svn path=/trunk/; revision=56338
Eric Kohl [Sun, 8 Apr 2012 21:06:32 +0000 (21:06 +0000)]
[SERVICES]
- Make the handle to the shutdown event a global handle and set it when the service manager is being shut down.
- Close the start event properly.
svn path=/trunk/; revision=56337
Stefan Ginsberg [Sun, 8 Apr 2012 15:57:04 +0000 (15:57 +0000)]
- There is no need for the i8042 driver to use a hacked KdSystemDebugControl call to breakpoint or crash on TAB+k/TAB+b. Just call DbgBreakPoint or KeBugCheck directly.
svn path=/trunk/; revision=56336
Stefan Ginsberg [Sat, 7 Apr 2012 01:18:36 +0000 (01:18 +0000)]
- It seems the remaining page fault issue was fixed as well in 56333, so it should now be safe to enable this check. Finally, it is now illegal to page fault in ReactOS with interrupts disabled, as it should be. Previous attempts to fix this were likely hindered by the old memory manager, but ARM3 seems to do its job and doesn't fault on non-paged memory that I believe the old Mm was doing.
- Hacks--;
svn path=/trunk/; revision=56335
Stefan Ginsberg [Fri, 6 Apr 2012 21:01:17 +0000 (21:01 +0000)]
- Add missing newline to debug print.
svn path=/trunk/; revision=56334
Stefan Ginsberg [Fri, 6 Apr 2012 20:13:33 +0000 (20:13 +0000)]
- Even while I love having the trap/fpu/context code in C, the bugs this switch introduced continue to amaze me. This time, fix a bug from 45156 when KiFlushNPXState was rewritten in C. The C version could miss to restore the interrupt state, which would lead to interrupts being disabled when it was not expected. This "interrupt leak" was seen in the page fault handler if a page fault occurred after interrupts had been disabled (which had sometimes been observed to occur on the test server during exception handling and thread creation when KiFlushNPXState had been called). This didn't completely hang the system because during thread creation (and other system calls where this may have happened) interrupts would be re-enabled when returning to user mode when restoring eflags, and the exception handling would result in a system call which would enable interrupts again (it appears exception handler would have run with interrupts disabled, though!). This is now fixed, as well as any other issues this might have caused. The hack in the page fault handler remains until another issue has been fixed.
svn path=/trunk/; revision=56333
Eric Kohl [Fri, 6 Apr 2012 18:25:18 +0000 (18:25 +0000)]
[RTL]
Implement RtlCreateBootStatusDataFile, RtlGetSetBootStatusData, RtlLockBootStatusData and RtlUnlockBootStatusData.
[SYSSETUP]
Call RtlCreateBootStatusDataFile as part of the install process.
svn path=/trunk/; revision=56332
Cameron Gutman [Fri, 6 Apr 2012 16:08:20 +0000 (16:08 +0000)]
[TCPIP]
- Fix a crash when a NIC driver indicates the media state before we're expecting it
- Fixes bug 6895
svn path=/trunk/; revision=56331
Timo Kreuzer [Tue, 3 Apr 2012 15:02:51 +0000 (15:02 +0000)]
[CSRSRV/CSRSRV2]
Hard error parameters are ULONG_PTR, no need to truncate them
svn path=/trunk/; revision=56330
Timo Kreuzer [Tue, 3 Apr 2012 14:56:58 +0000 (14:56 +0000)]
{PORTCLS]
forgot this one
svn path=/trunk/; revision=56329
Timo Kreuzer [Tue, 3 Apr 2012 14:54:51 +0000 (14:54 +0000)]
{PORTCLS]
Fix more PtrToUlong fun
svn path=/trunk/; revision=56328
Cameron Gutman [Tue, 3 Apr 2012 14:52:18 +0000 (14:52 +0000)]
[LIBUSB]
- Fix broken pointer arithmetic
svn path=/trunk/; revision=56327
Timo Kreuzer [Tue, 3 Apr 2012 14:43:52 +0000 (14:43 +0000)]
[PORTCLS]
Fix broken "pointer arithmetics"
svn path=/trunk/; revision=56326
Timo Kreuzer [Tue, 3 Apr 2012 14:31:15 +0000 (14:31 +0000)]
[KS]
Fix misuse of UlongToPtr
svn path=/trunk/; revision=56325
Timo Kreuzer [Tue, 3 Apr 2012 13:27:45 +0000 (13:27 +0000)]
[NTOSKRNL]
Don't truncate pointers to 32 bits in pushlock code
svn path=/trunk/; revision=56324
Amine Khaldi [Mon, 2 Apr 2012 18:44:48 +0000 (18:44 +0000)]
[WIN32SS]
* Compile diblib only when we use it.
svn path=/trunk/; revision=56323
Amine Khaldi [Mon, 2 Apr 2012 18:43:35 +0000 (18:43 +0000)]
[W32KNAPI]
* Adapt to the new subsystem layout.
svn path=/trunk/; revision=56322
Amine Khaldi [Mon, 2 Apr 2012 15:27:35 +0000 (15:27 +0000)]
[CMAKE]
* CMake automatically handles def files when they're added to the source list, so we don't need to mark it as an external object here.
svn path=/trunk/; revision=56321
Amine Khaldi [Mon, 2 Apr 2012 10:52:54 +0000 (10:52 +0000)]
[GDI32_APITEST]
* Addendum to r56319.
svn path=/trunk/; revision=56320
Amine Khaldi [Mon, 2 Apr 2012 10:52:36 +0000 (10:52 +0000)]
[WIN32SS]
* Move win32k headers to win32ss/include.
svn path=/trunk/; revision=56319
Timo Kreuzer [Mon, 2 Apr 2012 08:28:17 +0000 (08:28 +0000)]
[PSDK/NDK]
- Don't include NDK from winnt.h, instead duplicate NtCurrentTeb inline definition between psfuncs.h and winnt.h as it used to be
- remove duplicated _GENERAL_LOOKASIDE_POOL
- Add missing NTKERNELAPI to ObDereferenceObjectDeferDelete
svn path=/trunk/; revision=56318
Sir Richard [Mon, 2 Apr 2012 07:23:49 +0000 (07:23 +0000)]
[NTOS]: Add support for unmapping ARM3 sections. Trunk should now be ready for switching to ARM3 shared-memory, pagefile-backed sections, instead of Ros Mm.
svn path=/trunk/; revision=56317
Sir Richard [Mon, 2 Apr 2012 06:54:41 +0000 (06:54 +0000)]
[NTOS]: Correctly handle transition vs free PTEs in MiDecrementShareCount.
svn path=/trunk/; revision=56316
Timo Kreuzer [Sun, 1 Apr 2012 22:30:00 +0000 (22:30 +0000)]
[XDK/DDK]
Some fixes for Vista/Win7
svn path=/trunk/; revision=56315
Timo Kreuzer [Sun, 1 Apr 2012 22:25:05 +0000 (22:25 +0000)]
[NDK]
A number of fixes for Vista/Win7, now all C_ASSERTs pass
svn path=/trunk/; revision=56314
Timo Kreuzer [Sun, 1 Apr 2012 22:19:32 +0000 (22:19 +0000)]
[NDK]
Add structure layout tests for KTHREAD
svn path=/trunk/; revision=56313
Amine Khaldi [Sun, 1 Apr 2012 22:03:14 +0000 (22:03 +0000)]
[USERINIT]
* Remove an unneeded include.
* Improve the cmake file a bit.
svn path=/trunk/; revision=56312
Amine Khaldi [Sun, 1 Apr 2012 20:42:43 +0000 (20:42 +0000)]
* 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
Amine Khaldi [Sun, 1 Apr 2012 18:37:49 +0000 (18:37 +0000)]
[WIN32SS]
* Move winsrv into win32ss/user/winsrv.
svn path=/trunk/; revision=56310
Amine Khaldi [Sun, 1 Apr 2012 18:36:08 +0000 (18:36 +0000)]
[WIN32SS]
* Move win32csr into win32ss/user/win32csr.
svn path=/trunk/; revision=56309
Amine Khaldi [Sun, 1 Apr 2012 18:17:07 +0000 (18:17 +0000)]
[WIN32SS]
* Move ReactX modules into win32ss/reactx.
svn path=/trunk/; revision=56308
Amine Khaldi [Sun, 1 Apr 2012 17:57:24 +0000 (17:57 +0000)]
[WIN32SS]
* Move the drivers into win32ss/drivers.
svn path=/trunk/; revision=56307
Amine Khaldi [Sun, 1 Apr 2012 17:32:55 +0000 (17:32 +0000)]
[USER32_WSPRINTF]
* Add a missing dependency on psdk, revealed by the previous commit.
svn path=/trunk/; revision=56306
Amine Khaldi [Sun, 1 Apr 2012 17:27:38 +0000 (17:27 +0000)]
[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
Timo Kreuzer [Sun, 1 Apr 2012 15:23:08 +0000 (15:23 +0000)]
[NTOSKRNL]
Use MiFillSystemPageDirectory on amd64, too
svn path=/trunk/; revision=56304
Timo Kreuzer [Sun, 1 Apr 2012 14:29:15 +0000 (14:29 +0000)]
[NDK]
Make KTHREAD structure compatible to WS2003, Vista and Win7 for both x86 and amd64
svn path=/trunk/; revision=56303
Timo Kreuzer [Sun, 1 Apr 2012 14:15:00 +0000 (14:15 +0000)]
[NTOSKRNL]
Sort the C_ASSERTs and add some more.
svn path=/trunk/; revision=56302
Timo Kreuzer [Sun, 1 Apr 2012 13:37:20 +0000 (13:37 +0000)]
[NTOSKRNL]
- Add a few more C_ASSERTs related to the KTHREAD structure layout
svn path=/trunk/; revision=56301
Timo Kreuzer [Sun, 1 Apr 2012 13:34:18 +0000 (13:34 +0000)]
[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
Amine Khaldi [Sun, 1 Apr 2012 11:43:24 +0000 (11:43 +0000)]
[CMAKE]
* Implement the _clean targets for the ninja generator.
svn path=/trunk/; revision=56299
Olaf Siejka [Sun, 1 Apr 2012 10:55:23 +0000 (10:55 +0000)]
[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
Timo Kreuzer [Sun, 1 Apr 2012 10:02:50 +0000 (10:02 +0000)]
[DESK]
Fix a typo. Part of an old patch by Carlo Bramini.
See issue #3158 for more details.
svn path=/trunk/; revision=56297
Sir Richard [Sat, 31 Mar 2012 22:45:17 +0000 (22:45 +0000)]
[NTOS]: Fix a typo spotted by Stefan.
svn path=/trunk/; revision=56296
Amine Khaldi [Sat, 31 Mar 2012 21:52:09 +0000 (21:52 +0000)]
[CMAKE]
* Revert back to the old def handling for now, we'll get to tackle that later.
svn path=/trunk/; revision=56295
Amine Khaldi [Sat, 31 Mar 2012 21:34:51 +0000 (21:34 +0000)]
[CMAKE]
* Set the def file as an external object in msvc builds too.
svn path=/trunk/; revision=56294
Sir Richard [Sat, 31 Mar 2012 21:27:35 +0000 (21:27 +0000)]
[NTOS]: Partly revert back to old behavior in attempt to fix regression.
svn path=/trunk/; revision=56293
Sir Richard [Sat, 31 Mar 2012 20:16:32 +0000 (20:16 +0000)]
[NTOS]: Add support for calling NtAllocateVirtualMemory on an ARM3 section that was SEC_RESERVEd.
svn path=/trunk/; revision=56292
Sir Richard [Sat, 31 Mar 2012 20:08:34 +0000 (20:08 +0000)]
[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
Sir Richard [Sat, 31 Mar 2012 20:07:29 +0000 (20:07 +0000)]
[NTOS]: Support getting the protection mask for other kinds of VADs in NtQueryVirtualMemory, instead of an ASSERT.
svn path=/trunk/; revision=56290
Amine Khaldi [Sat, 31 Mar 2012 19:01:26 +0000 (19:01 +0000)]
[CMAKE]
* The def file is also an external object (that should be added to the link command directly).
svn path=/trunk/; revision=56289
Amine Khaldi [Sat, 31 Mar 2012 11:09:22 +0000 (11:09 +0000)]
[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
Timo Kreuzer [Sat, 31 Mar 2012 10:55:43 +0000 (10:55 +0000)]
[DDK/XDK]
Fix non-x86 definition of KTIMER
svn path=/trunk/; revision=56287
Amine Khaldi [Sat, 31 Mar 2012 10:21:18 +0000 (10:21 +0000)]
[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
Cameron Gutman [Sat, 31 Mar 2012 05:55:33 +0000 (05:55 +0000)]
[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
Cameron Gutman [Fri, 30 Mar 2012 18:09:16 +0000 (18:09 +0000)]
[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
Timo Kreuzer [Fri, 30 Mar 2012 15:36:19 +0000 (15:36 +0000)]
[CMAKE]
- include wincodec_i.c into uuid on MSVC builds
- Improve midl support
svn path=/trunk/; revision=56283
Amine Khaldi [Thu, 29 Mar 2012 23:08:39 +0000 (23:08 +0000)]
[CMAKE]
* Make sure to pass the full path of the idl file in generate_idl_iids().
svn path=/trunk/; revision=56282
Timo Kreuzer [Thu, 29 Mar 2012 18:48:12 +0000 (18:48 +0000)]
[CMAKE]
Fix generation of _i.c iid files with midl. Simplify code, use better naming
svn path=/trunk/; revision=56281
Timo Kreuzer [Thu, 29 Mar 2012 17:40:36 +0000 (17:40 +0000)]
[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
Timo Kreuzer [Thu, 29 Mar 2012 15:57:55 +0000 (15:57 +0000)]
[CMAKE]
Cleanup *idl-support.cmake files a bit more
svn path=/trunk/; revision=56279