- PspMapSystemDll and IopDisplayLoadingMessage are called from non-initialization code, so don't put them in .INIT. CmpHiveRootSecurityDescriptor is called from initialization code, but too late in boot, so don't discard it either.
- Trying to enable this for HAL as well leads to a weird crash very early in boot. Investigation is ongoing. Until then we will just have to keep the huge PCI Class/Vendor tables in memory...
- Enable it for Win32k though as it seems to work fine there.
- Remove INIT_FUNCTION from function prototypes, it serves no purpose there.
See issue 10097 for more details.
svn path=/trunk/; revision=68937
- Move NtFlushInstructionCache from sysinfo.c to virtual.c where it fits better. Likewise, move it from kefuncs to mmfuncs in NDK, and fix function arguments (ULONG -> SIZE_T).
- Re-enable TRAP_DEBUG, adding back critical checks in the trap code. Checks can be improved but it is better than potentially silently messing up system state.
- Move remaining RtlPrefetchMemoryNonTemporal code into kernel. Stubbed for non-x86.
- By Hermes suggestion, override ASSERT to NT_ASSERT only for MSVC builds as that is where the main benefit is.
svn path=/trunk/; revision=68907
Fix KdpPrompt():
- Don't attempt to return in the middle of the loop. It leads to keep the mouse disabled instead of reenabling it.
- Also, return a string length that actually matches what was written to the output buffer.
This fixes invalid behavior on RtlAssert when used with #if 0 moved to #if 1, or when Windows NTDLL is used in ReactOS.
CORE-10082 #resolve #comment Fixed with r68905
CORE-10083 #resolve #comment Fixed with r68905
svn path=/trunk/; revision=68905
- Remove the timer's list entry instead of the list head in NtSetTimer and NtCancelTimer. Fixes list entry corruption on VMware Hybrid builder
CORE-10081 #resolve
svn path=/trunk/; revision=68901
- Fix swapped parameters of KeSetIntervalProfile
- Calculate the correct bucket pointer in KiParseProfileList, and actually increment the counter
CORE-10066
svn path=/trunk/; revision=68859
Addendum to r68851:
- Reset the state of the worker thread *after* having captured the data, not before.
- Fix the explanations given in comments.
svn path=/trunk/; revision=68854
- Remove superfluous dereference in NtCreateProfile
- Allocate the right size for KPROFILE object
- Don't leak the KPROFILE when deleting an EPROFILE
- Avoid some casts
CORE-10066
svn path=/trunk/; revision=68852
Implement the WinDBG Debugger Worker Thread, which is created inside a target process whenever one uses the ".process /i <addr>" (invasive debugging) command using WinDBG in kernel-mode debugging.
See https://www.microsoftpressstore.com/articles/article.aspx?p=2201303&seqNum=2 section "Switching the Current Process Context" (from the book "Inside Windows Debugging" by Tarik Soulami, pp.101-102) for more details.
The names of the variables must be kept as they are, because WinDBG (more exactly, dbgeng.dll) searches for them within the kernel symbols and retrieves their addresses (since those variables are not publicly exported).
svn path=/trunk/; revision=68851
Fix x64 compilation:
- Some KDBG symbols for win32k debugging are defined only in x86 platform when _WINKD_ is disabled.
- KdSetOwedBreakpoints is defined only if _WINKD_ is enabled, addendum for x64 to r68842.
svn path=/trunk/; revision=68848
- Fix the condition check when setting twice (or more) the same breakpoint.
- Implement support for deferred breakpoints. For more information, see: http://www.osronline.com/article.cfm?article=541 (which also exposes an interesting problem about them).
svn path=/trunk/; revision=68841
Implement the TokenImpersonationLevel case of SeQueryInformationToken().
This fixes VBoxSF driver not being able to expose shared folders in ReactOS
svn path=/trunk/; revision=68777
Rewrite FsRtlRegisterUncProvider() and FsRtlDeregisterUncProvider() so that they can support MUP in case it's required
They also support DFS
svn path=/trunk/; revision=68759