From e1789ffa14826e0c7378f974ac68c2c04ba8640c Mon Sep 17 00:00:00 2001 From: dzwdz Date: Sat, 11 Sep 2021 18:22:21 +0200 Subject: add some helper functions for copying between virtual and physical memory this was already possible, but now it's slightly safer --- src/kernel/mem/virt.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/kernel/mem/virt.h') diff --git a/src/kernel/mem/virt.h b/src/kernel/mem/virt.h index 7dac887..78d0cb3 100644 --- a/src/kernel/mem/virt.h +++ b/src/kernel/mem/virt.h @@ -27,3 +27,14 @@ bool virt_iter_next(struct virt_iter *); bool virt_cpy( struct pagedir *dest_pages, void __user *dest, struct pagedir *src_pages, const void __user *src, size_t length); + + +inline bool virt_cpy_to(struct pagedir *dest_pages, // physical -> virtual + void __user *dest, const void *src, size_t length) { + return virt_cpy(dest_pages, dest, NULL, (userptr_t)src, length); +} + +inline bool virt_cpy_from(struct pagedir *src_pages, // virtual -> physical + void *dest, const void __user *src, size_t length) { + return virt_cpy(NULL, (userptr_t)dest, src_pages, src, length); +} -- cgit v1.2.3