Module Name: src Committed By: macallan Date: Fri May 11 22:23:33 UTC 2018
Modified Files: src/sys/arch/powerpc/powerpc: pmap_subr.c Log Message: disable the MULTIPROCESSOR case in pmap_syncicache() because: - __syncicache() wants a virtual address, not a pa - this crashes on G5 SMP - the rest of the function does the same as __syncicache() except it turns the MMU off first so physical addresses work with this, my PCIe G5 boots SMP To generate a diff of this commit: cvs rdiff -u -r1.27 -r1.28 src/sys/arch/powerpc/powerpc/pmap_subr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/powerpc/powerpc/pmap_subr.c diff -u src/sys/arch/powerpc/powerpc/pmap_subr.c:1.27 src/sys/arch/powerpc/powerpc/pmap_subr.c:1.28 --- src/sys/arch/powerpc/powerpc/pmap_subr.c:1.27 Wed Feb 1 09:54:03 2012 +++ src/sys/arch/powerpc/powerpc/pmap_subr.c Fri May 11 22:23:33 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap_subr.c,v 1.27 2012/02/01 09:54:03 matt Exp $ */ +/* $NetBSD: pmap_subr.c,v 1.28 2018/05/11 22:23:33 macallan Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. * All rights reserved. @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pmap_subr.c,v 1.27 2012/02/01 09:54:03 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap_subr.c,v 1.28 2018/05/11 22:23:33 macallan Exp $"); #include "opt_multiprocessor.h" #include "opt_altivec.h" @@ -425,7 +425,14 @@ pmap_copy_page(paddr_t src, paddr_t dst) void pmap_syncicache(paddr_t pa, psize_t len) { -#ifdef MULTIPROCESSOR + +/* + * XXX + * disabling the MULTIPROCESSOR case because: + * - _syncicache() takes a virtual addresses + * - this causes crashes on G5 + */ +#ifdef MULTIPROCESSOR__ __syncicache((void *)pa, len); #else const size_t linewidth = curcpu()->ci_ci.icache_line_size;