[FE training-materials-updates] Misc kernel slides updates and improvements

Michael Opdenacker michael.opdenacker at free-electrons.com
Mon May 22 11:46:08 CEST 2017


Repository : git://git.free-electrons.com/training-materials.git
On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=ea0f379a134dbaf80f28da2aff13ca35f44d2329

>---------------------------------------------------------------

commit ea0f379a134dbaf80f28da2aff13ca35f44d2329
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date:   Mon May 22 11:46:08 2017 +0200

    Misc kernel slides updates and improvements
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>


>---------------------------------------------------------------

ea0f379a134dbaf80f28da2aff13ca35f44d2329
 .../kernel-driver-development-io-memory.tex        |   6 +-
 .../kernel-driver-development-memory.tex           |   8 +-
 slides/kernel-frameworks2/kernel-frameworks2.tex   |  11 +-
 .../kernel-frameworks2/user-kernel-exchanges.dia   | 234 ++++++++++++++-------
 .../kernel-misc-subsystem.tex                      |   6 +-
 .../arm64-soc-support-checklist.png                | Bin 0 -> 51871 bytes
 .../kernel-porting-content.tex                     |   3 +
 .../eudyptula-challenge-logo.png                   | Bin 14378 -> 0 bytes
 .../kernel-resources-references.tex                |   8 +-
 9 files changed, 185 insertions(+), 91 deletions(-)

diff --git a/slides/kernel-driver-development-io-memory/kernel-driver-development-io-memory.tex b/slides/kernel-driver-development-io-memory/kernel-driver-development-io-memory.tex
index edcde3d..ab06b30 100644
--- a/slides/kernel-driver-development-io-memory/kernel-driver-development-io-memory.tex
+++ b/slides/kernel-driver-development-io-memory/kernel-driver-development-io-memory.tex
@@ -251,9 +251,9 @@ __raw_writel(1 << KS8695_IRQ_UART_TX,
     address.
   \item Used by applications such as the X server to write directly to
     device memory.
-  \item On \code{x86}, \code{arm}, \code{arm64}, \code{tile},
-    \code{powerpc}, \code{unicore32}, \code{s390}:
+  \item On \code{x86}, \code{arm}, \code{arm64}, \code{frv}, \code{m32r},
+    \code{powerpc}, \code{s390}, \code{tile} and \code{unicore32}:
     \code{CONFIG_STRICT_DEVMEM} option to restrict \code{/dev/mem}
-    non-RAM addresses, for security reasons (Linux 3.10 status).
+    to non-RAM addresses, for security reasons (Linux 4.12 status).
 \end{itemize}
 \end{frame}
diff --git a/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex b/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
index cb9c086..c54cea0 100644
--- a/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
+++ b/slides/kernel-driver-development-memory/kernel-driver-development-memory.tex
@@ -51,9 +51,9 @@
     by user space
   \item To allow the kernel to access more physical memory:
     \begin{itemize}
-    \item Change 1GB/3GB memory split (2GB/2GB)
-      (\code{CONFIG_VMSPLIT_3G)} $\Rightarrow$ reduces total memory
-      available for each process
+    \item Change the 1GB/3GB memory split to 2GB/2GB or 1GB/3GB
+      (\code{CONFIG_VMSPLIT_2G} or \code{CONFIG_VMSPLIT_1G)}
+      $\Rightarrow$ reduce total user memory available for each process
     \item Change for a 64 bit architecture ;-) See
       \kerneldoctext{x86/x86_64/mm.txt} for an example.
     \item Activate \emph{highmem} support if available for your
@@ -205,7 +205,7 @@
 \begin{frame}
   \frametitle{SLAB Allocator 1/2}
   \begin{itemize}
-  \item The SLAB allocator allows to create caches, which contains a
+  \item The SLAB allocator allows to create caches, which contain a
     set of objects of the same size
   \item The object size can be smaller or greater than the page size
   \item The SLAB allocator takes care of growing or reducing the size
diff --git a/slides/kernel-frameworks2/kernel-frameworks2.tex b/slides/kernel-frameworks2/kernel-frameworks2.tex
index b40d35d..7f9dbc0 100644
--- a/slides/kernel-frameworks2/kernel-frameworks2.tex
+++ b/slides/kernel-frameworks2/kernel-frameworks2.tex
@@ -53,6 +53,8 @@ struct file_operations {
   \item \mint{c}+int foo_open(struct inode *i, struct file *f)+
     \begin{itemize}
     \item Called when user space opens the device file.
+    \item {\bf Only implement this function when you do something
+          special with the device at \code{open()} time.}
     \item \kstruct{inode} is a structure that uniquely represents a file
       in the system (be it a regular file, a directory, a symbolic
       link, a character or block device)
@@ -71,6 +73,8 @@ struct file_operations {
   \item \mint{c}+int foo_release(struct inode *i, struct file *f)+
     \begin{itemize}
     \item Called when user space closes the file.
+    \item {\bf Only implement this function when you do something
+          special with the device at \code{close()} time.}
     \end{itemize}
   \end{itemize}
 \end{frame}
@@ -296,16 +300,15 @@ int main(void)
       \end{itemize}
     \end{itemize}
   \item Implemented in C files in \kdir{drivers/video/fbdev/core}
-  \item Implements a single character driver and defines the
-    user/kernel API
+  \item Defines the user/kernel API
     \begin{itemize}
-    \item First part of \kfile{include/uapi/linux/fb.h}
+    \item \kfile{include/uapi/linux/fb.h}
     \end{itemize}
   \item Defines the set of operations a framebuffer driver must
     implement and helper functions for the drivers
     \begin{itemize}
     \item \kstruct{fb_ops}
-    \item Second part of \kfile{include/linux/fb.h}
+    \item \kfile{include/linux/fb.h}
     \end{itemize}
   \end{itemize}
 \end{frame}
diff --git a/slides/kernel-frameworks2/user-kernel-exchanges.dia b/slides/kernel-frameworks2/user-kernel-exchanges.dia
index 0c12d22..cd9224d 100644
--- a/slides/kernel-frameworks2/user-kernel-exchanges.dia
+++ b/slides/kernel-frameworks2/user-kernel-exchanges.dia
@@ -2,10 +2,10 @@
 <dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
   <dia:diagramdata>
     <dia:attribute name="background">
-      <dia:color val="#ffffff"/>
+      <dia:color val="#ffffffff"/>
     </dia:attribute>
     <dia:attribute name="pagebreak">
-      <dia:color val="#000099"/>
+      <dia:color val="#000099ff"/>
     </dia:attribute>
     <dia:attribute name="paper">
       <dia:composite type="paper">
@@ -37,6 +37,9 @@
     </dia:attribute>
     <dia:attribute name="grid">
       <dia:composite type="grid">
+        <dia:attribute name="dynamic">
+          <dia:boolean val="true"/>
+        </dia:attribute>
         <dia:attribute name="width_x">
           <dia:real val="1"/>
         </dia:attribute>
@@ -53,7 +56,7 @@
       </dia:composite>
     </dia:attribute>
     <dia:attribute name="color">
-      <dia:color val="#d8e5e5"/>
+      <dia:color val="#d8e5e5ff"/>
     </dia:attribute>
     <dia:attribute name="guides">
       <dia:composite type="guides">
@@ -61,8 +64,27 @@
         <dia:attribute name="vguides"/>
       </dia:composite>
     </dia:attribute>
+    <dia:attribute name="display">
+      <dia:composite type="display">
+        <dia:attribute name="antialiased">
+          <dia:boolean val="false"/>
+        </dia:attribute>
+        <dia:attribute name="snap-to-grid">
+          <dia:boolean val="false"/>
+        </dia:attribute>
+        <dia:attribute name="snap-to-object">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+        <dia:attribute name="show-grid">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+        <dia:attribute name="show-connection-points">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+      </dia:composite>
+    </dia:attribute>
   </dia:diagramdata>
-  <dia:layer name="Arrière-plan" visible="true" active="true">
+  <dia:layer name="Arrière-plan" visible="true" connectable="true" active="true">
     <dia:object type="Standard - Box" version="0" id="O0">
       <dia:attribute name="obj_pos">
         <dia:point val="12,5.05"/>
@@ -83,10 +105,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#d9cb2f"/>
+        <dia:color val="#d9cb2fff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#fff8a8"/>
+        <dia:color val="#fff8a8ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -112,10 +134,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#a34804"/>
+        <dia:color val="#a34804ff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#ffd192"/>
+        <dia:color val="#ffd192ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -141,10 +163,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#a34804"/>
+        <dia:color val="#a34804ff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#ffd192"/>
+        <dia:color val="#ffd192ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -170,10 +192,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#d9cb2f"/>
+        <dia:color val="#d9cb2fff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#fff8a8"/>
+        <dia:color val="#fff8a8ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -194,7 +216,7 @@
         <dia:int val="1"/>
       </dia:attribute>
       <dia:attribute name="line_color">
-        <dia:color val="#cc1f1a"/>
+        <dia:color val="#cc1f1aff"/>
       </dia:attribute>
     </dia:object>
     <dia:object type="Standard - Box" version="0" id="O5">
@@ -217,10 +239,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#6a8954"/>
+        <dia:color val="#6a8954ff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#c5e387"/>
+        <dia:color val="#c5e387ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -246,10 +268,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#6a8954"/>
+        <dia:color val="#6a8954ff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#c5e387"/>
+        <dia:color val="#c5e387ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -275,10 +297,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#2f004a"/>
+        <dia:color val="#2f004aff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#efb9ff"/>
+        <dia:color val="#efb9ffff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -304,10 +326,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#2f004a"/>
+        <dia:color val="#2f004aff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#efb9ff"/>
+        <dia:color val="#efb9ffff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -335,7 +357,7 @@
             <dia:point val="16,8.3575"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="1"/>
@@ -371,7 +393,7 @@
             <dia:point val="23,8.3575"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="1"/>
@@ -407,7 +429,7 @@
             <dia:point val="19.5,6.2025"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="1"/>
@@ -443,7 +465,7 @@
             <dia:point val="19.5,13.2075"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="1"/>
@@ -462,7 +484,7 @@
         <dia:point val="23,9"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="21.8502,8.93675;23.0632,12.1061"/>
+        <dia:rectangle val="21.8856,8.93675;23.0632,12.0632"/>
       </dia:attribute>
       <dia:attribute name="conn_endpoints">
         <dia:point val="23,9"/>
@@ -489,7 +511,7 @@
         <dia:point val="16,9"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="15.9368,8.93675;17.1498,12.1061"/>
+        <dia:rectangle val="15.9368,8.93675;17.1144,12.0632"/>
       </dia:attribute>
       <dia:attribute name="conn_endpoints">
         <dia:point val="16,9"/>
@@ -516,7 +538,7 @@
         <dia:point val="17,14"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="16.6382,13.95;17.3618,16.1118"/>
+        <dia:rectangle val="16.6382,13.95;17.3618,16.05"/>
       </dia:attribute>
       <dia:attribute name="conn_endpoints">
         <dia:point val="17,14"/>
@@ -540,7 +562,7 @@
         <dia:point val="22,14"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="21.6382,13.95;22.3618,16.1118"/>
+        <dia:rectangle val="21.6382,13.95;22.3618,16.05"/>
       </dia:attribute>
       <dia:attribute name="conn_endpoints">
         <dia:point val="22,14"/>
@@ -564,7 +586,7 @@
         <dia:point val="17,18"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="15.7954,17.9395;17.0605,22.1585"/>
+        <dia:rectangle val="15.8222,17.9395;17.0605,22.1105"/>
       </dia:attribute>
       <dia:attribute name="conn_endpoints">
         <dia:point val="17,18"/>
@@ -591,7 +613,7 @@
         <dia:point val="22,18"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="21.9395,17.9395;23.2046,22.1585"/>
+        <dia:rectangle val="21.9395,17.9395;23.1778,22.1105"/>
       </dia:attribute>
       <dia:attribute name="conn_endpoints">
         <dia:point val="22,18"/>
@@ -635,7 +657,7 @@
             <dia:point val="19.5,17.2575"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="1"/>
@@ -671,7 +693,7 @@
             <dia:point val="16,23.1325"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="1"/>
@@ -707,7 +729,7 @@
             <dia:point val="23,23.1325"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="1"/>
@@ -743,7 +765,7 @@
             <dia:point val="19.45,21.2875"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="1"/>
@@ -759,12 +781,12 @@
         <dia:point val="26,8"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="24.8882,7.95;30.05,25.4618"/>
+        <dia:rectangle val="24.95,7.95;34.075,25.4618"/>
       </dia:attribute>
       <dia:attribute name="orth_points">
         <dia:point val="26,8"/>
-        <dia:point val="30,8"/>
-        <dia:point val="30,25.1"/>
+        <dia:point val="34.025,8"/>
+        <dia:point val="34.025,25.1"/>
         <dia:point val="25,25.1"/>
       </dia:attribute>
       <dia:attribute name="orth_orient">
@@ -776,7 +798,7 @@
         <dia:boolean val="false"/>
       </dia:attribute>
       <dia:attribute name="line_color">
-        <dia:color val="#6a8954"/>
+        <dia:color val="#6a8954ff"/>
       </dia:attribute>
       <dia:attribute name="end_arrow">
         <dia:enum val="22"/>
@@ -794,16 +816,16 @@
     </dia:object>
     <dia:object type="Standard - ZigZagLine" version="1" id="O24">
       <dia:attribute name="obj_pos">
-        <dia:point val="13.9629,25.1"/>
+        <dia:point val="14,25.1"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="8.95,7.6382;14.0129,25.15"/>
+        <dia:rectangle val="5.825,7.6382;14.05,25.15"/>
       </dia:attribute>
       <dia:attribute name="orth_points">
-        <dia:point val="13.9629,25.1"/>
-        <dia:point val="9,25.1"/>
-        <dia:point val="9,8"/>
-        <dia:point val="13,8"/>
+        <dia:point val="14,25.1"/>
+        <dia:point val="5.875,25.1"/>
+        <dia:point val="5.875,8"/>
+        <dia:point val="13.1,8"/>
       </dia:attribute>
       <dia:attribute name="orth_orient">
         <dia:enum val="0"/>
@@ -814,7 +836,7 @@
         <dia:boolean val="false"/>
       </dia:attribute>
       <dia:attribute name="line_color">
-        <dia:color val="#6a8954"/>
+        <dia:color val="#6a8954ff"/>
       </dia:attribute>
       <dia:attribute name="end_arrow">
         <dia:enum val="22"/>
@@ -825,17 +847,13 @@
       <dia:attribute name="end_arrow_width">
         <dia:real val="0.5"/>
       </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O33" connection="8"/>
-        <dia:connection handle="1" to="O1" connection="3"/>
-      </dia:connections>
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O25">
       <dia:attribute name="obj_pos">
-        <dia:point val="31,15"/>
+        <dia:point val="27.75,24.1"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="31,14.38;36.805,15.62"/>
+        <dia:rectangle val="27.75,23.48;33.555,24.72"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -849,10 +867,10 @@
             <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="31,15.3575"/>
+            <dia:point val="27.75,24.4575"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="0"/>
@@ -865,10 +883,10 @@
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O26">
       <dia:attribute name="obj_pos">
-        <dia:point val="8,15"/>
+        <dia:point val="11.35,24.1"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="3.1125,14.38;8,15.62"/>
+        <dia:rectangle val="6.4625,23.48;11.35,24.72"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
@@ -882,10 +900,10 @@
             <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="8,15.3575"/>
+            <dia:point val="11.35,24.4575"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="2"/>
@@ -916,10 +934,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#868686"/>
+        <dia:color val="#868686ff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#e5e5e5"/>
+        <dia:color val="#e5e5e5ff"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -947,7 +965,7 @@
             <dia:point val="19.45,30.3275"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="1"/>
@@ -963,7 +981,7 @@
         <dia:point val="22.95,26.15"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="22.5483,26.0992;23.2718,29.3118"/>
+        <dia:rectangle val="22.5501,26.0992;23.2736,29.2508"/>
       </dia:attribute>
       <dia:attribute name="conn_endpoints">
         <dia:point val="22.95,26.15"/>
@@ -987,7 +1005,7 @@
         <dia:point val="15.95,29.15"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="15.6282,25.9882;16.3517,29.2008"/>
+        <dia:rectangle val="15.6264,26.0492;16.3499,29.2008"/>
       </dia:attribute>
       <dia:attribute name="conn_endpoints">
         <dia:point val="15.95,29.15"/>
@@ -1028,7 +1046,7 @@
             <dia:point val="15.25,28.1575"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="2"/>
@@ -1061,7 +1079,7 @@
             <dia:point val="25.45,28.1075"/>
           </dia:attribute>
           <dia:attribute name="color">
-            <dia:color val="#000000"/>
+            <dia:color val="#000000ff"/>
           </dia:attribute>
           <dia:attribute name="alignment">
             <dia:enum val="2"/>
@@ -1073,6 +1091,10 @@
       </dia:attribute>
     </dia:object>
     <dia:group>
+      <dia:attribute name="meta">
+        <dia:composite type="dict"/>
+      </dia:attribute>
+      <dia:attribute name="matrix"/>
       <dia:object type="Standard - Box" version="0" id="O33">
         <dia:attribute name="obj_pos">
           <dia:point val="14,24.1"/>
@@ -1093,10 +1115,10 @@
           <dia:real val="0.10000000149011612"/>
         </dia:attribute>
         <dia:attribute name="border_color">
-          <dia:color val="#cc1f1a"/>
+          <dia:color val="#cc1f1aff"/>
         </dia:attribute>
         <dia:attribute name="inner_color">
-          <dia:color val="#ffacac"/>
+          <dia:color val="#ffacacff"/>
         </dia:attribute>
         <dia:attribute name="show_background">
           <dia:boolean val="true"/>
@@ -1124,7 +1146,7 @@
               <dia:point val="16.1,25.2875"/>
             </dia:attribute>
             <dia:attribute name="color">
-              <dia:color val="#000000"/>
+              <dia:color val="#000000ff"/>
             </dia:attribute>
             <dia:attribute name="alignment">
               <dia:enum val="1"/>
@@ -1137,6 +1159,10 @@
       </dia:object>
     </dia:group>
     <dia:group>
+      <dia:attribute name="meta">
+        <dia:composite type="dict"/>
+      </dia:attribute>
+      <dia:attribute name="matrix"/>
       <dia:object type="Standard - Box" version="0" id="O35">
         <dia:attribute name="obj_pos">
           <dia:point val="21,24.1"/>
@@ -1157,10 +1183,10 @@
           <dia:real val="0.10000000149011612"/>
         </dia:attribute>
         <dia:attribute name="border_color">
-          <dia:color val="#cc1f1a"/>
+          <dia:color val="#cc1f1aff"/>
         </dia:attribute>
         <dia:attribute name="inner_color">
-          <dia:color val="#ffacac"/>
+          <dia:color val="#ffacacff"/>
         </dia:attribute>
         <dia:attribute name="show_background">
           <dia:boolean val="true"/>
@@ -1188,7 +1214,7 @@
               <dia:point val="23.1,25.2875"/>
             </dia:attribute>
             <dia:attribute name="color">
-              <dia:color val="#000000"/>
+              <dia:color val="#000000ff"/>
             </dia:attribute>
             <dia:attribute name="alignment">
               <dia:enum val="1"/>
@@ -1200,5 +1226,71 @@
         </dia:attribute>
       </dia:object>
     </dia:group>
+    <dia:object type="Standard - Text" version="1" id="O37">
+      <dia:attribute name="obj_pos">
+        <dia:point val="11.0825,13.62"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="7.4525,13;11.0825,14.24"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#user space#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="Latin Modern Sans" style="0" name="Courier"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="1.0583332926034927"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="11.0825,13.9775"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#cc1f1aff"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="2"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+      <dia:attribute name="valign">
+        <dia:enum val="2"/>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="1" id="O38">
+      <dia:attribute name="obj_pos">
+        <dia:point val="11.075,16.02"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="6.8,15.4;11.075,16.64"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#kernel space#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="Latin Modern Sans" style="0" name="Courier"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="1.0583332926034927"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="11.075,16.3775"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#cc1f1aff"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="2"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+      <dia:attribute name="valign">
+        <dia:enum val="2"/>
+      </dia:attribute>
+    </dia:object>
   </dia:layer>
 </dia:diagram>
diff --git a/slides/kernel-misc-subsystem/kernel-misc-subsystem.tex b/slides/kernel-misc-subsystem/kernel-misc-subsystem.tex
index 0fde3a5..f8e617c 100644
--- a/slides/kernel-misc-subsystem/kernel-misc-subsystem.tex
+++ b/slides/kernel-misc-subsystem/kernel-misc-subsystem.tex
@@ -71,9 +71,9 @@ struct miscdevice  {
     assigned.
   \item \code{name}, name of the device, which will be used to create
     the device node if {\em devtmpfs} is used.
-  \item \code{fops}, pointer to a \kstruct{file_operations} structure, that
-    describes which functions implement the {\em read}, {\em write},
-    {\em ioctl}, etc. operations.
+  \item \code{fops}, pointer to the same \kstruct{file_operations} structure
+    that is used for raw character drivers, describing which functions
+    implement the {\em read}, {\em write}, {\em ioctl}, etc. operations.
   \end{itemize}
 \end{frame}
 
diff --git a/slides/kernel-porting-content/arm64-soc-support-checklist.png b/slides/kernel-porting-content/arm64-soc-support-checklist.png
new file mode 100644
index 0000000..9666df7
Binary files /dev/null and b/slides/kernel-porting-content/arm64-soc-support-checklist.png differ
diff --git a/slides/kernel-porting-content/kernel-porting-content.tex b/slides/kernel-porting-content/kernel-porting-content.tex
index d7051b9..def1c39 100644
--- a/slides/kernel-porting-content/kernel-porting-content.tex
+++ b/slides/kernel-porting-content/kernel-porting-content.tex
@@ -483,12 +483,15 @@ MACHINE_END
   \begin{columns}
     \column{0.5\textwidth}
     \begin{itemize}
+    \item Gregory Clement, Your newer ARM64 SoC Linux support check-list!\\
+          \url{http://bit.ly/2r8lHnE}
     \item Thomas Petazzoni, Your new ARM SoC Linux support check-list!\\
           \url{http://bit.ly/2ivqtDD}
     \item Our technical presentations on various kernel subsystems:\\
           \url{http://free-electrons.com/docs/}
     \end{itemize}
     \column{0.5\textwidth}
+    \includegraphics[width=\textwidth]{slides/kernel-porting-content/arm64-soc-support-checklist.png}\\
     \includegraphics[width=\textwidth]{slides/kernel-porting-content/arm-soc-support-checklist.png}
   \end{columns}
 \end{frame}
diff --git a/slides/kernel-resources-references/eudyptula-challenge-logo.png b/slides/kernel-resources-references/eudyptula-challenge-logo.png
deleted file mode 100644
index c9f2989..0000000
Binary files a/slides/kernel-resources-references/eudyptula-challenge-logo.png and /dev/null differ
diff --git a/slides/kernel-resources-references/kernel-resources-references.tex b/slides/kernel-resources-references/kernel-resources-references.tex
index 943c2fd..f4dbf9d 100644
--- a/slides/kernel-resources-references/kernel-resources-references.tex
+++ b/slides/kernel-resources-references/kernel-resources-references.tex
@@ -118,19 +118,15 @@
   \frametitle{Continue to learn after the course}
   Here are a few suggestions:
   \begin{itemize}
-  \item Do the Eudyptula Challenge: \url{http://eudyptula-challenge.org/}.
-        A series of Linux kernel programming exercises of increasing
-        complexity, up to getting patches accepted into the mainline sources.
   \item Run your labs again on your own hardware. The Nunchuk lab should
         be rather straightforward, but the serial lab will be quite different
 	if you use a different processor.
   \item Help with tasks keeping the kernel code clean and up-to-date:\\
 	\url{http://kernelnewbies.org/KernelJanitors}
+  \item Propose fixes for issues reported by the {\em Coccinelle} tool:\\
+	\code{make coccicheck}
   \item Learn by reading the kernel code by yourself, ask questions and
 	propose improvements.
   \item Implement and share drivers for your own hardware, of course!
   \end{itemize}
-  \begin{center}
-     \includegraphics[width=0.8\textwidth]{slides/kernel-resources-references/eudyptula-challenge-logo.png}
-  \end{center}
 \end{frame}




More information about the training-materials-updates mailing list