36 #ifndef __METAL_SYS__H__ 37 #error "Include metal/sys.h instead of metal/linux/sys.h" 40 #ifndef __METAL_LINUX_SYS__H__ 41 #define __METAL_LINUX_SYS__H__ 55 #include <sys/syscall.h> 56 #include <sys/types.h> 60 #include <linux/futex.h> 61 #include <sysfs/libsysfs.h> 62 #ifdef HAVE_HUGETLBFS_H 63 #include <hugetlbfs.h> 70 #define METAL_INVALID_VADDR NULL 71 #define MAX_PAGE_SIZES 32 119 #ifdef METAL_INTERNAL 128 extern int metal_map(
int fd, off_t offset,
size_t size,
int expand,
129 int flags,
void **result);
138 #define metal_for_each_page_size_up(ps) \ 139 for ((ps) = &_metal.page_sizes[0]; \ 140 (ps) <= &_metal.page_sizes[_metal.num_page_sizes - 1]; \ 143 #define metal_for_each_page_size_down(ps) \ 144 for ((ps) = &_metal.page_sizes[_metal.num_page_sizes - 1]; \ 145 (ps) >= &_metal.page_sizes[0]; \ void metal_linux_bus_finish(void)
Definition: device.c:641
int metal_mktemp_unlinked(char *template)
Open (or create) and unlink a temporary file.
Definition: utilities.c:195
int metal_linux_bus_init(void)
Definition: device.c:630
#define MAX_PAGE_SIZES
Definition: sys.h:71
size_t page_size
Definition: sys.h:76
int metal_open_unlinked(const char *path, int shm)
Open (or create) and unlink a file.
Definition: utilities.c:75
int metal_map(int fd, off_t offset, size_t size, int expand, int flags, void **result)
Map a segment of a file/device.
Definition: utilities.c:227
int metal_mlock(void *mem, size_t size)
Lock in a region of the process address space.
Definition: utilities.c:281
int metal_mktemp(char *template, int fifo)
Create a temporary file or fifo.
Definition: utilities.c:133
void metal_randomize_string(char *template)
Randomize a string.
Definition: utilities.c:98
char path[PATH_MAX]
Definition: sys.h:82
unsigned long page_shift
Definition: sys.h:79
int mmap_flags
Definition: sys.h:85
int metal_unmap(void *mem, size_t size)
Unmap a segment of the process address space.
Definition: utilities.c:269
void metal_mktemp_template(char template[PATH_MAX], const char *name)
Create a file name template suitable for use with metal_mktemp.
Definition: utilities.c:115
int metal_open(const char *path, int shm)
Open (or create) a file.
Definition: utilities.c:49
int metal_virt2phys(void *addr, unsigned long *phys)
Definition: utilities.c:286