diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2012-04-06 16:03:38 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2012-04-06 16:03:38 +0000 |
commit | 9c79ae8eeae5c79b22d21b6b31cdb8cef3f8478a (patch) | |
tree | 629b68f1c4f865a3a6cd89b972fbd12debf0d87f /sys/powerpc/aim/machdep.c | |
parent | e05a39a26d0c7161237856b3741baefc2f3dcf9b (diff) | |
download | FreeBSD-src-9c79ae8eeae5c79b22d21b6b31cdb8cef3f8478a.zip FreeBSD-src-9c79ae8eeae5c79b22d21b6b31cdb8cef3f8478a.tar.gz |
Reduce the frequency that the PowerPC/AIM pmaps invalidate instruction
caches, by invalidating kernel icaches only when needed and not flushing
user caches for shared pages.
Suggested by: kib
MFC after: 2 weeks
Diffstat (limited to 'sys/powerpc/aim/machdep.c')
-rw-r--r-- | sys/powerpc/aim/machdep.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/powerpc/aim/machdep.c b/sys/powerpc/aim/machdep.c index b31f15c..2690337 100644 --- a/sys/powerpc/aim/machdep.c +++ b/sys/powerpc/aim/machdep.c @@ -405,6 +405,9 @@ powerpc_init(vm_offset_t startkernel, vm_offset_t endkernel, cacheline_size = 32; } + /* Make sure the kernel icache is valid before we go too much further */ + __syncicache((caddr_t)startkernel, endkernel - startkernel); + #ifndef __powerpc64__ /* * Figure out whether we need to use the 64 bit PMAP. This works by |