summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/ia64/ia64/pmap.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c
index cc522ba4..ac5c4cf 100644
--- a/sys/ia64/ia64/pmap.c
+++ b/sys/ia64/ia64/pmap.c
@@ -1172,13 +1172,20 @@ pmap_extract(pmap, va)
register pmap_t pmap;
vm_offset_t va;
{
+ struct ia64_lpte *pte;
pmap_t oldpmap;
- vm_offset_t pa;
+
+ if (!pmap)
+ return 0;
oldpmap = pmap_install(pmap);
- pa = ia64_tpa(va);
+ pte = pmap_find_vhpt(va);
pmap_install(oldpmap);
- return pa;
+
+ if (!pte)
+ return 0;
+
+ return pmap_pte_pa(pte);
}
/***************************************************
OpenPOWER on IntegriCloud