#include <xen/list.h>
#include <xen/init.h>
-#define EXPORT /* indicates code other modules are dependent upon */
-#define FORWARD
-
#define TMEM_SPEC_VERSION 1
/* global statistics (none need to be locked) */
/************ CONCURRENCY ***********************************************/
-EXPORT DEFINE_SPINLOCK(tmem_spinlock); /* used iff tmem_lock_all */
-EXPORT DEFINE_RWLOCK(tmem_rwlock); /* used iff !tmem_lock_all */
+DEFINE_SPINLOCK(tmem_spinlock); /* used iff tmem_lock_all */
+DEFINE_RWLOCK(tmem_rwlock); /* used iff !tmem_lock_all */
static DEFINE_SPINLOCK(eph_lists_spinlock); /* protects global AND clients */
static DEFINE_SPINLOCK(pers_lists_spinlock);
/************ EXPORTed FUNCTIONS **************************************/
-EXPORT long do_tmem_op(tmem_cli_op_t uops)
+long do_tmem_op(tmem_cli_op_t uops)
{
struct tmem_op op;
struct client *client = tmem_client_from_current();
}
/* this should be called when the host is destroying a client */
-EXPORT void tmem_destroy(void *v)
+void tmem_destroy(void *v)
{
struct client *client = (struct client *)v;
}
/* freezing all pools guarantees that no additional memory will be consumed */
-EXPORT void tmem_freeze_all(unsigned char key)
+void tmem_freeze_all(unsigned char key)
{
static int freeze = 0;
}
#define MAX_EVICTS 10 /* should be variable or set via TMEMC_ ?? */
-
-EXPORT void *tmem_relinquish_pages(unsigned int order, unsigned int memflags)
+void *tmem_relinquish_pages(unsigned int order, unsigned int memflags)
{
struct page_info *pfp;
unsigned long evicts_per_relinq = 0;
#include <xen/cpu.h>
#include <xen/init.h>
-#define EXPORT /* indicates code other modules are dependent upon */
-
-EXPORT bool_t __read_mostly opt_tmem = 0;
+bool_t __read_mostly opt_tmem = 0;
boolean_param("tmem", opt_tmem);
-EXPORT bool_t __read_mostly opt_tmem_compress = 0;
+bool_t __read_mostly opt_tmem_compress = 0;
boolean_param("tmem_compress", opt_tmem_compress);
-EXPORT bool_t __read_mostly opt_tmem_dedup = 0;
+bool_t __read_mostly opt_tmem_dedup = 0;
boolean_param("tmem_dedup", opt_tmem_dedup);
-EXPORT bool_t __read_mostly opt_tmem_tze = 0;
+bool_t __read_mostly opt_tmem_tze = 0;
boolean_param("tmem_tze", opt_tmem_tze);
-EXPORT bool_t __read_mostly opt_tmem_shared_auth = 0;
+bool_t __read_mostly opt_tmem_shared_auth = 0;
boolean_param("tmem_shared_auth", opt_tmem_shared_auth);
-EXPORT int __read_mostly opt_tmem_lock = 0;
+int __read_mostly opt_tmem_lock = 0;
integer_param("tmem_lock", opt_tmem_lock);
-EXPORT atomic_t freeable_page_count = ATOMIC_INIT(0);
+atomic_t freeable_page_count = ATOMIC_INIT(0);
/* these are a concurrency bottleneck, could be percpu and dynamically
* allocated iff opt_tmem_compress */
}
#endif
-EXPORT int tmem_copy_from_client(struct page_info *pfp,
+int tmem_copy_from_client(struct page_info *pfp,
xen_pfn_t cmfn, tmem_cli_va_param_t clibuf)
{
unsigned long tmem_mfn, cli_mfn = 0;
return rc;
}
-EXPORT int tmem_compress_from_client(xen_pfn_t cmfn,
+int tmem_compress_from_client(xen_pfn_t cmfn,
void **out_va, size_t *out_len, tmem_cli_va_param_t clibuf)
{
int ret = 0;
return 1;
}
-EXPORT int tmem_copy_to_client(xen_pfn_t cmfn, struct page_info *pfp,
+int tmem_copy_to_client(xen_pfn_t cmfn, struct page_info *pfp,
tmem_cli_va_param_t clibuf)
{
unsigned long tmem_mfn, cli_mfn = 0;
return rc;
}
-EXPORT int tmem_decompress_to_client(xen_pfn_t cmfn, void *tmem_va,
+int tmem_decompress_to_client(xen_pfn_t cmfn, void *tmem_va,
size_t size, tmem_cli_va_param_t clibuf)
{
unsigned long cli_mfn = 0;
return 1;
}
-EXPORT int tmem_copy_tze_to_client(xen_pfn_t cmfn, void *tmem_va,
+int tmem_copy_tze_to_client(xen_pfn_t cmfn, void *tmem_va,
pagesize_t len)
{
void *cli_va;
/****************** XEN-SPECIFIC MEMORY ALLOCATION ********************/
-EXPORT struct xmem_pool *tmem_mempool = 0;
-EXPORT unsigned int tmem_mempool_maxalloc = 0;
+struct xmem_pool *tmem_mempool = 0;
+unsigned int tmem_mempool_maxalloc = 0;
-EXPORT DEFINE_SPINLOCK(tmem_page_list_lock);
-EXPORT PAGE_LIST_HEAD(tmem_page_list);
-EXPORT unsigned long tmem_page_list_pages = 0;
+DEFINE_SPINLOCK(tmem_page_list_lock);
+PAGE_LIST_HEAD(tmem_page_list);
+unsigned long tmem_page_list_pages = 0;
static noinline void *tmem_mempool_page_get(unsigned long size)
{
.notifier_call = cpu_callback
};
-EXPORT int __init tmem_init(void)
+int __init tmem_init(void)
{
unsigned int cpu;