annotate rathaxes_start_to_implement_the_ethernet_subsystem_in_the_lkm.patch @ 12:80cfe40c1136

WIP on the LKM sample, add a patch to work on the Ethernet subsystem
author Louis Opter <louis@lse.epitech.net>
date Fri, 06 Jan 2012 17:33:00 +0100
parents
children d00a5829811d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
1 # HG changeset patch
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
2 # Parent 44a4871708b167b49df10fc6153a73730f08287a
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
3 rathaxes: start to implement the Ethernet subsystem in linux LKM sample
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
4
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
5 diff --git a/rathaxes/samples/lkm/CMakeLists.txt b/rathaxes/samples/lkm/CMakeLists.txt
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
6 --- a/rathaxes/samples/lkm/CMakeLists.txt
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
7 +++ b/rathaxes/samples/lkm/CMakeLists.txt
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
8 @@ -1,6 +1,6 @@
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
9 ADD_RATHAXES_SOURCES(lkm lkm.rtx
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
10 - RTI log.rti lkm.rti pci.rti
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
11 - BLT log.blt lkm.blt pci.blt)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
12 + RTI log.rti lkm.rti pci.rti ethernet.rti
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
13 + BLT log.blt lkm.blt pci.blt ethernet.blt)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
14
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
15 # We can't name lkm since it's already used as the target name to generate the
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
16 # source (with ADD_RATHAXES_SOURCES).
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
17 diff --git a/rathaxes/samples/lkm/ethernet.blt b/rathaxes/samples/lkm/ethernet.blt
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
18 new file mode 100644
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
19 --- /dev/null
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
20 +++ b/rathaxes/samples/lkm/ethernet.blt
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
21 @@ -0,0 +1,116 @@
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
22 +with Ethernet, PCI, LKM
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
23 +{
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
24 + template type Ethernet::Device()
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
25 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
26 + chunk LKM::includes()
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
27 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
28 + #include <linux/netdevice.h>
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
29 + #include <linux/etherdevice.h>
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
30 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
31 + typedef int include_linux_net_system_stamp;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
32 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
33 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
34 + chunk ::decl()
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
35 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
36 + struct net_device;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
37 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
38 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
39 + chunk ::init(net_dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
40 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
41 + ${self} = ${net_dev};
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
42 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
43 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
44 + map
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
45 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
46 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
47 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
48 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
49 + template sequence Ethernet::open(Ethernet::Device dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
50 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
51 + chunk LKM::prototypes()
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
52 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
53 + static int rtx_ethernet_open(struct net_device *);
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
54 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
55 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
56 + chunk LKM::code()
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
57 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
58 + static int rtx_ethernet_open(struct net_device *dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
59 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
60 + ${pointcut ::IMPLEMENTATION};
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
61 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
62 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
63 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
64 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
65 + template sequence Ethernet::close(Ethernet::Device dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
66 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
67 + chunk LKM::prototypes()
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
68 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
69 + static int rtx_ethernet_close(struct net_device );
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
70 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
71 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
72 + chunk LKM::code()
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
73 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
74 + static int rtx_ethernet_close(struct net_device dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
75 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
76 + ${pointcut ::IMPLEMENTATION};
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
77 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
78 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
79 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
80 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
81 + template sequence Ethernet::interrupt_handler(Ethernet::Device dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
82 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
83 + /*
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
84 + * Why we can't use irqreturn_t here? (we are forced to use enum
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
85 + * irqreturn, which is the real type).
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
86 + */
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
87 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
88 + chunk LKM::prototypes()
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
89 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
90 + static enum irqreturn rtx_ethernet_interrupt_handler(int, void *);
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
91 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
92 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
93 + chunk LKM::code()
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
94 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
95 + static enum irqreturn rtx_ethernet_interrupt_handler(int irq, void *dev_id)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
96 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
97 + ${pointcut ::IMPLEMENTATION};
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
98 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
99 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
100 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
101 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
102 + template sequence Ethernet::init(PCI::Device dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
103 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
104 + chunk LKM::data()
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
105 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
106 + /*
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
107 + * This typedef is needed to workaround a bug in CNorm __std__
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
108 + * dialect.
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
109 + */
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
110 + typedef int ${Ethernet::Device};
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
111 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
112 + static ${Ethernet::Device} *rtx_net_dev = NULL;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
113 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
114 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
115 + chunk ::CALL
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
116 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
117 + /*
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
118 + * int should be replaced by the sizeof an hypothetic "context"
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
119 + * structure defined in the front-end.
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
120 + */
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
121 + rtx_net_dev = alloc_etherdev(sizeof(int));
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
122 + /*
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
123 + * if (rtx_net_dev == NULL)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
124 + * {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
125 + * // What can we do here?
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
126 + * }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
127 + */
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
128 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
129 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
130 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
131 + template sequence Ethernet::exit(PCI::Device dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
132 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
133 + chunk ::CALL
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
134 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
135 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
136 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
137 +}
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
138 diff --git a/rathaxes/samples/lkm/ethernet.rti b/rathaxes/samples/lkm/ethernet.rti
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
139 new file mode 100644
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
140 --- /dev/null
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
141 +++ b/rathaxes/samples/lkm/ethernet.rti
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
142 @@ -0,0 +1,33 @@
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
143 +interface Ethernet : PCI, LKM
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
144 +{
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
145 + provided type Ethernet::Device;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
146 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
147 + required sequence Ethernet::open(Ethernet::Device)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
148 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
149 + provided chunk LKM::prototypes;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
150 + provided chunk LKM::code;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
151 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
152 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
153 + required sequence Ethernet::close(Ethernet::Device)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
154 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
155 + provided chunk LKM::prototypes;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
156 + provided chunk LKM::code;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
157 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
158 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
159 + required sequence Ethernet::interrupt_handler(Ethernet::Device)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
160 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
161 + provided chunk LKM::prototypes;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
162 + provided chunk LKM::code;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
163 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
164 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
165 + provided sequence Ethernet::init(PCI::Device)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
166 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
167 + provided chunk LKM::data;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
168 + provided chunk ::CALL;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
169 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
170 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
171 + provided sequence Ethernet::exit(PCI::Device)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
172 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
173 + provided chunk ::CALL;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
174 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
175 +}
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
176 diff --git a/rathaxes/samples/lkm/lkm.rtx b/rathaxes/samples/lkm/lkm.rtx
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
177 --- a/rathaxes/samples/lkm/lkm.rtx
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
178 +++ b/rathaxes/samples/lkm/lkm.rtx
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
179 @@ -1,13 +1,24 @@
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
180 device LKM use LKM, PCI, Log
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
181 {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
182 + Ethernet::open(Ethernet::Device dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
183 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
184 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
185 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
186 + Ethernet::close(Ethernet::Device dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
187 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
188 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
189 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
190 + Ethernet::interrupt_handler(Ethernet::Device dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
191 + {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
192 + }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
193 +
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
194 PCI::probe(PCI::Device dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
195 {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
196 -
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
197 + Ethernet::init(dev);
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
198 }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
199
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
200 PCI::remove(PCI::Device dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
201 {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
202 -
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
203 }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
204
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
205 LKM::init()
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
206 diff --git a/rathaxes/samples/lkm/pci.blt b/rathaxes/samples/lkm/pci.blt
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
207 --- a/rathaxes/samples/lkm/pci.blt
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
208 +++ b/rathaxes/samples/lkm/pci.blt
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
209 @@ -11,15 +11,12 @@
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
210
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
211 chunk ::decl()
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
212 {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
213 - struct rtx_pci_device
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
214 - {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
215 - struct pci_dev *pci_dev;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
216 - };
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
217 + struct pci_dev;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
218 }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
219
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
220 chunk ::init(pci_dev)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
221 {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
222 - ${self}.pci_dev = pci_dev;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
223 + ${self} = ${pci_dev};
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
224 }
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
225
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
226 map
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
227 @@ -40,11 +37,7 @@
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
228 static int /* __devinit */ rtx_pci_probe(struct pci_dev *pdev,
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
229 const struct pci_device_id *pdev_id)
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
230 {
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
231 - /* workaround for CNorm __std__ dialect, shouldn't be here */
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
232 - typedef int ${PCI::Device};
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
233 -
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
234 int err;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
235 - ${PCI::Device} *dev = NULL;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
236
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
237 err = pci_enable_device(pdev);
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
238 // if (err < 0) /* `if' doesn't work */
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
239 @@ -52,8 +45,6 @@
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
240
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
241 ${pointcut ::IMPLEMENTATION};
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
242
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
243 - pci_set_drvdata(pdev, dev);
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
244 -
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
245 return 0;
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
246
80cfe40c1136 WIP on the LKM sample, add a patch to work on the Ethernet subsystem
Louis Opter <louis@lse.epitech.net>
parents:
diff changeset
247 fail: