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