1/* 2 * Copyright (C) 2002, 2003 Jeff Dike (jdike@addtoit.com) 3 * Licensed under the GPL 4 */ 5 6#ifndef __MEM_H__ 7#define __MEM_H__ 8 9#include "linux/types.h" 10 11extern int phys_mapping(unsigned long phys, __u64 *offset_out); 12extern int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w); 13extern int is_remapped(void *virt); 14extern int physmem_remove_mapping(void *virt); 15extern void physmem_forget_descriptor(int fd); 16 17extern unsigned long uml_physmem; 18static inline unsigned long to_phys(void *virt) 19{ 20 return(((unsigned long) virt) - uml_physmem); 21} 22 23static inline void *to_virt(unsigned long phys) 24{ 25 return((void *) uml_physmem + phys); 26} 27 28#endif 29 30/* 31 * Overrides for Emacs so that we follow Linus's tabbing style. 32 * Emacs will notice this stuff at the end of the file and automatically 33 * adjust the settings for this buffer only. This must remain at the end 34 * of the file. 35 * --------------------------------------------------------------------------- 36 * Local variables: 37 * c-file-style: "linux" 38 * End: 39 */ 40