- Delete the old devmgmt and replace it with the new one.
- The new one is a temp container for devmgr.dll and simply calls DeviceManager_ExecuteW. Eventually mmc.exe will replace this module
svn path=/trunk/; revision=69547
- Kill off the old devmgr and replace it with the new one
- The new one now contains the (rewritten) device manager code, is now a C++ library and makes use of the recently improved ATL
svn path=/trunk/; revision=69545
Isolate KD a bit by replacing Rtl* memory routines with internal versions. Lets one put breakpoints inside kernel memcpy/memset without making KD very, very sad. Fix MmDbgCopyMemory to also not use RtlCopyMemory -- there is no need for it since it only performs 1-to-8 byte copies anyway. Minor fixes in the print/prompt routines.
svn path=/trunk/; revision=69539
Fix mapping of working set list page -- it should be local.
Get rid of MI_MAKE_LOCAL_PAGE and use ValidKernelPdeLocal/ValidKernelPteLocal consistently. This is what they exist for!
We should now hopefully not be creating any global pages when we don't want them.
Next step; fix flushing.
Bonus: Use the right lock in MiSessionLeader
svn path=/trunk/; revision=69532
Add super-complicated handling of global pages to KeFlushCurrentTb (pretty much the same code which has been in HalpFlushTLB for the past ~6 years). This should be all that is required to make this feature work (everything else being in place already), and *seems* to work fine but is disabled under a switch until tested thoroughly.
Global pages, an important optimization that allows for not flushing the whole x86 TLB every time CR3 is changed (typically on context switch to a new process, or during process attach/detach), relies on us doing extra work whenever we do alter a global page. This is likely where any bugs will have to be flushed out!
Fixup Ki386EnableGlobalPage while we are at it -- disable/restore interrupts properly, and verify PGE-bit isn't set (nothing should have touched it before this routine, which is responsible for initializing it, so we shouldn't have to disable it). Fix, but disable, the CPU-sync spin as well as there should be no particular reason to do this for PGE-enabling during initialization (no other processor will be messing with PTEs at this stage, as compared to a call to KeFlushEntireTb).
Everyone, repeat after me: Global pages are awesome!
svn path=/trunk/; revision=69528
Merge DbgBreakPointWithStatus and RtlpBreakWithStatusInstruction together as one function (the latter is just a label for KD), and add new macro necessary for this (MASM very much wants "::" on a global label inside a PROC local scope). Timo, you are awesome.
Bonus: Complement HEX()'s awesomeness with the other explicit radix specifiers.
svn path=/trunk/; revision=69515
- Increase height of the animation control in the file operation progress dialog to avoid cut-off. Patch by Jared Smudde.
CORE-10326 #resolve
svn path=/trunk/; revision=69510
- Pass the correct DeviceObject to PoRequestPowerIrp's callback
- Use the IRP stack to store callback parameters instead of a pool allocation as shown by the test
svn path=/trunk/; revision=69503
Add SHA-1 digests to RAPPS DB packages by Ismael Ferreras Morasuelas (swyter)
CORE-10319 #resolve #comment Errr... sorry, I was just told that we already verify downloaded stuff in rapps... committed and thx for the work you spent in it...
/me hides
svn path=/trunk/; revision=69498