Mercurial > archived > louis > epitech > mq > rathaxes
annotate rathaxes_samples_e1000_use_the_dma_abstraction_in_socket.patch @ 142:cbff597d307e default tip
Wip doc
author | Louis Opter <louis@lse.epita.fr> |
---|---|
date | Sun, 09 Feb 2014 15:48:57 -0800 |
parents | 6f600f83a763 |
children |
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 |
121
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
2 # Parent 4b0b03bb17b3c70e333fb3c637e199669a792b30 |
120
cbd9b9a49b63
wip, alloc_rx_skbuff actually an abstraction for netdev_allock_skb
Louis Opter <louis@lse.epita.fr>
parents:
119
diff
changeset
|
3 rathaxes: abstract away netdev_alloc_skb() from e1000::set_up_device |
119
d84bc9a46771
WIP, finally the alloc_skbuff method will be in the Ethernet subsystem since, the socket subsystem cannot depend on Ethernet (that would cause a circular dependency)
Louis Opter <louis@lse.epita.fr>
parents:
118
diff
changeset
|
4 |
120
cbd9b9a49b63
wip, alloc_rx_skbuff actually an abstraction for netdev_allock_skb
Louis Opter <louis@lse.epita.fr>
parents:
119
diff
changeset
|
5 By adding a new method to Ethernet::Device. |
111
b072f682823d
Start a new series to refactor e1000::set_up_device
Louis Opter <louis@lse.epita.fr>
parents:
diff
changeset
|
6 |
112 | 7 diff --git a/rathaxes/samples/e1000/socket.blt b/rathaxes/samples/e1000/socket.blt |
8 --- a/rathaxes/samples/e1000/socket.blt | |
9 +++ b/rathaxes/samples/e1000/socket.blt | |
10 @@ -1,4 +1,4 @@ | |
11 -with Socket, LKM, Device, Ethernet | |
12 +with Socket, LKM, Device, DMA, Ethernet | |
13 { | |
14 template type Socket::AbstractSKBuff() | |
15 { | |
117 | 16 @@ -14,7 +14,7 @@ |
17 | |
18 map | |
19 { | |
20 - 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
|
21 + k_sk_buff: ((struct sk_buff *)(${self})); |
117 | 22 } |
23 } | |
24 | |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
25 @@ -22,35 +22,34 @@ |
112 | 26 { |
27 decl data_types() | |
28 { | |
29 - ${Socket::AbstractSKBuff.ref} skbuff; | |
30 - dma_addr_t dma_handle; | |
31 + ${Socket::AbstractSKBuff.ref} skbuff; | |
32 + ${DMA::AbstractDMAHandle.scalar} dma_handle; | |
33 } | |
34 | |
35 chunk LKM::prototypes() | |
36 { | |
37 static void rtx_socket_skbuff_dump_infos(${Socket::SKBuff.ref}); | |
38 - static int rtx_socket_skbuff_map(${Socket::SKBuff.ref}, struct device *, enum dma_data_direction); | |
39 - 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
|
40 + 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
|
41 + static void rtx_socket_skbuff_unmap_and_free(${Socket::SKBuff.ref}, ${Device::AbstractDevice.ref}, ${DMA::DMADirection.scalar}); |
112 | 42 } |
43 | |
44 chunk LKM::code() | |
115
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 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
|
47 { |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
48 - WARN_ON(!self->skbuff); |
117 | 49 + 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
|
50 + |
117 | 51 + ${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
|
52 + 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
|
53 + "none", "unnecessary", "complete", "partial" |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
54 + }; |
117 | 55 + 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
|
56 |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
57 /* |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
58 * 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
|
59 * 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
|
60 * arguments yet. |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
61 */ |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
62 - ${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
|
63 - ${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
|
64 - 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
|
65 - "none", "unnecessary", "complete", "partial" |
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 - 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
|
68 - |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
69 pr_info( |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
70 "\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
|
71 "\t len = %-5u data_len = %-5u head_len = %-5u\n" |
117 | 72 @@ -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
|
73 "\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
|
74 /* 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
|
75 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
|
76 - ${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
|
77 - ${local.skb.k_sk_buff}->len, ${local.skb.k_sk_buff}->data_len, skb_headlen(${local.skb.k_sk_buff}), |
117 | 78 + ${local.self.sk_buff.k_sk_buff}->ip_summed, ip_summed_values[${local.self.sk_buff.k_sk_buff}->ip_summed], |
79 + ${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
|
80 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
|
81 ); |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
82 } |
112 | 83 |
84 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
|
85 - struct device *dev, |
112 | 86 - 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
|
87 + ${Device::AbstractDevice.ref} dev, |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
88 + ${DMA::DMADirection.scalar} direction) |
112 | 89 { |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
90 - ${Socket::AbstractSKBuff.ref} skb = self->skbuff; |
117 | 91 + WARN_ON(!${local.self.sk_buff}); |
92 + WARN_ON(${local.self.dma_handle}); | |
112 | 93 |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
94 - 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
|
95 - 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
|
96 - |
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
97 - 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
|
98 - dev, |
115
5a663f8f0e54
WIP, fix another small bug in rathaxes sequence calls
Louis Opter <louis@lse.epita.fr>
parents:
114
diff
changeset
|
99 - ${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
|
100 - skb_headlen(${local.skb.k_sk_buff}), |
112 | 101 - direction); |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
102 - int err = dma_mapping_error(dev, self->dma_handle); |
117 | 103 + 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
|
104 + ${cast local.len as Builtin::number}; |
117 | 105 + ${local.self.dma_handle} = ${DMA::map(local.dev, local.self.sk_buff.k_sk_buff, local.len, local.direction)}; |
106 + int err = ${DMA::mapping_error(local.dev, local.self.dma_handle)}; | |
112 | 107 if (err) |
108 { | |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
109 - self->dma_handle = 0; |
117 | 110 + ${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
|
111 return err; |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
112 } |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
113 return 0; |
117 | 114 } |
112 | 115 |
116 static void rtx_socket_skbuff_unmap_and_free(${Socket::SKBuff.ref} self, | |
117 | 117 - struct device *dev, |
112 | 118 - enum dma_data_direction direction) |
117 | 119 + ${Device::AbstractDevice.ref} dev, |
112 | 120 + ${DMA::DMADirection} direction) |
121 { | |
117 | 122 - ${Socket::AbstractSKBuff.ref} skb = self->skbuff; |
123 + WARN_ON(!${local.self.sk_buff}); | |
112 | 124 |
117 | 125 - WARN_ON(!${local.skb.k_sk_buff}); |
126 - | |
127 - if (self->dma_handle) | |
128 + if (${local.self.dma_handle}) | |
129 { | |
130 - dma_unmap_single(dev, | |
131 - self->dma_handle, | |
132 - skb_headlen(${local.skb.k_sk_buff}), | |
112 | 133 - direction); |
117 | 134 - self->dma_handle = 0; |
135 + unsigned int len = skb_headlen(${local.self.sk_buff.k_sk_buff}); | |
136 + ${cast local.len as Builtin::number}; | |
137 + ${DMA::unmap(local.dev, local.self.dma_handle, local.len, local.direction)}; | |
138 + ${local.self.dma_handle} = 0; | |
112 | 139 } |
117 | 140 - dev_kfree_skb_any(${local.skb.k_sk_buff}); |
141 - self->skbuff = 0; | |
142 + dev_kfree_skb_any(${local.self.sk_buff.k_sk_buff}); | |
143 + ${local.self.sk_buff} = NULL; | |
144 } | |
145 } | |
146 | |
147 @@ -115,8 +107,8 @@ | |
148 */ | |
149 method init(Socket::AbstractSKBuff kernel_skb) | |
150 { | |
151 - ${self}.skbuff = ${kernel_skb}; | |
152 - ${self}.dma_handle = 0; | |
153 + ${self.sk_buff} = ${kernel_skb}; | |
154 + ${self.dma_handle} = 0; | |
155 } | |
156 | |
157 method dump_infos() | |
158 @@ -126,30 +118,37 @@ | |
112 | 159 |
160 method map_to(Device::AbstractDevice dev) | |
161 { | |
162 - 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
|
163 + rtx_socket_skbuff_map(${self}, ${dev}, RTX_DMA_TO_DEVICE); |
112 | 164 } |
165 | |
166 method map_from(Device::AbstractDevice dev) | |
167 { | |
168 - rtx_socket_skbuff_map(${self}, ${dev.k_device}, DMA_FROM_DEVICE); | |
117 | 169 + rtx_socket_skbuff_map(${self}, ${dev}, RTX_DMA_FROM_DEVICE); |
112 | 170 } |
171 | |
172 method unmap_to_and_free(Device::AbstractDevice dev) | |
173 { | |
174 - rtx_socket_skbuff_unmap_and_free(${self}, ${dev.k_device}, DMA_TO_DEVICE); | |
117 | 175 + rtx_socket_skbuff_unmap_and_free(${self}, ${dev}, RTX_DMA_TO_DEVICE); |
112 | 176 } |
177 | |
178 method unmap_from_and_free(Device::AbstractDevice dev) | |
179 { | |
180 - rtx_socket_skbuff_unmap_and_free(${self}, ${dev.k_device}, DMA_FROM_DEVICE); | |
117 | 181 + rtx_socket_skbuff_unmap_and_free(${self}, ${dev}, RTX_DMA_FROM_DEVICE); |
112 | 182 } |
183 | |
184 map | |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
185 { |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
186 - // 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
|
187 - // 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
|
188 - // 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
|
189 - // 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
|
190 + // 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
|
191 + // 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
|
192 + // 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
|
193 + // useful for internal use: |
117 | 194 + sk_buff: (${self})->skbuff; |
195 + // XXX: We need to cast here so we can do things like | |
196 + // var.dma_handle = 0; but the type shouldn't be hardcoded (at the | |
197 + // same time ${DMA:AbstractDMAHandle} couldn't be used because that | |
198 + // would yield to a struct type which you can't assign directly; | |
199 + // 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
|
200 + 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
|
201 } |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
202 } |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
203 } |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
204 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
|
205 --- 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
|
206 +++ 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
|
207 @@ -1,4 +1,4 @@ |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
208 -interface Socket : LKM, Device |
121
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
209 +interface Socket : LKM, Device, DMA, Builtin |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
210 { |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
211 /* 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
|
212 provided type AbstractSKBuff |
121
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
213 @@ -10,14 +10,17 @@ |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
214 |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
215 provided type SKBuff |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
216 { |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
217 - chunk LKM::prototypes(); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
218 - chunk LKM::code(); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
219 - decl data_types(); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
220 - method init(Socket::AbstractSKBuff); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
221 - method dump_infos(); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
222 - method map_to(Device::AbstractDevice); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
223 - method map_from(Device::AbstractDevice); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
224 - method unmap_to_and_free(Device::AbstractDevice); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
225 - method unmap_from_and_free(Device::AbstractDevice); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
226 + chunk LKM::prototypes(); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
227 + chunk LKM::code(); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
228 + decl data_types(); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
229 + method init(Socket::AbstractSKBuff); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
230 + method dump_infos(); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
231 + method map_to(Device::AbstractDevice); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
232 + method map_from(Device::AbstractDevice); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
233 + method unmap_to_and_free(Device::AbstractDevice); |
6f600f83a763
WIP, fix Ethernet::Device::alloc_rx_skbuff
Louis Opter <louis@lse.epita.fr>
parents:
120
diff
changeset
|
234 + method unmap_from_and_free(Device::AbstractDevice); |
113
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
235 + |
117 | 236 + attribute Socket::AbstractSKBuff.ref sk_buff; |
237 + 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
|
238 } |
b22983cb9e3a
WIP, thanks joa for some fixes on the compiler
Louis Opter <louis@lse.epita.fr>
parents:
112
diff
changeset
|
239 } |