1 /* 2 * Copyright (c) 2024, Tenstorrent AI ULC 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #include <stddef.h> 8 9 #include <zephyr/kernel.h> 10 #include <zephyr/posix/sys/mman.h> 11 12 #include <zephyr/kernel/mm/demand_paging.h> 13 mlock(const void * addr,size_t len)14int mlock(const void *addr, size_t len) 15 { 16 if (IS_ENABLED(CONFIG_DEMAND_PAGING)) { 17 void *const _addr = (void *)addr; 18 19 k_mem_pin(_addr, len); 20 21 return 0; 22 } 23 24 errno = ENOTSUP; 25 return -1; 26 } 27 munlock(const void * addr,size_t len)28int munlock(const void *addr, size_t len) 29 { 30 if (IS_ENABLED(CONFIG_DEMAND_PAGING)) { 31 void *const _addr = (void *)addr; 32 33 k_mem_unpin(_addr, len); 34 35 return 0; 36 } 37 38 errno = ENOTSUP; 39 return -1; 40 } 41