|  | /* | 
|  | * Copyright (C) 2002, 2003 Jeff Dike (jdike@addtoit.com) | 
|  | * Licensed under the GPL | 
|  | */ | 
|  |  | 
|  | #ifndef __MEM_H__ | 
|  | #define __MEM_H__ | 
|  |  | 
|  | #include "linux/types.h" | 
|  |  | 
|  | extern int phys_mapping(unsigned long phys, __u64 *offset_out); | 
|  | extern int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w); | 
|  | extern int is_remapped(void *virt); | 
|  | extern int physmem_remove_mapping(void *virt); | 
|  | extern void physmem_forget_descriptor(int fd); | 
|  |  | 
|  | extern unsigned long uml_physmem; | 
|  | static inline unsigned long to_phys(void *virt) | 
|  | { | 
|  | return(((unsigned long) virt) - uml_physmem); | 
|  | } | 
|  |  | 
|  | static inline void *to_virt(unsigned long phys) | 
|  | { | 
|  | return((void *) uml_physmem + phys); | 
|  | } | 
|  |  | 
|  | #endif | 
|  |  | 
|  | /* | 
|  | * Overrides for Emacs so that we follow Linus's tabbing style. | 
|  | * Emacs will notice this stuff at the end of the file and automatically | 
|  | * adjust the settings for this buffer only.  This must remain at the end | 
|  | * of the file. | 
|  | * --------------------------------------------------------------------------- | 
|  | * Local variables: | 
|  | * c-file-style: "linux" | 
|  | * End: | 
|  | */ |