Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/sparc64/sparc64 Handle little-endian mapin requests.



details:   https://anonhg.NetBSD.org/src/rev/049fd4dfec00
branches:  trunk
changeset: 473350:049fd4dfec00
user:      eeh <eeh%NetBSD.org@localhost>
date:      Sun May 30 18:52:51 1999 +0000

description:
Handle little-endian mapin requests.

diffstat:

 sys/arch/sparc64/sparc64/pmap.c |  17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diffs (64 lines):

diff -r efe7d68698b8 -r 049fd4dfec00 sys/arch/sparc64/sparc64/pmap.c
--- a/sys/arch/sparc64/sparc64/pmap.c   Sun May 30 16:08:23 1999 +0000
+++ b/sys/arch/sparc64/sparc64/pmap.c   Sun May 30 18:52:51 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.c,v 1.35 1999/05/23 11:41:39 mrg Exp $    */
+/*     $NetBSD: pmap.c,v 1.36 1999/05/30 18:52:51 eeh Exp $    */
 /* #define NO_VCACHE */ /* Don't forget the locked TLB in dostart */
 #define HWREF
 /* #define BOOT_DEBUG */
@@ -918,7 +918,8 @@
                                         1 /* Write */,
                                         1 /* Cacheable */,
                                         1 /* ALIAS -- Disable D$ */, 
-                                        1 /* valid */);
+                                        1 /* valid */,
+                                        0 /* IE */);
 #else
                tte.data.data = TSB_DATA(0 /* global */, 
                                         TLB_8K,
@@ -927,7 +928,8 @@
                                         1 /* Write */,
                                         1 /* Cacheable */,
                                         0 /* No ALIAS */, 
-                                        1 /* valid */);
+                                        1 /* valid */,
+                                        0 /* IE */);
 #endif
                newp = NULL;
                while (pseg_set(pmap_kernel(), va, tte.data.data, newp)
@@ -955,7 +957,8 @@
                                         0 /* Write */,
                                         1 /* Cacheable */,
                                         0 /* No ALIAS */, 
-                                        1 /* valid */);
+                                        1 /* valid */,
+                                        0 /* IE */);
                tte.data.data |= TLB_L|TLB_NFO;
                newp = NULL;
                while(pseg_set(pmap_kernel(), va, tte.data.data, newp)
@@ -1424,7 +1427,7 @@
        tte.tag.tag = TSB_TAG(0,pm->pm_ctx,va);
        tte.data.data = TSB_DATA(0, TLB_8K, pa, pm == pmap_kernel(),
                                 (VM_PROT_WRITE & prot),
-                                (!(pa & PMAP_NC)), pa & (PMAP_NVC), 1);
+                                (!(pa & PMAP_NC)), pa & (PMAP_NVC), 1, 0);
        /* We don't track modification here. */
        if (VM_PROT_WRITE & prot) tte.data.data |= TLB_REAL_W|TLB_W; /* HWREF -- XXXX */
        tte.data.data |= TLB_TSB_LOCK;  /* wired */
@@ -1685,13 +1688,13 @@
 #ifndef HWREF
        tte.data.data = TSB_DATA(0, size, pa, pm == pmap_kernel(),
                                 (VM_PROT_WRITE & prot),
-                                (!(pa & PMAP_NC)),aliased,1);
+                                (!(pa & PMAP_NC)),aliased,1,(pa & PMAP_LITTLE));
        if (VM_PROT_WRITE & prot) tte.data.data |= TLB_REAL_W; /* HWREF -- XXXX */
 #else
        /* Force dmmu_write_fault to be executed */
        tte.data.data = TSB_DATA(0, size, pa, pm == pmap_kernel(),
                                 0/*(VM_PROT_WRITE & prot)*/,
-                                (!(pa & PMAP_NC)),aliased,1);
+                                (!(pa & PMAP_NC)),aliased,1,(pa & PMAP_LITTLE));
        if (VM_PROT_WRITE & prot) tte.data.data |= TLB_REAL_W; /* HWREF -- XXXX */
 #endif
        if (wired) tte.data.data |= TLB_TSB_LOCK;



Home | Main Index | Thread Index | Old Index