Mercurial > archived > louis > epitech > mq > rathaxes
annotate rathaxes_samples_e1000_use_the_dma_abstraction_in_socket.patch @ 118:ad21d8a182ad
WIP: put up (hopefully the last) some touches on the dma abstraction
author | Louis Opter <louis@lse.epita.fr> |
---|---|
date | Fri, 26 Jul 2013 16:44:08 -0700 |
parents | f3c7e9b0c5cf |
children | d84bc9a46771 |
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 |
118
ad21d8a182ad
WIP: put up (hopefully the last) some touches on the dma abstraction
Louis Opter <louis@lse.epita.fr>
parents:
117
diff
changeset
|
2 # Parent 0645a1612cc02ac70c718cabeaaa726cb2ecfdfd |
111
b072f682823d
Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff
changeset
|
3 Replace Linux specific code in Socket by DMA calls |
b072f682823d
Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff
changeset
|
4 |
112 | 5 diff --git a/rathaxes/samples/e1000/socket.blt b/rathaxes/samples/e1000/socket.blt |
6 --- a/rathaxes/samples/e1000/socket.blt | |
7 +++ b/rathaxes/samples/e1000/socket.blt | |
8 @@ -1,4 +1,4 @@ | |
9 -with Socket, LKM, Device, Ethernet | |
10 +with Socket, LKM, Device, DMA, Ethernet | |
11 { | |
12 template type Socket::AbstractSKBuff() | |
13 { | |
117 | 14 @@ -14,7 +14,7 @@ |
15 | |
16 map | |
17 { | |
18 - k_sk_buff: ((struct sk_buff *)${self}); | |
118
ad21d8a182ad
WIP: put up (hopefully the last) some touches on the dma abstraction
Louis Opter <louis@lse.epita.fr>
parents:
117
diff
changeset
|
19 + k_sk_buff: ((struct sk_buff *)(${self})); |
117 | 20 } |
21 } | |
22 | |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
23 @@ -22,35 +22,34 @@ |
112 | 24 { |
25 decl data_types() | |
26 { | |
27 - ${Socket::AbstractSKBuff.ref} skbuff; | |
28 - dma_addr_t dma_handle; | |
29 + ${Socket::AbstractSKBuff.ref} skbuff; | |
30 + ${DMA::AbstractDMAHandle.scalar} dma_handle; | |
31 } | |
32 | |
33 chunk LKM::prototypes() | |
34 { | |
35 static void rtx_socket_skbuff_dump_infos(${Socket::SKBuff.ref}); | |
36 - static int rtx_socket_skbuff_map(${Socket::SKBuff.ref}, struct device *, enum dma_data_direction); | |
37 - static void rtx_socket_skbuff_unmap_and_free(${Socket::SKBuff.ref}, struct device *, enum dma_data_direction); | |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
38 + static int rtx_socket_skbuff_map(${Socket::SKBuff.ref}, ${Device::AbstractDevice.ref}, ${DMA::DMADirection.scalar}); |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
39 + static void rtx_socket_skbuff_unmap_and_free(${Socket::SKBuff.ref}, ${Device::AbstractDevice.ref}, ${DMA::DMADirection.scalar}); |
112 | 40 } |
41 | |
42 chunk LKM::code() | |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
43 { |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
44 static void rtx_socket_skbuff_dump_infos(${Socket::SKBuff.ref} self) |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
45 { |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
46 - WARN_ON(!self->skbuff); |
117 | 47 + WARN_ON(!${local.self.sk_buff}); |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
48 + |
117 | 49 + ${Ethernet::ProtocolId} ethernet_proto = { .id = be16_to_cpu(${local.self.sk_buff.k_sk_buff}->protocol) }; |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
50 + static const char * const ip_summed_values[] = { |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
51 + "none", "unnecessary", "complete", "partial" |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
52 + }; |
117 | 53 + struct skb_shared_info *shinfo = skb_shinfo(${local.self.sk_buff.k_sk_buff}); |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
54 |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
55 /* |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
56 * We should use a Rathaxes log abstraction instead of pr_info here, |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
57 * but Rathaxes doesn't support functions with a variable number of |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
58 * arguments yet. |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
59 */ |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
60 - ${Socket::AbstractSKBuff.ref} skb = self->skbuff; |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
61 - ${Ethernet::ProtocolId} ethernet_proto = { .id = be16_to_cpu(${local.skb.k_sk_buff}->protocol) }; |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
62 - static const char * const ip_summed_values[] = { |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
63 - "none", "unnecessary", "complete", "partial" |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
64 - }; |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
65 - struct skb_shared_info *shinfo = skb_shinfo(${local.skb.k_sk_buff}); |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
66 - |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
67 pr_info( |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
68 "\t protocol = %#-5x (%s) ip_summed = %d (%s)\n" |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
69 "\t len = %-5u data_len = %-5u head_len = %-5u\n" |
117 | 70 @@ -58,53 +57,46 @@ |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
71 "\t gso_size = %-5u gso_segs = %-5u gso_type = %-5u", |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
72 /* XXX: can't use ${local.ethernet_proto.id} here (issue #52): */ |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
73 ethernet_proto.id, ${local.ethernet_proto.str}, |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
74 - ${local.skb.k_sk_buff}->ip_summed, ip_summed_values[${local.skb.k_sk_buff}->ip_summed], |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
75 - ${local.skb.k_sk_buff}->len, ${local.skb.k_sk_buff}->data_len, skb_headlen(${local.skb.k_sk_buff}), |
117 | 76 + ${local.self.sk_buff.k_sk_buff}->ip_summed, ip_summed_values[${local.self.sk_buff.k_sk_buff}->ip_summed], |
77 + ${local.self.sk_buff.k_sk_buff}->len, ${local.self.sk_buff.k_sk_buff}->data_len, skb_headlen(${local.self.sk_buff.k_sk_buff}), | |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
78 shinfo->nr_frags, shinfo->gso_size, shinfo->gso_segs, shinfo->gso_type |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
79 ); |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
80 } |
112 | 81 |
82 static int rtx_socket_skbuff_map(${Socket::SKBuff.ref} self, | |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
83 - struct device *dev, |
112 | 84 - enum dma_data_direction direction) |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
85 + ${Device::AbstractDevice.ref} dev, |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
86 + ${DMA::DMADirection.scalar} direction) |
112 | 87 { |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
88 - ${Socket::AbstractSKBuff.ref} skb = self->skbuff; |
117 | 89 + WARN_ON(!${local.self.sk_buff}); |
90 + WARN_ON(${local.self.dma_handle}); | |
112 | 91 |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
92 - WARN_ON(!${local.skb.k_sk_buff}); |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
93 - WARN_ON(self->dma_handle); |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
94 - |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
95 - self->dma_handle = dma_map_single( |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
96 - dev, |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
97 - ${local.skb.k_sk_buff}, |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
98 - skb_headlen(${local.skb.k_sk_buff}), |
112 | 99 - direction); |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
100 - int err = dma_mapping_error(dev, self->dma_handle); |
117 | 101 + unsigned int len = skb_headlen(${local.self.sk_buff.k_sk_buff}); |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
102 + ${cast local.len as Builtin::number}; |
117 | 103 + ${local.self.dma_handle} = ${DMA::map(local.dev, local.self.sk_buff.k_sk_buff, local.len, local.direction)}; |
104 + int err = ${DMA::mapping_error(local.dev, local.self.dma_handle)}; | |
112 | 105 if (err) |
106 { | |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
107 - self->dma_handle = 0; |
117 | 108 + ${local.self.dma_handle} = 0; |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
109 return err; |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
110 } |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
111 return 0; |
117 | 112 } |
112 | 113 |
114 static void rtx_socket_skbuff_unmap_and_free(${Socket::SKBuff.ref} self, | |
117 | 115 - struct device *dev, |
112 | 116 - enum dma_data_direction direction) |
117 | 117 + ${Device::AbstractDevice.ref} dev, |
112 | 118 + ${DMA::DMADirection} direction) |
119 { | |
117 | 120 - ${Socket::AbstractSKBuff.ref} skb = self->skbuff; |
121 + WARN_ON(!${local.self.sk_buff}); | |
112 | 122 |
117 | 123 - WARN_ON(!${local.skb.k_sk_buff}); |
124 - | |
125 - if (self->dma_handle) | |
126 + if (${local.self.dma_handle}) | |
127 { | |
128 - dma_unmap_single(dev, | |
129 - self->dma_handle, | |
130 - skb_headlen(${local.skb.k_sk_buff}), | |
112 | 131 - direction); |
117 | 132 - self->dma_handle = 0; |
133 + unsigned int len = skb_headlen(${local.self.sk_buff.k_sk_buff}); | |
134 + ${cast local.len as Builtin::number}; | |
135 + ${DMA::unmap(local.dev, local.self.dma_handle, local.len, local.direction)}; | |
136 + ${local.self.dma_handle} = 0; | |
112 | 137 } |
117 | 138 - dev_kfree_skb_any(${local.skb.k_sk_buff}); |
139 - self->skbuff = 0; | |
140 + dev_kfree_skb_any(${local.self.sk_buff.k_sk_buff}); | |
141 + ${local.self.sk_buff} = NULL; | |
142 } | |
143 } | |
144 | |
145 @@ -115,8 +107,8 @@ | |
146 */ | |
147 method init(Socket::AbstractSKBuff kernel_skb) | |
148 { | |
149 - ${self}.skbuff = ${kernel_skb}; | |
150 - ${self}.dma_handle = 0; | |
151 + ${self.sk_buff} = ${kernel_skb}; | |
152 + ${self.dma_handle} = 0; | |
153 } | |
154 | |
155 method dump_infos() | |
156 @@ -126,30 +118,37 @@ | |
112 | 157 |
158 method map_to(Device::AbstractDevice dev) | |
159 { | |
160 - rtx_socket_skbuff_map(${self}, ${dev.k_device}, DMA_TO_DEVICE); | |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
161 + rtx_socket_skbuff_map(${self}, ${dev}, RTX_DMA_TO_DEVICE); |
112 | 162 } |
163 | |
164 method map_from(Device::AbstractDevice dev) | |
165 { | |
166 - rtx_socket_skbuff_map(${self}, ${dev.k_device}, DMA_FROM_DEVICE); | |
117 | 167 + rtx_socket_skbuff_map(${self}, ${dev}, RTX_DMA_FROM_DEVICE); |
112 | 168 } |
169 | |
170 method unmap_to_and_free(Device::AbstractDevice dev) | |
171 { | |
172 - rtx_socket_skbuff_unmap_and_free(${self}, ${dev.k_device}, DMA_TO_DEVICE); | |
117 | 173 + rtx_socket_skbuff_unmap_and_free(${self}, ${dev}, RTX_DMA_TO_DEVICE); |
112 | 174 } |
175 | |
176 method unmap_from_and_free(Device::AbstractDevice dev) | |
177 { | |
178 - rtx_socket_skbuff_unmap_and_free(${self}, ${dev.k_device}, DMA_FROM_DEVICE); | |
117 | 179 + rtx_socket_skbuff_unmap_and_free(${self}, ${dev}, RTX_DMA_FROM_DEVICE); |
112 | 180 } |
181 | |
182 map | |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
183 { |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
184 - // some work may have to be done here in order |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
185 - // to access to some field of the sk_buff. |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
186 - // We should determine if all the sk_buff management |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
187 - // can be abstracted from the user. |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
188 + // Some work may have to be done here in order to access to some |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
189 + // field of the sk_buff. We should determine if all the sk_buff |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
190 + // management can be abstracted from the user. But this is at least |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
191 + // useful for internal use: |
117 | 192 + sk_buff: (${self})->skbuff; |
193 + // XXX: We need to cast here so we can do things like | |
194 + // var.dma_handle = 0; but the type shouldn't be hardcoded (at the | |
195 + // same time ${DMA:AbstractDMAHandle} couldn't be used because that | |
196 + // would yield to a struct type which you can't assign directly; | |
197 + // but maybe doing the ->data in that case would be acceptable). | |
118
ad21d8a182ad
WIP: put up (hopefully the last) some touches on the dma abstraction
Louis Opter <louis@lse.epita.fr>
parents:
117
diff
changeset
|
198 + dma_handle: (*((dma_addr_t *)&(${self})->dma_handle)); |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
199 } |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
200 } |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
201 } |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
202 diff --git a/rathaxes/samples/e1000/socket.rti b/rathaxes/samples/e1000/socket.rti |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
203 --- a/rathaxes/samples/e1000/socket.rti |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
204 +++ b/rathaxes/samples/e1000/socket.rti |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
205 @@ -1,4 +1,4 @@ |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
206 -interface Socket : LKM, Device |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
207 +interface Socket : LKM, Device, DMA |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
208 { |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
209 /* The SKBuff type from the kernel */ |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
210 provided type AbstractSKBuff |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
211 @@ -19,5 +19,8 @@ |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
212 method map_from(Device::AbstractDevice); |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
213 method unmap_to_and_free(Device::AbstractDevice); |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
214 method unmap_from_and_free(Device::AbstractDevice); |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
215 + |
117 | 216 + attribute Socket::AbstractSKBuff.ref sk_buff; |
217 + attribute DMA::AbstractDMAHandle.scalar dma_handle; | |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
218 } |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
219 } |