Module Name: src Committed By: matt Date: Sat Feb 22 19:03:57 UTC 2014
Modified Files: src/sys/arch/evbarm/ixm1200: ixm1200_machdep.c Log Message: Deal with non-4KB page sizes To generate a diff of this commit: cvs rdiff -u -r1.54 -r1.55 src/sys/arch/evbarm/ixm1200/ixm1200_machdep.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/evbarm/ixm1200/ixm1200_machdep.c diff -u src/sys/arch/evbarm/ixm1200/ixm1200_machdep.c:1.54 src/sys/arch/evbarm/ixm1200/ixm1200_machdep.c:1.55 --- src/sys/arch/evbarm/ixm1200/ixm1200_machdep.c:1.54 Sun Aug 18 15:58:20 2013 +++ src/sys/arch/evbarm/ixm1200/ixm1200_machdep.c Sat Feb 22 19:03:57 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: ixm1200_machdep.c,v 1.54 2013/08/18 15:58:20 matt Exp $ */ +/* $NetBSD: ixm1200_machdep.c,v 1.55 2014/02/22 19:03:57 matt Exp $ */ /* * Copyright (c) 2002, 2003 @@ -61,7 +61,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ixm1200_machdep.c,v 1.54 2013/08/18 15:58:20 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ixm1200_machdep.c,v 1.55 2014/02/22 19:03:57 matt Exp $"); #include "opt_ddb.h" #include "opt_modular.h" @@ -761,14 +761,14 @@ ixdp_ixp12x0_cc_setup(void) { int loop; paddr_t kaddr; - pt_entry_t *pte; (void) pmap_extract(pmap_kernel(), KERNEL_TEXT_BASE, &kaddr); for (loop = 0; loop < CPU_IXP12X0_CACHE_CLEAN_SIZE; loop += PAGE_SIZE) { - pte = vtopte(ixp12x0_cc_base + loop); - *pte = L2_S_PROTO | kaddr | + pt_entry_t * const ptep = vtopte(ixp12x0_cc_base + loop); + const pt_entry_t npte = L2_S_PROTO | kaddr | L2_S_PROT(PTE_KERNEL, VM_PROT_READ) | pte_l2_s_cache_mode; - PTE_SYNC(pte); + l2pte_set(ptep, npte, 0); + PTE_SYNC(ptep); } ixp12x0_cache_clean_addr = ixp12x0_cc_base; ixp12x0_cache_clean_size = CPU_IXP12X0_CACHE_CLEAN_SIZE / 2;