changeset 25:e330b0cea45e

rathaxes: workaround resolution bug + update the license since we use pci_ioremap which is only available for gpl driver
author Thomas Sanchez <thomas.sanchz@gmail.com>
date Sat, 07 Jan 2012 20:11:27 +0100
parents 60dd543b67b0
children 8eac832f763d
files rathaxes_start_to_implement_sk_buff_in_the_lkm.patch
diffstat 1 files changed, 40 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/rathaxes_start_to_implement_sk_buff_in_the_lkm.patch	Sat Jan 07 20:02:23 2012 +0100
+++ b/rathaxes_start_to_implement_sk_buff_in_the_lkm.patch	Sat Jan 07 20:11:27 2012 +0100
@@ -1,10 +1,10 @@
 # HG changeset patch
-# Parent bffc8f046282cb07fab2c8ef86cf4fff344fdefc
+# Parent 606e807b8bc7a3a7ea6f1b895bfe909cd7875c2e
 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 --git a/rathaxes/samples/lkm/CMakeLists.txt b/rathaxes/samples/lkm/CMakeLists.txt
---- a/rathaxes/samples/lkm/CMakeLists.txt
-+++ b/rathaxes/samples/lkm/CMakeLists.txt
+diff -r 606e807b8bc7 rathaxes/samples/lkm/CMakeLists.txt
+--- a/rathaxes/samples/lkm/CMakeLists.txt	Sat Jan 07 20:02:55 2012 +0100
++++ b/rathaxes/samples/lkm/CMakeLists.txt	Sat Jan 07 20:10:46 2012 +0100
 @@ -1,6 +1,6 @@
  ADD_RATHAXES_SOURCES(lkm lkm.rtx
 -                     RTI log.rti lkm.rti pci.rti ethernet.rti
@@ -14,11 +14,10 @@
  
  # We can't name lkm since it's already used as the target name to generate the
  # source (with ADD_RATHAXES_SOURCES).
-diff --git a/rathaxes/samples/lkm/e1000.blt b/rathaxes/samples/lkm/e1000.blt
-new file mode 100644
---- /dev/null
-+++ b/rathaxes/samples/lkm/e1000.blt
-@@ -0,0 +1,49 @@
+diff -r 606e807b8bc7 rathaxes/samples/lkm/e1000.blt
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/rathaxes/samples/lkm/e1000.blt	Sat Jan 07 20:10:46 2012 +0100
+@@ -0,0 +1,57 @@
 +with e1000, Ethernet, Socket, PCI, LKM, Log
 +{
 +    template type   e1000::Context()
@@ -53,25 +52,32 @@
 +        {
 +            int bars = pci_select_bars(pdev, IORESOURCE_MEM);
 +            if (pci_enable_device_mem(pdev))
++            {
 +                ${Log::info("e1000::create: pci_enable_device_mem failed")};
++            }
 +
 +            if (pci_request_selected_regions(pdev, bars, ${config.name}))
++            {
 +                ${Log::info("e1000::create: pci_request_selected_regions failed")};
++            }
 +
 +            if (${config.set_master})
++            {
 +                pci_set_master(pdev);
++            }
 +
 +            /* 0 here is for BAR_0: */
 +            rtx_ether_ctx->hw_ctx.ioaddr = pci_ioremap_bar(pdev, 0);
 +            if (!rtx_ether_ctx->hw_ctx.ioaddr)
++            {
 +                ${Log::info("e1000::create: pci_ioremap_bar failed")};
++            }
 +        }
 +    }
 +}
-diff --git a/rathaxes/samples/lkm/e1000.rti b/rathaxes/samples/lkm/e1000.rti
-new file mode 100644
---- /dev/null
-+++ b/rathaxes/samples/lkm/e1000.rti
+diff -r 606e807b8bc7 rathaxes/samples/lkm/e1000.rti
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/rathaxes/samples/lkm/e1000.rti	Sat Jan 07 20:10:46 2012 +0100
 @@ -0,0 +1,10 @@
 +interface e1000 : Socket, Ethernet, PCI, LKM
 +{
@@ -83,9 +89,9 @@
 +        provided chunk  ::CALL;
 +    }
 +}
