[prev in list] [next in list] [prev in thread] [next in thread] 

List:       haiku-commits
Subject:    [haiku-commits] [S] Change in haiku[master]: kernel: Migrate struct generic_io_vec to a private head
From:       Gerrit <review () review ! haiku-os ! org>
Date:       2023-05-30 2:23:38
Message-ID: a8982894585062c558dcf1d63b83868cf151bff8-HTML () review ! haiku-os ! org
[Download RAW message or body]

From waddlesplash <waddlesplash@gmail.com>:

waddlesplash has uploaded this change for review. ( \
https://review.haiku-os.org/c/haiku/+/6477 )


Change subject: kernel: Migrate struct generic_io_vec to a private header outside \
                src/.
......................................................................

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.
---
M headers/private/kernel/util/iovec_support.h
M src/system/kernel/device_manager/dma_resources.h
2 files changed, 22 insertions(+), 6 deletions(-)



  git pull ssh://git.haiku-os.org:22/haiku refs/changes/77/6477/1

diff --git a/headers/private/kernel/util/iovec_support.h \
b/headers/private/kernel/util/iovec_support.h index bf8d668..29a6653 100644
--- a/headers/private/kernel/util/iovec_support.h
+++ b/headers/private/kernel/util/iovec_support.h
@@ -9,6 +9,13 @@
 #include <KernelExport.h>


+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 @@

 	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 f2426fd..c52288c 100644
--- a/src/system/kernel/device_manager/dma_resources.h
+++ b/src/system/kernel/device_manager/dma_resources.h
@@ -13,6 +13,7 @@

 #include <lock.h>
 #include <util/DoublyLinkedList.h>
+#include <util/iovec_support.h>


 struct device_node;
@@ -20,12 +21,6 @@
 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;

--
To view, visit https://review.haiku-os.org/c/haiku/+/6477
To unsubscribe, or for help writing mail filters, visit \
https://review.haiku-os.org/settings

Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: Ibc2d2678e37d9d7ab73391cb17b72cca86f92132
Gerrit-Change-Number: 6477
Gerrit-PatchSet: 1
Gerrit-Owner: waddlesplash <waddlesplash@gmail.com>
Gerrit-MessageType: newchange


[Attachment #3 (text/html)]

<p>waddlesplash has uploaded this change for <strong>review</strong>.</p><p><a \
href="https://review.haiku-os.org/c/haiku/+/6477">View Change</a></p><pre \
style="font-family: monospace,monospace; white-space: pre-wrap;">kernel: Migrate \
struct generic_io_vec to a private header outside src/.<br><br>This way it is more \
easily accessed from drivers outside the kernel,<br>which it soon will be, without \
having to add an explicit UseHeaders.<br>(The drivers that use it already all use the \
IOScheduler.)<br><br>No functional change.<br>---<br>M \
headers/private/kernel/util/iovec_support.h<br>M \
src/system/kernel/device_manager/dma_resources.h<br>2 files changed, 22 \
insertions(+), 6 deletions(-)<br><br></pre><pre style="font-family: \
monospace,monospace; white-space: pre-wrap;">git pull ssh://git.haiku-os.org:22/haiku \
refs/changes/77/6477/1</pre><pre style="font-family: monospace,monospace; \
white-space: pre-wrap;"><span>diff --git \
a/headers/private/kernel/util/iovec_support.h \
b/headers/private/kernel/util/iovec_support.h</span><br><span>index bf8d668..29a6653 \
100644</span><br><span>--- \
a/headers/private/kernel/util/iovec_support.h</span><br><span>+++ \
b/headers/private/kernel/util/iovec_support.h</span><br><span>@@ -9,6 +9,13 \
@@</span><br><span> #include &lt;KernelExport.h&gt;</span><br><span> \
</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+typedef \
struct generic_io_vec {</span><br><span style="color: hsl(120, 100%, \
40%);">+	generic_addr_t	base;</span><br><span style="color: hsl(120, 100%, \
40%);">+	generic_size_t	length;</span><br><span style="color: hsl(120, 100%, \
40%);">+} generic_io_vec;</span><br><span style="color: hsl(120, 100%, \
40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span \
style="color: hsl(120, 100%, 40%);">+#ifdef IS_USER_ADDRESS</span><br><span> static \
inline status_t</span><br><span> get_iovecs_from_user(const iovec* userVecs, size_t \
vecCount, iovec*&amp; vecs,</span><br><span> 	bool permitNull = \
false)</span><br><span>@@ -46,6 +53,7 @@</span><br><span> </span><br><span> 	return \
B_OK;</span><br><span> }</span><br><span style="color: hsl(120, 100%, \
40%);">+#endif</span><br><span> </span><br><span> </span><br><span> #endif	// \
_UTIL_IOVEC_SUPPORT_H</span><br><span>diff --git \
a/src/system/kernel/device_manager/dma_resources.h \
b/src/system/kernel/device_manager/dma_resources.h</span><br><span>index \
f2426fd..c52288c 100644</span><br><span>--- \
a/src/system/kernel/device_manager/dma_resources.h</span><br><span>+++ \
b/src/system/kernel/device_manager/dma_resources.h</span><br><span>@@ -13,6 +13,7 \
@@</span><br><span> </span><br><span> #include &lt;lock.h&gt;</span><br><span> \
#include &lt;util/DoublyLinkedList.h&gt;</span><br><span style="color: hsl(120, 100%, \
40%);">+#include &lt;util/iovec_support.h&gt;</span><br><span> </span><br><span> \
</span><br><span> struct device_node;</span><br><span>@@ -20,12 +21,6 \
@@</span><br><span> struct IORequest;</span><br><span> </span><br><span> \
</span><br><span style="color: hsl(0, 100%, 40%);">-typedef struct generic_io_vec \
{</span><br><span style="color: hsl(0, 100%, \
40%);">-	generic_addr_t	base;</span><br><span style="color: hsl(0, 100%, \
40%);">-	generic_size_t	length;</span><br><span style="color: hsl(0, 100%, 40%);">-} \
generic_io_vec;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span \
style="color: hsl(0, 100%, 40%);">-</span><br><span> struct dma_restrictions \
{</span><br><span> 	generic_addr_t	low_address;</span><br><span> \
generic_addr_t	high_address;</span><br><span></span><br></pre><p>To view, visit <a \
href="https://review.haiku-os.org/c/haiku/+/6477">change 6477</a>. To unsubscribe, or \
for help writing mail filters, visit <a \
href="https://review.haiku-os.org/settings">settings</a>.</p><div itemscope \
itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" \
itemtype="http://schema.org/ViewAction"><link itemprop="url" \
href="https://review.haiku-os.org/c/haiku/+/6477"/><meta itemprop="name" \
content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: haiku </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: \
Ibc2d2678e37d9d7ab73391cb17b72cca86f92132 </div> <div style="display:none"> \
Gerrit-Change-Number: 6477 </div> <div style="display:none"> Gerrit-PatchSet: 1 \
</div> <div style="display:none"> Gerrit-Owner: waddlesplash \
&lt;waddlesplash@gmail.com&gt; </div> <div style="display:none"> Gerrit-MessageType: \
newchange </div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic