Use pmap_update(), not tlbflush().

This commit is contained in:
mycroft 1994-10-09 13:09:11 +00:00
parent 47db98b4d9
commit e165978b36
2 changed files with 24 additions and 7 deletions

View File

@ -24,7 +24,7 @@
* rights to redistribute these changes.
*
* From: db_interface.c,v 2.4 1991/02/05 17:11:13 mrt (CMU)
* $Id: db_interface.c,v 1.10 1994/10/09 12:57:11 mycroft Exp $
* $Id: db_interface.c,v 1.11 1994/10/09 13:09:11 mycroft Exp $
*/
/*
@ -197,7 +197,7 @@ db_write_bytes(addr, size, data)
oldmap1 = *ptep1;
*(int *)ptep1 |= /* INTEL_PTE_WRITE */ PG_RW;
}
tlbflush();
pmap_update();
}
dst = (char *)addr;
@ -209,7 +209,7 @@ db_write_bytes(addr, size, data)
*ptep0 = oldmap0;
if (ptep1)
*ptep1 = oldmap1;
tlbflush();
pmap_update();
}
}

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91
* $Id: vm_machdep.c,v 1.33 1994/08/15 22:24:24 mycroft Exp $
* $Id: vm_machdep.c,v 1.34 1994/10/09 13:09:12 mycroft Exp $
*/
/*
@ -154,6 +154,23 @@ cpu_exit(p)
switch_exit(p);
}
/*
* cpu_cleanup is called to free per-process resources after exit.
*/
void
cpu_cleanup(p)
register struct proc *p;
{
#ifdef USER_LDT
struct pcb *pcb = &p->p_addr->u_pcb;
if (pcb->pcb_ldt) {
kmem_free(kernel_map, (vm_offset_t)pcb->pcb_ldt,
(pcb->pcb_ldt_len * sizeof(union descriptor)));
}
#endif
}
/*
* Dump the machine specific segment at the start of a core dump.
*/
@ -244,7 +261,7 @@ pagemove(from, to, size)
to += NBPG;
size -= NBPG;
}
tlbflush();
pmap_update();
}
/*
@ -424,10 +441,10 @@ vunmapbuf(bp, len)
cpu_reset() {
/* force a shutdown by unmapping entire address space ! */
bzero((caddr_t) PTD, NBPG);
bzero((caddr_t)PTD, NBPG);
/* "good night, sweet prince .... <THUNK!>" */
tlbflush();
pmap_update();
/* just in case */
for (;;);
}