From f696ed61ff611faef2c93cc9e207557ac84cde00 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Thu, 7 Apr 2011 09:27:21 -0500 Subject: VBU: dcbz cache lines after code image to ensure they are in the L3. --- src/kernel/kernel.C | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/kernel') diff --git a/src/kernel/kernel.C b/src/kernel/kernel.C index dc073631e..f39290a09 100644 --- a/src/kernel/kernel.C +++ b/src/kernel/kernel.C @@ -10,6 +10,7 @@ #include #include #include +#include #include @@ -74,6 +75,15 @@ void Kernel::cppBootstrap() void Kernel::memBootstrap() { + // Populate L3 cache lines after code space. + uint64_t* cache_line = (uint64_t*) VFS_LAST_ADDRESS; + uint64_t* end_cache_line = (uint64_t*) VmmManager::FULL_MEM_SIZE; + while (cache_line != end_cache_line) + { + dcbz(cache_line); + cache_line++; + } + PageManager::init(); HeapManager::init(); VmmManager::init(); -- cgit v1.2.3