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;