# HG changeset patch # User Thomas Sanchez # Date 1325960368 -3600 # Node ID 65523c345b40cac827ade9946fc7cdae571e7a03 # Parent 052f9209ca09299425f29a13f5269d60bbdaabab rathaxes:: add logs diff -r 052f9209ca09 -r 65523c345b40 rathaxes_start_to_implement_pci_stuff_in_the_lkm.patch --- a/rathaxes_start_to_implement_pci_stuff_in_the_lkm.patch Sat Jan 07 18:30:20 2012 +0100 +++ b/rathaxes_start_to_implement_pci_stuff_in_the_lkm.patch Sat Jan 07 19:19:28 2012 +0100 @@ -1,10 +1,10 @@ # HG changeset patch -# Parent c08fffb84a93af26c6155c9776c5628fd556064b +# Parent 6e00628ccba9fd82577a8a30fe4e730bc982e987 rathaxes: start to implement the PCI registration part in the LKM sample -diff -r c08fffb84a93 rathaxes/samples/lkm/CMakeLists.txt ---- a/rathaxes/samples/lkm/CMakeLists.txt Sat Jan 07 18:10:31 2012 +0100 -+++ b/rathaxes/samples/lkm/CMakeLists.txt Sat Jan 07 18:13:48 2012 +0100 +diff -r 6e00628ccba9 rathaxes/samples/lkm/CMakeLists.txt +--- a/rathaxes/samples/lkm/CMakeLists.txt Sat Jan 07 19:07:39 2012 +0100 ++++ b/rathaxes/samples/lkm/CMakeLists.txt Sat Jan 07 19:10:21 2012 +0100 @@ -1,3 +1,7 @@ ADD_RATHAXES_SOURCES(lkm lkm.rtx - RTI log.rti lkm.rti @@ -15,9 +15,9 @@ +# We can't name lkm since it's already used as the target name to generate the +# source (with ADD_RATHAXES_SOURCES). +ADD_RATHAXES_LKM(lkm_hello lkm) -diff -r c08fffb84a93 rathaxes/samples/lkm/lkm.blt ---- a/rathaxes/samples/lkm/lkm.blt Sat Jan 07 18:10:31 2012 +0100 -+++ b/rathaxes/samples/lkm/lkm.blt Sat Jan 07 18:13:48 2012 +0100 +diff -r 6e00628ccba9 rathaxes/samples/lkm/lkm.blt +--- a/rathaxes/samples/lkm/lkm.blt Sat Jan 07 19:07:39 2012 +0100 ++++ b/rathaxes/samples/lkm/lkm.blt Sat Jan 07 19:10:21 2012 +0100 @@ -1,8 +1,10 @@ with LKM { @@ -82,9 +82,9 @@ } } } -diff -r c08fffb84a93 rathaxes/samples/lkm/lkm.rti ---- a/rathaxes/samples/lkm/lkm.rti Sat Jan 07 18:10:31 2012 +0100 -+++ b/rathaxes/samples/lkm/lkm.rti Sat Jan 07 18:13:48 2012 +0100 +diff -r 6e00628ccba9 rathaxes/samples/lkm/lkm.rti +--- a/rathaxes/samples/lkm/lkm.rti Sat Jan 07 19:07:39 2012 +0100 ++++ b/rathaxes/samples/lkm/lkm.rti Sat Jan 07 19:10:21 2012 +0100 @@ -1,8 +1,10 @@ interface LKM { @@ -112,9 +112,9 @@ + provided chunk LKM::code; } } -diff -r c08fffb84a93 rathaxes/samples/lkm/lkm.rtx ---- a/rathaxes/samples/lkm/lkm.rtx Sat Jan 07 18:10:31 2012 +0100 -+++ b/rathaxes/samples/lkm/lkm.rtx Sat Jan 07 18:13:48 2012 +0100 +diff -r 6e00628ccba9 rathaxes/samples/lkm/lkm.rtx +--- a/rathaxes/samples/lkm/lkm.rtx Sat Jan 07 19:07:39 2012 +0100 ++++ b/rathaxes/samples/lkm/lkm.rtx Sat Jan 07 19:10:21 2012 +0100 @@ -1,19 +1,35 @@ -device LKM use LKM, Log +device LKM use LKM, PCI, Log @@ -152,10 +152,10 @@ + PCI::vendor_id = 0x8086; + PCI::product_id = 0x100f; } -diff -r c08fffb84a93 rathaxes/samples/lkm/pci.blt +diff -r 6e00628ccba9 rathaxes/samples/lkm/pci.blt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/rathaxes/samples/lkm/pci.blt Sat Jan 07 18:13:48 2012 +0100 -@@ -0,0 +1,124 @@ ++++ b/rathaxes/samples/lkm/pci.blt Sat Jan 07 19:10:21 2012 +0100 +@@ -0,0 +1,127 @@ +with PCI, LKM, Log +{ + template type PCI::Device() @@ -246,7 +246,7 @@ + * CNorm doesn't seem to like "dynamic" arrays (i.e: you always + * have to specify the exact size). + */ -+ static struct pci_device_id rtx_pci_device_table[2] = { ++ static struct pci_device_id rtx_pci_device_table[2] = { + { ${config.vendor_id}, ${config.product_id}, 0, PCI_ANY_ID, PCI_ANY_ID }, + { 0, } + }; @@ -264,10 +264,13 @@ + /* + * So how do we use the return value in the parent context? + */ -+ pci_register_driver(&rtx_pci_driver); -+ if (pci_register_driver(&rtx_pci_driver)) ++ int error; ++ if ((error = pci_register_driver(&rtx_pci_driver))) + { -+ ${Log::info("Message")}; ++ ${Log::info("Cannot register pci driver")}; ++ // should we return here. ++ // error managmement procedure has to be determined ASAP. ++ return error; + } + } + } @@ -280,9 +283,9 @@ + } + } +} -diff -r c08fffb84a93 rathaxes/samples/lkm/pci.rti +diff -r 6e00628ccba9 rathaxes/samples/lkm/pci.rti --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/rathaxes/samples/lkm/pci.rti Sat Jan 07 18:13:48 2012 +0100 ++++ b/rathaxes/samples/lkm/pci.rti Sat Jan 07 19:10:21 2012 +0100 @@ -0,0 +1,30 @@ +interface PCI : LKM +{ diff -r 052f9209ca09 -r 65523c345b40 rathaxes_start_to_implement_sk_buff_in_the_lkm.patch --- a/rathaxes_start_to_implement_sk_buff_in_the_lkm.patch Sat Jan 07 18:30:20 2012 +0100 +++ b/rathaxes_start_to_implement_sk_buff_in_the_lkm.patch Sat Jan 07 19:19:28 2012 +0100 @@ -1,10 +1,10 @@ # HG changeset patch -# Parent c979b95fd7fbc4c38849cf42a458a50d8d2d6901 +# Parent 3af2c7465a59483f6980e4e819beb3520bc023a7 rathaxes: add sk_buff abstraction and add the implementation of the xmit function for the ethernet system. We have a fully (empty) functionnal ethernet driver -diff -r c979b95fd7fb rathaxes/samples/lkm/CMakeLists.txt ---- a/rathaxes/samples/lkm/CMakeLists.txt Sat Jan 07 12:15:32 2012 +0100 -+++ b/rathaxes/samples/lkm/CMakeLists.txt Sat Jan 07 12:46:06 2012 +0100 +diff -r 3af2c7465a59 rathaxes/samples/lkm/CMakeLists.txt +--- a/rathaxes/samples/lkm/CMakeLists.txt Sat Jan 07 19:18:24 2012 +0100 ++++ b/rathaxes/samples/lkm/CMakeLists.txt Sat Jan 07 19:19:17 2012 +0100 @@ -1,6 +1,6 @@ ADD_RATHAXES_SOURCES(lkm lkm.rtx - RTI log.rti lkm.rti pci.rti ethernet.rti @@ -14,12 +14,12 @@ # We can't name lkm since it's already used as the target name to generate the # source (with ADD_RATHAXES_SOURCES). -diff -r c979b95fd7fb rathaxes/samples/lkm/ethernet.blt ---- a/rathaxes/samples/lkm/ethernet.blt Sat Jan 07 12:15:32 2012 +0100 -+++ b/rathaxes/samples/lkm/ethernet.blt Sat Jan 07 12:46:06 2012 +0100 +diff -r 3af2c7465a59 rathaxes/samples/lkm/ethernet.blt +--- a/rathaxes/samples/lkm/ethernet.blt Sat Jan 07 19:18:24 2012 +0100 ++++ b/rathaxes/samples/lkm/ethernet.blt Sat Jan 07 19:19:17 2012 +0100 @@ -1,4 +1,4 @@ --with Ethernet, PCI, LKM -+with Ethernet, Socket, PCI, LKM +-with Ethernet, PCI, LKM, Log ++with Ethernet, Socket, PCI, LKM, Log { template type Ethernet::Device() { @@ -57,9 +57,9 @@ }; } -diff -r c979b95fd7fb rathaxes/samples/lkm/ethernet.rti ---- a/rathaxes/samples/lkm/ethernet.rti Sat Jan 07 12:15:32 2012 +0100 -+++ b/rathaxes/samples/lkm/ethernet.rti Sat Jan 07 12:46:06 2012 +0100 +diff -r 3af2c7465a59 rathaxes/samples/lkm/ethernet.rti +--- a/rathaxes/samples/lkm/ethernet.rti Sat Jan 07 19:18:24 2012 +0100 ++++ b/rathaxes/samples/lkm/ethernet.rti Sat Jan 07 19:19:17 2012 +0100 @@ -1,4 +1,4 @@ -interface Ethernet : PCI, LKM +interface Ethernet : Socket, PCI, LKM @@ -79,9 +79,9 @@ required sequence Ethernet::close(Ethernet::Device) { provided chunk LKM::prototypes; -diff -r c979b95fd7fb rathaxes/samples/lkm/lkm.rtx ---- a/rathaxes/samples/lkm/lkm.rtx Sat Jan 07 12:15:32 2012 +0100 -+++ b/rathaxes/samples/lkm/lkm.rtx Sat Jan 07 12:46:06 2012 +0100 +diff -r 3af2c7465a59 rathaxes/samples/lkm/lkm.rtx +--- a/rathaxes/samples/lkm/lkm.rtx Sat Jan 07 19:18:24 2012 +0100 ++++ b/rathaxes/samples/lkm/lkm.rtx Sat Jan 07 19:19:17 2012 +0100 @@ -15,6 +15,11 @@ Log::info("Got an interruption"); } @@ -94,9 +94,9 @@ PCI::probe(PCI::Device dev) { Log::info("Probe the device"); -diff -r c979b95fd7fb rathaxes/samples/lkm/socket.blt +diff -r 3af2c7465a59 rathaxes/samples/lkm/socket.blt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/rathaxes/samples/lkm/socket.blt Sat Jan 07 12:46:06 2012 +0100 ++++ b/rathaxes/samples/lkm/socket.blt Sat Jan 07 19:19:17 2012 +0100 @@ -0,0 +1,27 @@ +with Socket, LKM +{ @@ -125,9 +125,9 @@ + } + } +} -diff -r c979b95fd7fb rathaxes/samples/lkm/socket.rti +diff -r 3af2c7465a59 rathaxes/samples/lkm/socket.rti --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/rathaxes/samples/lkm/socket.rti Sat Jan 07 12:46:06 2012 +0100 ++++ b/rathaxes/samples/lkm/socket.rti Sat Jan 07 19:19:17 2012 +0100 @@ -0,0 +1,4 @@ +interface Socket : LKM +{ diff -r 052f9209ca09 -r 65523c345b40 rathaxes_start_to_implement_the_ethernet_subsystem_in_the_lkm.patch --- a/rathaxes_start_to_implement_the_ethernet_subsystem_in_the_lkm.patch Sat Jan 07 18:30:20 2012 +0100 +++ b/rathaxes_start_to_implement_the_ethernet_subsystem_in_the_lkm.patch Sat Jan 07 19:19:28 2012 +0100 @@ -1,10 +1,10 @@ # HG changeset patch -# Parent 2d1319eabf8acf2a7afeb6c8061d7a2c4793655f +# Parent 53c073d05449cc4cd6130bd79eb02c07239dd8d8 rathaxes: start to implement the Ethernet subsystem in linux LKM sample -diff -r 2d1319eabf8a rathaxes/samples/lkm/CMakeLists.txt ---- a/rathaxes/samples/lkm/CMakeLists.txt Sat Jan 07 18:13:48 2012 +0100 -+++ b/rathaxes/samples/lkm/CMakeLists.txt Sat Jan 07 18:27:27 2012 +0100 +diff -r 53c073d05449 rathaxes/samples/lkm/CMakeLists.txt +--- a/rathaxes/samples/lkm/CMakeLists.txt Sat Jan 07 19:10:21 2012 +0100 ++++ b/rathaxes/samples/lkm/CMakeLists.txt Sat Jan 07 19:18:24 2012 +0100 @@ -1,6 +1,6 @@ ADD_RATHAXES_SOURCES(lkm lkm.rtx - RTI log.rti lkm.rti pci.rti @@ -14,11 +14,11 @@ # We can't name lkm since it's already used as the target name to generate the # source (with ADD_RATHAXES_SOURCES). -diff -r 2d1319eabf8a rathaxes/samples/lkm/ethernet.blt +diff -r 53c073d05449 rathaxes/samples/lkm/ethernet.blt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/rathaxes/samples/lkm/ethernet.blt Sat Jan 07 18:27:27 2012 +0100 ++++ b/rathaxes/samples/lkm/ethernet.blt Sat Jan 07 19:18:24 2012 +0100 @@ -0,0 +1,173 @@ -+with Ethernet, PCI, LKM ++with Ethernet, PCI, LKM, Log +{ + template type Ethernet::Device() + { @@ -139,7 +139,7 @@ + net_dev = alloc_etherdev(sizeof(*rtx_ether_ctx)); + if (net_dev == 0) + { -+ //Log::info("Cannot allocate memory"); ++ ${Log::info("Cannot allocate memory")}; + // is it the thing to do? + return -ENOMEM; + } @@ -164,7 +164,7 @@ + net_dev->netdev_ops = &rtx_ether_ops; + if ((error = register_netdev(net_dev))) + { -+ // Log::info("Cannot register the driver"); ++ ${Log::info("Cannot register the driver")}; + // is it the thing to do? + return error; + } @@ -191,9 +191,9 @@ + } + } +} -diff -r 2d1319eabf8a rathaxes/samples/lkm/ethernet.rti +diff -r 53c073d05449 rathaxes/samples/lkm/ethernet.rti --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/rathaxes/samples/lkm/ethernet.rti Sat Jan 07 18:27:27 2012 +0100 ++++ b/rathaxes/samples/lkm/ethernet.rti Sat Jan 07 19:18:24 2012 +0100 @@ -0,0 +1,37 @@ +interface Ethernet : PCI, LKM +{ @@ -232,9 +232,9 @@ + provided chunk ::CALL; + } +} -diff -r 2d1319eabf8a rathaxes/samples/lkm/lkm.rtx ---- a/rathaxes/samples/lkm/lkm.rtx Sat Jan 07 18:13:48 2012 +0100 -+++ b/rathaxes/samples/lkm/lkm.rtx Sat Jan 07 18:27:27 2012 +0100 +diff -r 53c073d05449 rathaxes/samples/lkm/lkm.rtx +--- a/rathaxes/samples/lkm/lkm.rtx Sat Jan 07 19:10:21 2012 +0100 ++++ b/rathaxes/samples/lkm/lkm.rtx Sat Jan 07 19:18:24 2012 +0100 @@ -1,13 +1,30 @@ device LKM use LKM, PCI, Log { @@ -275,9 +275,9 @@ + + Ethernet::ifname = "rtx%d"; } -diff -r 2d1319eabf8a rathaxes/samples/lkm/pci.blt ---- a/rathaxes/samples/lkm/pci.blt Sat Jan 07 18:13:48 2012 +0100 -+++ b/rathaxes/samples/lkm/pci.blt Sat Jan 07 18:27:27 2012 +0100 +diff -r 53c073d05449 rathaxes/samples/lkm/pci.blt +--- a/rathaxes/samples/lkm/pci.blt Sat Jan 07 19:10:21 2012 +0100 ++++ b/rathaxes/samples/lkm/pci.blt Sat Jan 07 19:18:24 2012 +0100 @@ -11,15 +11,12 @@ chunk ::decl() @@ -357,17 +357,12 @@ } } } -@@ -88,9 +89,10 @@ - * CNorm doesn't seem to like "dynamic" arrays (i.e: you always +@@ -89,7 +90,7 @@ * have to specify the exact size). */ -- static struct pci_device_id rtx_pci_device_table[2] = { + static struct pci_device_id rtx_pci_device_table[2] = { - { ${config.vendor_id}, ${config.product_id}, 0, PCI_ANY_ID, PCI_ANY_ID }, -- { 0, } -+ static struct pci_device_id rtx_pci_device_table[2] = -+ { + { ${config.vendor_id}, ${config.product_id}, PCI_ANY_ID, PCI_ANY_ID }, -+ { 0, } /* Doesn't work with just { } */ + { 0, } }; - static struct pci_driver rtx_pci_driver = {