mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 23:05:41 +00:00
A free Windows-compatible Operating System - mirrored from GitHub
![]() 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 |
||
---|---|---|
reactos | ||
rosapps | ||
rossubsys | ||
rostests | ||
wallpapers |