Mercurial > archived > louis > epitech > mq > rathaxes
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 + } |