-diff --git a/rathaxes/samples/lkm/ethernet.blt b/rathaxes/samples/lkm/ethernet.blt
---- a/rathaxes/samples/lkm/ethernet.blt
-+++ b/rathaxes/samples/lkm/ethernet.blt
+diff -r 606e807b8bc7 rathaxes/samples/lkm/ethernet.blt
+--- a/rathaxes/samples/lkm/ethernet.blt	Sat Jan 07 20:02:55 2012 +0100
++++ b/rathaxes/samples/lkm/ethernet.blt	Sat Jan 07 20:10:46 2012 +0100
 @@ -18,8 +18,11 @@
                   * I think it's useless to use the ${PCI::Device} "abstraction"
                   * here, since we are already in a Linux specific context here.
@@ -134,9 +140,9 @@
              };
          }
  
-diff --git a/rathaxes/samples/lkm/ethernet.rti b/rathaxes/samples/lkm/ethernet.rti
---- a/rathaxes/samples/lkm/ethernet.rti
-+++ b/rathaxes/samples/lkm/ethernet.rti
+diff -r 606e807b8bc7 rathaxes/samples/lkm/ethernet.rti
+--- a/rathaxes/samples/lkm/ethernet.rti	Sat Jan 07 20:02:55 2012 +0100
++++ b/rathaxes/samples/lkm/ethernet.rti	Sat Jan 07 20:10:46 2012 +0100
 @@ -1,4 +1,4 @@
 -interface Ethernet : PCI, LKM
 +interface Ethernet : Socket, PCI, LKM
@@ -156,9 +162,9 @@
      required sequence   Ethernet::close(Ethernet::Device)
      {
          provided chunk  LKM::prototypes;
-diff --git a/rathaxes/samples/lkm/lkm.rtx b/rathaxes/samples/lkm/lkm.rtx
---- a/rathaxes/samples/lkm/lkm.rtx
-+++ b/rathaxes/samples/lkm/lkm.rtx
+diff -r 606e807b8bc7 rathaxes/samples/lkm/lkm.rtx
+--- a/rathaxes/samples/lkm/lkm.rtx	Sat Jan 07 20:02:55 2012 +0100
++++ b/rathaxes/samples/lkm/lkm.rtx	Sat Jan 07 20:10:46 2012 +0100
 @@ -15,10 +15,16 @@
          Log::info("Got an interruption");
      }
@@ -176,7 +182,12 @@
      }
  
      PCI::remove(PCI::Device dev)
-@@ -49,6 +55,7 @@
+@@ -45,10 +51,11 @@
+     LKM::name = "hello";
+     LKM::author = "Rathaxes";
+     LKM::description = "Hello World Loadable Kernel Module (LKM)";
+-    LKM::license = "BSD";
++    LKM::license = "GPL";
  
      PCI::vendor_id = 0x8086;
      PCI::product_id = 0x100f;
@@ -184,10 +195,9 @@
  
      Ethernet::ifname = "rtx%d";
  }
-diff --git a/rathaxes/samples/lkm/socket.blt b/rathaxes/samples/lkm/socket.blt
-new file mode 100644
---- /dev/null
-+++ b/rathaxes/samples/lkm/socket.blt
+diff -r 606e807b8bc7 rathaxes/samples/lkm/socket.blt
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/rathaxes/samples/lkm/socket.blt	Sat Jan 07 20:10:46 2012 +0100
 @@ -0,0 +1,27 @@
 +with Socket, LKM
 +{
@@ -216,10 +226,9 @@
 +        }
 +    }
 +}
-diff --git a/rathaxes/samples/lkm/socket.rti b/rathaxes/samples/lkm/socket.rti
-new file mode 100644
---- /dev/null
-+++ b/rathaxes/samples/lkm/socket.rti
+diff -r 606e807b8bc7 rathaxes/samples/lkm/socket.rti
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ b/rathaxes/samples/lkm/socket.rti	Sat Jan 07 20:10:46 2012 +0100
 @@ -0,0 +1,4 @@
 +interface Socket : LKM
 +{