From 65cdc13e7d31ea987d9d6e9bf7f6373aab5eecf2 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Mon, 29 May 2023 19:40:58 -0400 Subject: [PATCH] kernel: Migrate struct generic_io_vec to a private header outside src/. This way it is more easily accessed from drivers outside the kernel, which it soon will be, without having to add an explicit UseHeaders. (The drivers that use it already all use the IOScheduler.) No functional change. Change-Id: Ibc2d2678e37d9d7ab73391cb17b72cca86f92132 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6477 Tested-by: Commit checker robot Reviewed-by: waddlesplash --- headers/private/kernel/util/iovec_support.h | 8 ++++++++ src/system/kernel/device_manager/dma_resources.h | 7 +------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/headers/private/kernel/util/iovec_support.h b/headers/private/kernel/util/iovec_support.h index bf8d668b9c..29a6653d33 100644 --- a/headers/private/kernel/util/iovec_support.h +++ b/headers/private/kernel/util/iovec_support.h @@ -9,6 +9,13 @@ #include +typedef struct generic_io_vec { + generic_addr_t base; + generic_size_t length; +} generic_io_vec; + + +#ifdef IS_USER_ADDRESS static inline status_t get_iovecs_from_user(const iovec* userVecs, size_t vecCount, iovec*& vecs, bool permitNull = false) @@ -46,6 +53,7 @@ get_iovecs_from_user(const iovec* userVecs, size_t vecCount, iovec*& vecs, return B_OK; } +#endif #endif // _UTIL_IOVEC_SUPPORT_H diff --git a/src/system/kernel/device_manager/dma_resources.h b/src/system/kernel/device_manager/dma_resources.h index f2426fd31e..c52288c07c 100644 --- a/src/system/kernel/device_manager/dma_resources.h +++ b/src/system/kernel/device_manager/dma_resources.h @@ -13,6 +13,7 @@ #include #include +#include struct device_node; @@ -20,12 +21,6 @@ struct IOOperation; struct IORequest; -typedef struct generic_io_vec { - generic_addr_t base; - generic_size_t length; -} generic_io_vec; - - struct dma_restrictions { generic_addr_t low_address; generic_addr_t high_address;