1 /******************************************************************************
2  * tmem.h
3  *
4  * Transcendent memory
5  *
6  * Copyright (c) 2008, Dan Magenheimer, Oracle Corp.
7  */
8 
9 #ifndef __XEN_TMEM_H__
10 #define __XEN_TMEM_H__
11 
12 struct xen_sysctl_tmem_op;
13 
14 #ifdef CONFIG_TMEM
15 extern int tmem_control(struct xen_sysctl_tmem_op *op);
16 extern void tmem_destroy(void *);
17 extern void *tmem_relinquish_pages(unsigned int, unsigned int);
18 extern unsigned long tmem_freeable_pages(void);
19 #else
20 static inline int
tmem_control(struct xen_sysctl_tmem_op * op)21 tmem_control(struct xen_sysctl_tmem_op *op)
22 {
23     return -ENOSYS;
24 }
25 
26 static inline void
tmem_destroy(void * p)27 tmem_destroy(void *p)
28 {
29     return;
30 }
31 
32 static inline void *
tmem_relinquish_pages(unsigned int x,unsigned int y)33 tmem_relinquish_pages(unsigned int x, unsigned int y)
34 {
35     return NULL;
36 }
37 
38 static inline unsigned long
tmem_freeable_pages(void)39 tmem_freeable_pages(void)
40 {
41     return 0;
42 }
43 #endif /* CONFIG_TMEM */
44 
45 #endif /* __XEN_TMEM_H__ */
46