00001 /* $Id: dm_phys.h 31603 2008-05-12 06:54:17Z adam $ */ 00002 /*****************************************************************************/ 00011 /*****************************************************************************/ 00012 00013 /* (c) 2003 Technische Universitaet Dresden 00014 * This file is part of DROPS, which is distributed under the terms of the 00015 * GNU General Public License 2. Please see the COPYING file for details. 00016 */ 00017 00018 #ifndef _DM_PHYS_DM_PHYS_H 00019 #define _DM_PHYS_DM_PHYS_H 00020 00021 /* L4/L4Env includes */ 00022 #include <l4/sys/types.h> 00023 #include <l4/env/cdefs.h> 00024 #include <l4/dm_generic/dm_generic.h> 00025 #include <l4/dm_mem/dm_mem.h> 00026 00027 /* DMphys includes */ 00028 #include <l4/dm_phys/consts.h> 00029 #include <l4/dm_phys/dm_phys-client.h> 00030 00031 /***************************************************************************** 00032 *** prototypes 00033 *****************************************************************************/ 00034 00035 __BEGIN_DECLS; 00036 00037 /*****************************************************************************/ 00069 /*****************************************************************************/ 00070 L4_CV int 00071 l4dm_memphys_open(int pool, l4_addr_t addr, l4_size_t size, l4_addr_t align, 00072 l4_uint32_t flags, const char * name, 00073 l4dm_dataspace_t * ds); 00074 00075 /*****************************************************************************/ 00113 /*****************************************************************************/ 00114 L4_CV int 00115 l4dm_memphys_copy(const l4dm_dataspace_t * ds, l4_offs_t src_offs, 00116 l4_offs_t dst_offs, l4_size_t num, int dst_pool, 00117 l4_addr_t dst_addr, l4_size_t dst_size, 00118 l4_addr_t dst_align, l4_uint32_t flags, 00119 const char * name, l4dm_dataspace_t * copy); 00120 00121 /*****************************************************************************/ 00139 /*****************************************************************************/ 00140 L4_CV int 00141 l4dm_memphys_pagesize(const l4dm_dataspace_t * ds, l4_offs_t offs, 00142 l4_size_t size, int pagesize, int * ok); 00143 00144 /*****************************************************************************/ 00156 /*****************************************************************************/ 00157 L4_CV int 00158 l4dm_memphys_check_pagesize(const void * ptr, l4_size_t size, int pagesize); 00159 00160 /*****************************************************************************/ 00173 /*****************************************************************************/ 00174 L4_CV int 00175 l4dm_memphys_poolsize(int pool, l4_size_t * size, l4_size_t * free); 00176 00177 /*****************************************************************************/ 00182 /*****************************************************************************/ 00183 L4_CV void 00184 l4dm_memphys_show_memmap(void); 00185 00186 /*****************************************************************************/ 00191 /*****************************************************************************/ 00192 L4_CV void 00193 l4dm_memphys_show_pools(void); 00194 00195 /*****************************************************************************/ 00202 /*****************************************************************************/ 00203 L4_CV void 00204 l4dm_memphys_show_pool_areas(int pool); 00205 00206 /*****************************************************************************/ 00213 /*****************************************************************************/ 00214 L4_CV void 00215 l4dm_memphys_show_pool_free(int pool); 00216 00217 /*****************************************************************************/ 00224 /*****************************************************************************/ 00225 L4_CV void 00226 l4dm_memphys_show_slabs(int show_free); 00227 00228 /*****************************************************************************/ 00235 /*****************************************************************************/ 00236 L4_CV l4_threadid_t 00237 l4dm_memphys_find_dmphys(void); 00238 00239 __END_DECLS; 00240 00241 #endif /* !_DM_PHYS_DM_PHYS_H */