From 0770f8e4e5fde20ac77a08dd8723f35e702f9959 Mon Sep 17 00:00:00 2001 From: Matthias Kruk Date: Sat, 26 Oct 2019 14:12:54 +0900 Subject: [PATCH] Implement process_memcpy_ptop() function for copying data directly between processes --- kernel/core/process.c | 9 +++++++++ kernel/include/process.h | 1 + 2 files changed, 10 insertions(+) diff --git a/kernel/core/process.c b/kernel/core/process.c index 2e994fa..17d0582 100644 --- a/kernel/core/process.c +++ b/kernel/core/process.c @@ -185,3 +185,12 @@ int process_memcpy_ktop(process_t *proc, void *dst, void *src, u32_t bytes) return(ret_val); } + +int process_memcpy_ptop(process_t *dproc, void *dst, process_t *sproc, void *src, u32_t bytes) +{ + int ret_val; + + ret_val = pg_dir_memcpy(dproc->p_pgdir, dst, sproc->p_pgdir, src, bytes); + + return(ret_val); +} diff --git a/kernel/include/process.h b/kernel/include/process.h index f5ad6ba..f8c80bf 100644 --- a/kernel/include/process.h +++ b/kernel/include/process.h @@ -34,5 +34,6 @@ process_t* process_get_current(void); int process_memcpy_ptok(process_t*, void*, void*, u32_t); int process_memcpy_ktop(process_t*, void*, void*, u32_t); +int process_memcpy_ptop(process_t*, void*, process_t*, void*, u32_t); #endif /* __PROCESS_H */ -- 2.47.3