diff options
author | jake <jake@FreeBSD.org> | 2003-04-06 15:14:24 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2003-04-06 15:14:24 +0000 |
commit | ee3b0b9ec848cce0e51220863a0214bfccc06fee (patch) | |
tree | fb74e9e657be4e83aec37a2554175b53c1fdcab7 | |
parent | f642da1f1418c75d39f5eb48266d0880b3b9ae28 (diff) | |
download | FreeBSD-src-ee3b0b9ec848cce0e51220863a0214bfccc06fee.zip FreeBSD-src-ee3b0b9ec848cce0e51220863a0214bfccc06fee.tar.gz |
Ignore attempts to pmap_kremove or pmap_qremove pages which do not have
a valid mapping. This is bug for bug compatible with other platforms.
-rw-r--r-- | sys/sparc64/sparc64/pmap.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/sparc64/sparc64/pmap.c b/sys/sparc64/sparc64/pmap.c index 202c638..1eb6be7 100644 --- a/sys/sparc64/sparc64/pmap.c +++ b/sys/sparc64/sparc64/pmap.c @@ -892,6 +892,8 @@ pmap_kremove(vm_offset_t va) tp = tsb_kvtotte(va); CTR3(KTR_PMAP, "pmap_kremove: va=%#lx tp=%p data=%#lx", va, tp, tp->tte_data); + if ((tp->tte_data & TD_V) == 0) + return; m = PHYS_TO_VM_PAGE(TTE_GET_PA(tp)); TAILQ_REMOVE(&m->md.tte_list, tp, tte_link); pmap_cache_remove(m, va); |