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
- Separate system-defined from user-defined window properties. The values stored by win32k/user32 must not interfere with those stored by applications. Fixes various applications (e.g. PeaZip) randomly getting their window properties overwritten by the system
CORE-3897 #resolve
svn path=/trunk/; revision=69494
- Add the SystemLCID to the GlobalData variable and use it in the Advanced page.
- Add a stub for storing font linking settings.
CORE-10075
svn path=/trunk/; revision=69486
- Remove some DECLARE_RETURN()/RETURN()
- Add asserts for the user lock
- Annotate window property functions and use consistent parameter names
svn path=/trunk/; revision=69485
Fix a FIXME: properly reset timer when re-using a queued IRP for reading.
Also fix a possible race condition between time out DPC and IRP re-use.
Thanks to Thomas for his help with DPC & timers.
CORE-10245
svn path=/trunk/; revision=69483
Implement asynchronous reading from mailslot.
Patch by Nikita Pechenkin
Adjustements, style fixing by myself.
CORE-10245 #resolve #comment Modified patch committed with r69475. I have tested kernel32:mailslot and your provided test, both are passing 100%. Thanks!
svn path=/trunk/; revision=69475