Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/powerpc/mpc6xx In pmap_syncicache, preserve the pag...



details:   https://anonhg.NetBSD.org/src/rev/26497cb19fb8
branches:  trunk
changeset: 516166:26497cb19fb8
user:      matt <matt%NetBSD.org@localhost>
date:      Thu Oct 18 01:03:44 2001 +0000

description:
In pmap_syncicache, preserve the page offset contained in the supplied
physical address.

diffstat:

 sys/arch/powerpc/mpc6xx/pmap.c |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (24 lines):

diff -r 99153d1d55df -r 26497cb19fb8 sys/arch/powerpc/mpc6xx/pmap.c
--- a/sys/arch/powerpc/mpc6xx/pmap.c    Thu Oct 18 00:05:00 2001 +0000
+++ b/sys/arch/powerpc/mpc6xx/pmap.c    Thu Oct 18 01:03:44 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.c,v 1.27 2001/09/16 16:34:34 wiz Exp $    */
+/*     $NetBSD: pmap.c,v 1.28 2001/10/18 01:03:44 matt Exp $   */
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -1206,11 +1206,13 @@
        }
        if (pmap_initialized) {
                pte_t saved_pte;
+               psize_t offset = pa & ADDR_POFF;
                if (__predict_false(pmap_pvo_syncicache == NULL))
                        pmap_pvo_syncicache = pmap_rkva_alloc(VM_PROT_READ|VM_PROT_WRITE);
                calls++;
                pmap_pa_map(pmap_pvo_syncicache, pa, &saved_pte, &depth);
-               __syncicache((void *)PVO_VADDR(pmap_pvo_syncicache), len);
+               __syncicache((void *)(PVO_VADDR(pmap_pvo_syncicache)|offset),
+                   len);
                pmap_pa_unmap(pmap_pvo_syncicache, &saved_pte, &depth);
                return;
        }



Home | Main Index | Thread Index | Old Index