|
@@ -1703,7 +1703,7 @@ void Processor::flush_tlb_local(VirtualAddress vaddr, size_t page_count)
|
|
|
|
|
|
void Processor::flush_tlb(const PageDirectory* page_directory, VirtualAddress vaddr, size_t page_count)
|
|
|
{
|
|
|
- if (s_smp_enabled)
|
|
|
+ if (s_smp_enabled && (!is_user_address(vaddr) || Process::current()->thread_count() > 1))
|
|
|
smp_broadcast_flush_tlb(page_directory, vaddr, page_count);
|
|
|
else
|
|
|
flush_tlb_local(vaddr, page_count);
|