From 31ac264b1e12811d0b30be71324b656c174a2eda Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Wed, 11 Jan 2006 02:05:29 +0000 Subject: [PATCH] Added TODO regarding the use of arch_cpu_global_TLB_invalidate(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15903 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/arch/ppc/arch_vm_translation_map.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/system/kernel/arch/ppc/arch_vm_translation_map.cpp b/src/system/kernel/arch/ppc/arch_vm_translation_map.cpp index 729aef0484..401f1ab708 100644 --- a/src/system/kernel/arch/ppc/arch_vm_translation_map.cpp +++ b/src/system/kernel/arch/ppc/arch_vm_translation_map.cpp @@ -427,6 +427,10 @@ clear_flags_tmap(vm_translation_map *map, addr_t virtualAddress, uint32 flags) static void flush_tmap(vm_translation_map *map) { +// TODO: arch_cpu_global_TLB_invalidate() is extremely expensive and doesn't +// even cut it here. We are supposed to invalidate all TLB entries for this +// map on all CPUs. We should loop over the virtual pages and invoke tlbie +// instead (which marks the entry invalid on all CPUs). arch_cpu_global_TLB_invalidate(); }