mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 16:54:20 +08:00
d99c4022f6
Turns out that, for UML, a *lot* of VM-related trivial functions are not inlined but rather normal functions. In other sections of UML code, this is justified by having files which interact with the host and cannot therefore include kernel headers, but in this case there's no such justification. I've had to turn many of them to macros because of missing declarations. While doing this, I've decided to reuse some already existing macros. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
40 lines
1.0 KiB
C
40 lines
1.0 KiB
C
/*
|
|
* 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:
|
|
*/
|