| 233 | } |
| 234 | |
| 235 | void *lwp_map_user(struct rt_lwp *lwp, void *map_va, size_t map_size, int text) |
| 236 | { |
| 237 | void *ret = RT_NULL; |
| 238 | size_t offset = 0; |
| 239 | |
| 240 | if (!map_size) |
| 241 | { |
| 242 | return 0; |
| 243 | } |
| 244 | offset = (size_t)map_va & ARCH_PAGE_MASK; |
| 245 | map_size += (offset + ARCH_PAGE_SIZE - 1); |
| 246 | map_size &= ~ARCH_PAGE_MASK; |
| 247 | map_va = (void *)((size_t)map_va & ~ARCH_PAGE_MASK); |
| 248 | |
| 249 | ret = _lwp_map_user(lwp, map_va, map_size, text); |
| 250 | |
| 251 | if (ret) |
| 252 | { |
| 253 | ret = (void *)((char *)ret + offset); |
| 254 | } |
| 255 | return ret; |
| 256 | } |
| 257 | |
| 258 | static inline size_t _flags_to_attr(size_t flags) |
| 259 | { |
no test coverage detected