My view is that the CR3 load should have flushed the TLB in it's entirety.
Ong Boong Leong said that a discussion he had which included HPA concluded
with a flush of the TLB being required after the CR3 reload.
The proposed patch was discussed in April and after much thought into this,
I will suggest that as long as the commentary properly captured down why
__flush_tlb() is **NOT** needed because load_cr3() will have the same effect.
Bryan, just drop this proposal from my submission even though __flush_tlb() is
The current code
My preference is
1. Just comment the code as is to explain why it works for Quark.
If that's not good enough for people then
2. if/else the flow so that Quark does __flush_tlb() and the rest of the world
does a __flush_tlb_all()
more obvious in what is supposed to do and does not consume any significant cpu-time.