comparison rathaxes_add_lkm_ethernet_sample.patch @ 42:e0cd016d4fc5

Restore the reset code and print the mac address
author Louis Opter <louis@lse.epitech.net>
date Sun, 08 Jan 2012 16:54:10 +0100
parents 87704b867fb0
children 4b51f5628787
comparison
equal deleted inserted replaced
41:87704b867fb0 42:e0cd016d4fc5
35 +ADD_RATHAXES_LKM(lkm lkm_src) 35 +ADD_RATHAXES_LKM(lkm lkm_src)
36 diff --git a/rathaxes/samples/lkm/e1000.blt b/rathaxes/samples/lkm/e1000.blt 36 diff --git a/rathaxes/samples/lkm/e1000.blt b/rathaxes/samples/lkm/e1000.blt
37 new file mode 100644 37 new file mode 100644
38 --- /dev/null 38 --- /dev/null
39 +++ b/rathaxes/samples/lkm/e1000.blt 39 +++ b/rathaxes/samples/lkm/e1000.blt
40 @@ -0,0 +1,284 @@ 40 @@ -0,0 +1,293 @@
41 +with e1000, Ethernet, Socket, PCI, LKM, Log 41 +with e1000, Ethernet, Socket, PCI, LKM, Log
42 +{ 42 +{
43 + template type e1000::Context() 43 + template type e1000::Context()
44 + { 44 + {
45 + chunk LKM::includes() 45 + chunk LKM::includes()
188 + { 188 + {
189 + ${Log::info("e1000::create: pci_ioremap_bar failed")}; 189 + ${Log::info("e1000::create: pci_ioremap_bar failed")};
190 + } 190 + }
191 + 191 +
192 + /* Reset the card */ 192 + /* Reset the card */
193 + rtx_e1000_print_status(&rtx_ether_ctx->hw_ctx); 193 + rtx_e1000_register_write32(&rtx_ether_ctx->hw_ctx, E1000_CTRL, E1000_CMD_RST);
194 + udelay(10); 194 + udelay(10);
195 + 195 +
196 + /* Now we can load its mac address */ 196 + /* Now we can load its mac address */
197 + int i = 0; 197 + int i = 0;
198 + for (i = 0 /* < this is not generated! */; i < 3; ++i) 198 + for (i = 0 /* < this is not generated! */; i < 3; ++i)
210 + } 210 + }
211 + 211 +
212 + memcpy(rtx_ether_ctx->net_dev->perm_addr, 212 + memcpy(rtx_ether_ctx->net_dev->perm_addr,
213 + rtx_ether_ctx->net_dev->dev_addr, 213 + rtx_ether_ctx->net_dev->dev_addr,
214 + rtx_ether_ctx->net_dev->addr_len); 214 + rtx_ether_ctx->net_dev->addr_len);
215 +
216 + pr_info("e1000::create: Mac Adress: %x:%x:%x:%x:%x:%x\n",
217 + rtx_ether_ctx->net_dev->dev_addr[0],
218 + rtx_ether_ctx->net_dev->dev_addr[1],
219 + rtx_ether_ctx->net_dev->dev_addr[2],
220 + rtx_ether_ctx->net_dev->dev_addr[3],
221 + rtx_ether_ctx->net_dev->dev_addr[4],
222 + rtx_ether_ctx->net_dev->dev_addr[5]);
223 +
215 + } 224 + }
216 + 225 +
217 + chunk ::CALL 226 + chunk ::CALL
218 + { 227 + {
219 + } 228 + }