]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/9/mtx/mmu.c
merge
[plan9front.git] / sys / src / 9 / mtx / mmu.c
index 255cf5f5a3cc1929160ee50dcb3ae6625d6f203c..791c968da76295baeee73736ef82939211db20c8 100644 (file)
@@ -179,7 +179,6 @@ void
 putmmu(uintptr va, uintptr pa, Page *pg)
 {
        int mp;
-       char *ctl;
        ulong *p, *ep, *q, pteg;
        ulong vsid, ptehi, x, hash;
 
@@ -218,19 +217,10 @@ putmmu(uintptr va, uintptr pa, Page *pg)
        q[1] = pa;
        sync();
 
-       ctl = &pg->cachectl[m->machno];
-       switch(*ctl) {
-       case PG_NEWCOL:
-       default:
-               panic("putmmu: %d\n", *ctl);
-               break;
-       case PG_NOFLUSH:
-               break;
-       case PG_TXTFLUSH:
+       if(pg->txtflush & (1<<m->machno)){
                dcflush((void*)pg->va, BY2PG);
                icflush((void*)pg->va, BY2PG);
-               *ctl = PG_NOFLUSH;
-               break;
+               pg->txtflush &= ~(1<<m->machno);
        }
 }