Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm32/arm32 Do the previously slightly differently; ...



details:   https://anonhg.NetBSD.org/src/rev/0316b07716d8
branches:  trunk
changeset: 467784:0316b07716d8
user:      mycroft <mycroft%NetBSD.org@localhost>
date:      Mon Mar 29 06:24:31 1999 +0000

description:
Do the previously slightly differently; we want to count by pages anyway.
Also fixes a problem with not flushing TLB entries in vmapbuf().

diffstat:

 sys/arch/arm32/arm32/vm_machdep.c |  14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)

diffs (51 lines):

diff -r 1de89661baa6 -r 0316b07716d8 sys/arch/arm32/arm32/vm_machdep.c
--- a/sys/arch/arm32/arm32/vm_machdep.c Mon Mar 29 06:16:34 1999 +0000
+++ b/sys/arch/arm32/arm32/vm_machdep.c Mon Mar 29 06:24:31 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: vm_machdep.c,v 1.38 1999/03/28 20:21:51 sommerfe Exp $ */
+/*     $NetBSD: vm_machdep.c,v 1.39 1999/03/29 06:24:31 mycroft Exp $  */
 
 /*
  * Copyright (c) 1994-1998 Mark Brinicombe.
@@ -328,6 +328,7 @@
        vm_offset_t faddr, taddr, off;
        pt_entry_t *fpte, *tpte;
        pt_entry_t *pmap_pte __P((pmap_t, vm_offset_t));
+       int pages;
 
 #ifdef PMAP_DEBUG
        if (pmap_debug_level >= 0)
@@ -363,10 +364,8 @@
        } else 
                cpu_cache_purgeID();
 
-       do {
+       for (pages = len >> PAGE_SHIFT; pages; pages--)
                *tpte++ = *fpte++;
-               len -= PAGE_SIZE;
-       } while (len > 0);
 
        if (len <= 0x1000)
                cpu_tlb_flushID_SE(taddr);
@@ -386,7 +385,7 @@
 {
        vm_offset_t addr, off;
        pt_entry_t *pte;
-       int tlen;
+       int pages;
 
 #ifdef PMAP_DEBUG
        if (pmap_debug_level >= 0)
@@ -414,11 +413,8 @@
        else
                cpu_cache_purgeID();
 
-       tlen = len;
-       do {
+       for (pages = len >> PAGE_SHIFT; pages; pages--)
                *pte++ = 0;
-               tlen -= PAGE_SIZE;
-       } while (tlen > 0);
 
        if (len <= 0x1000)
                cpu_tlb_flushID_SE(addr);



Home | Main Index | Thread Index | Old Index