annotate rathaxes_samples_e1000_add_a_dma_abstraction.patch @ 115:5a663f8f0e54

WIP, fix another small bug in rathaxes sequence calls
author Louis Opter <louis@lse.epita.fr>
date Mon, 22 Jul 2013 13:52:00 -0700
parents bfe10def90e3
children f3c7e9b0c5cf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
1 # HG changeset patch
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
2 # Parent af7a1f8589d632497e2f2574570f5153cae59b91
111
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
3 e1000: start a DMA allocation/mapping abstraction
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
4
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
5 It currently matches a lot the Linux DMA API but it should be usable by
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
6 other OSes too. The Linux DMA API is described at the end of the chapter
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
7 15 in the LDD3.
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
8
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
9 This will be useful to remove Linux specific DMA code from
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
10 e1000::set_up_device which should be only device independent code.
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
11
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
12 diff --git a/rathaxes/samples/e1000/CMakeLists.txt b/rathaxes/samples/e1000/CMakeLists.txt
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
13 --- a/rathaxes/samples/e1000/CMakeLists.txt
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
14 +++ b/rathaxes/samples/e1000/CMakeLists.txt
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
15 @@ -5,6 +5,7 @@
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
16 log.rti
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
17 lkm.rti
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
18 device.rti
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
19 + dma.rti
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
20 pci.rti
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
21 socket.rti
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
22 ethernet.rti
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
23 @@ -12,8 +13,9 @@
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
24 BLT
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
25 log.blt
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
26 lkm.blt
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
27 + device.blt
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
28 + dma.blt
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
29 pci.blt
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
30 - device.blt
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
31 socket.blt
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
32 e1000.blt
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
33 ethernet.blt)
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
34 diff --git a/rathaxes/samples/e1000/dma.blt b/rathaxes/samples/e1000/dma.blt
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
35 new file mode 100644
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
36 --- /dev/null
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
37 +++ b/rathaxes/samples/e1000/dma.blt
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
38 @@ -0,0 +1,89 @@
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
39 +with DMA, Builtin, LKM, Device
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
40 +{
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
41 + template type DMA::AbstractDMAHandle()
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
42 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
43 + chunk LKM::includes()
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
44 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
45 + #include <linux/dma-mapping.h>
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
46 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
47 +
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
48 + decl data_types()
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
49 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
50 + dma_addr_t data;
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
51 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
52 +
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
53 + map
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
54 + {
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
55 + k_dma_handle: ((dma_addr_t)${self});
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
56 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
57 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
58 +
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
59 + template type DMA::AbstractDMADirection()
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
60 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
61 + decl data_types()
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
62 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
63 + enum dma_data_direction data;
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
64 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
65 +
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
66 + map
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
67 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
68 + k_dma_direction: ((enum dma_data_direction)${self});
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
69 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
70 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
71 +
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
72 + template type DMA::DMADirection()
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
73 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
74 + decl data_types()
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
75 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
76 + RTX_DMA_BIDIRECTIONAL = DMA_BIDIRECTIONAL,
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
77 + RTX_DMA_TO_DEVICE = DMA_TO_DEVICE,
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
78 + RTX_DMA_FROM_DEVICE = DMA_FROM_DEVICE
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
79 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
80 +
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
81 + map
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
82 + {
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
83 + /* XXX: we should use ${DMA::AbstractDMADirection} here: */
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
84 + dma_direction: ((enum dma_data_direction)${self});
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
85 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
86 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
87 +
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
88 + template sequence map(Device::AbstractDevice dev, Builtin::symbol buf, Builtin::number size, DMA::DMADirection dir)
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
89 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
90 + chunk ::CALL()
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
91 + {
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
92 + ((${DMA::DMA::AbstractDMAHandle})dma_map_single(${dev.k_device}, ${buf}, ${size}, ${dir.dma_direction}));
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
93 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
94 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
95 +
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
96 + template sequence unmap(Device::AbstractDevice dev, DMA::AbstractDMAHandle handle, Builtin::number size, DMA::DMADirection dir)
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
97 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
98 + chunk ::CALL()
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
99 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
100 + dma_unmap_single(${dev.k_device}, ${handle.k_dma_handle}, ${size}, ${dir.dma_direction});
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
101 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
102 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
103 +
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
104 + template sequence mapping_error(Device::AbstractDevice dev, DMA::AbstractDMAHandle handle)
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
105 + {
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
106 + chunk ::CALL()
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
107 + {
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
108 + dma_mapping_error(${dev.k_device}, ${handle.k_dma_handle});
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
109 + }
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
110 + }
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
111 +
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
112 + template sequence alloc_coherent(Device::AbstractDevice dev, Builtin::number size, DMA::AbstractDMAHandle handle)
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
113 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
114 + chunk ::CALL()
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
115 + {
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
116 + dma_alloc_coherent(${dev.k_device}, ${size}, &${handle.k_dma_handle}, GFP_KERNEL);
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
117 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
118 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
119 +
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
120 + template sequence free_coherent(Device::AbstractDevice dev, Builtin::number size, Builtin::symbol addr, DMA::AbstractDMAHandle handle)
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
121 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
122 + chunk ::CALL()
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
123 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
124 + dma_free_coherent(${dev.k_device}, ${size}, ${addr}, ${handle.k_dma_handle});
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
125 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
126 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
127 +}
111
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
128 diff --git a/rathaxes/samples/e1000/dma.rti b/rathaxes/samples/e1000/dma.rti
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
129 new file mode 100644
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
130 --- /dev/null
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
131 +++ b/rathaxes/samples/e1000/dma.rti
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
132 @@ -0,0 +1,48 @@
111
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
133 +interface DMA : Builtin, LKM, Device
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
134 +{
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
135 + provided type AbstractDMAHandle
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
136 + {
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
137 + chunk LKM::includes();
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
138 + decl data_types();
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
139 + attribute Builtin::symbol.scalar k_dma_handle;
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
140 + }
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
141 +
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
142 + provided type AbstractDMADirection
111
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
143 + {
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
144 + decl data_types();
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
145 + attribute Builtin::symbol.scalar k_dma_direction;
111
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
146 + }
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
147 +
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
148 + provided type DMADirection
111
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
149 + {
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
150 + decl data_types();
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
151 + attribute AbstractDMADirection.scalar dma_direction;
111
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
152 + }
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
153 +
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
154 + provided sequence map(Device::AbstractDevice, Builtin::symbol, Builtin::number, DMADirection)
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
155 + {
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
156 + provided chunk ::CALL(); /* -> DMAHandle */
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
157 + }
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
158 +
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
159 + provided sequence unmap(Device::AbstractDevice, AbstractDMAHandle, Builtin::number, DMADirection)
111
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
160 + {
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
161 + provided chunk ::CALL();
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
162 + }
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
163 +
115
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
164 + /* XXX: Until we have a real error handling mechanism: */
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
165 + provided sequence mapping_error(Device::AbstractDevice, AbstractDMAHandle)
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
166 + {
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
167 + provided chunk ::CALL(); /* -> != 0 if the mapping failed */
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
168 + }
5a663f8f0e54 WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents: 112
diff changeset
169 +
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
170 + provided sequence alloc_coherent(Device::AbstractDevice, Builtin::number, AbstractDMAHandle)
111
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
171 + {
112
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
172 + /* return the addr and the handle via the AbstractDMAHandle ptr: */
Louis Opter <louis@lse.epita.fr>
parents: 111
diff changeset
173 + provided chunk ::CALL();
111
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
174 + }
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
175 +
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
176 + provided sequence free_coherent(Device::AbstractDevice, Builtin::number, Builtin::symbol, AbstractDMAHandle)
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
177 + {
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
178 + provided chunk ::CALL();
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
179 + }
b072f682823d Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff changeset
180 +}