From 186c8af1e4f0e00db4529ea5135e1ba0b83045f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Sun, 9 Nov 2008 21:49:33 +0000 Subject: [PATCH] * The large page mapper did not invalidate the TLBs of the other CPUs for the generic page mapping mechanism. This should fix #2902 (will test in a minute). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28584 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../kernel/arch/x86/x86_physical_page_mapper_large_memory.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/system/kernel/arch/x86/x86_physical_page_mapper_large_memory.cpp b/src/system/kernel/arch/x86/x86_physical_page_mapper_large_memory.cpp index b25669a218..043ef6ad0a 100644 --- a/src/system/kernel/arch/x86/x86_physical_page_mapper_large_memory.cpp +++ b/src/system/kernel/arch/x86/x86_physical_page_mapper_large_memory.cpp @@ -595,6 +595,9 @@ LargeMemoryPhysicalPageMapper::GetPage(addr_t physicalAddress, *handle = slot; *virtualAddress = slot->address + physicalAddress % B_PAGE_SIZE; + smp_send_broadcast_ici(SMP_MSG_INVALIDATE_PAGE_RANGE, *virtualAddress, + *virtualAddress, 0, NULL, SMP_MSG_FLAG_SYNC); + return B_OK; }