summaryrefslogtreecommitdiff
path: root/sys/src/9/pc64/mmu.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/src/9/pc64/mmu.c')
-rw-r--r--sys/src/9/pc64/mmu.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/src/9/pc64/mmu.c b/sys/src/9/pc64/mmu.c
index 970d0f262..58663a9f1 100644
--- a/sys/src/9/pc64/mmu.c
+++ b/sys/src/9/pc64/mmu.c
@@ -579,14 +579,17 @@ kunmap(KMap *k)
* synchronization is being done.
*/
void*
-vmap(uintptr pa, int size)
+vmap(uvlong pa, int size)
{
uintptr va;
int o;
- if(pa+size > VMAPSIZE)
- return 0;
+ if(pa < BY2PG || size <= 0 || -pa < size || pa+size > VMAPSIZE){
+ print("vmap pa=%llux size=%d pc=%#p\n", pa, size, getcallerpc(&pa));
+ return nil;
+ }
va = pa+VMAP;
+
/*
* might be asking for less than a page.
*/