diff options
| author | Patrick Williams <iawillia@us.ibm.com> | 2011-04-07 09:27:21 -0500 |
|---|---|---|
| committer | Patrick Williams <iawillia@us.ibm.com> | 2011-04-07 09:27:21 -0500 |
| commit | f696ed61ff611faef2c93cc9e207557ac84cde00 (patch) | |
| tree | dfda200b018fcb12b7333c02fac24a785b0789dc /src/kernel/kernel.C | |
| parent | 557aba52655dec84a73bdbc19c59b62ec916159d (diff) | |
| download | blackbird-hostboot-f696ed61ff611faef2c93cc9e207557ac84cde00.tar.gz blackbird-hostboot-f696ed61ff611faef2c93cc9e207557ac84cde00.zip | |
VBU: dcbz cache lines after code image to ensure they are in the L3.
Diffstat (limited to 'src/kernel/kernel.C')
| -rw-r--r-- | src/kernel/kernel.C | 10 |
1 files changed, 10 insertions, 0 deletions
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 <kernel/taskmgr.H> #include <kernel/vmmmgr.H> #include <kernel/timemgr.H> +#include <sys/vfs.h> #include <stdlib.h> @@ -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(); |

