unsigned long phys;
int err;
- phys = __pa(virt);
- desc = find_virtmem_hash(&virtmem_hash, (void *) virt);
- if(desc != NULL){
- if((virt != desc->virt) || (fd != desc->fd) ||
- (offset != desc->offset))
- panic("Address 0x%p is already substituted\n", virt);
- return(0);
- }
-
fd_maps = descriptor_mapping(fd);
if(fd_maps == NULL)
return(-ENOMEM);
+ phys = __pa(virt);
+ if(find_virtmem_hash(&virtmem_hash, virt) != NULL)
+ panic("Address 0x%p is already substituted\n", virt);
+
err = -ENOMEM;
desc = kmalloc(sizeof(*desc), GFP_ATOMIC);
if(desc == NULL)
if(desc == NULL)
return;
- if(!list_empty(&desc->pages))
- printk("Still have mapped pages on fd %d\n", fd);
-
list_for_each_safe(ele, next, &desc->pages){
page = list_entry(ele, struct phys_desc, list);
offset = page->offset;
}
}
-int is_remapped(const void *virt, int fd, __u64 offset)
+int is_remapped(void *virt)
{
- struct phys_desc *desc;
-
- desc = find_virtmem_hash(&virtmem_hash, (void *) virt);
- if(desc == NULL)
- return(0);
- if(offset != desc->offset)
- printk("offset mismatch\n");
- return(find_virtmem_hash(&virtmem_hash, (void *) virt) != NULL);
+ return(find_virtmem_hash(&virtmem_hash, virt) != NULL);
}
/* Changed during early boot */