[bootlin/training-materials updates] master: Misc kernel slide improvements (c96f43e8)

Michael Opdenacker michael.opdenacker at bootlin.com
Tue Dec 8 08:54:24 CET 2020


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/c96f43e821d4f47697ad56c7708bee0980b4e9f1

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

commit c96f43e821d4f47697ad56c7708bee0980b4e9f1
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Tue Dec 8 08:54:24 2020 +0100

    Misc kernel slide improvements
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


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

c96f43e821d4f47697ad56c7708bee0980b4e9f1
 .../kernel-source-code-drivers.tex                           | 12 +++++++-----
 .../kernel-source-code-layout/kernel-source-code-layout.tex  |  4 ++--
 slides/sysdev-kernel-building/sysdev-kernel-building.tex     |  7 +++++--
 3 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex b/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex
index 21f09ab4..40abdd82 100644
--- a/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex
+++ b/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex
@@ -3,8 +3,7 @@
 \begin{frame}
   \frametitle{Programming language}
   \begin{itemize}
-  \item Implemented in C like all UNIX systems. (C was created to
-    implement the first UNIX systems)
+  \item Implemented in C like all UNIX systems
   \item A little Assembly is used too:
     \begin{itemize}
     \item CPU and machine initialization, exceptions
@@ -16,9 +15,12 @@
     \item Many gcc specific extensions used in the kernel code, any
       ANSI C compiler will not compile the kernel
     \item See
-      \url{https://gcc.gnu.org/onlinedocs/gcc-6.2.0/gcc/C-Extensions.html}
+      \url{https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gcc/C-Extensions.html}
     \end{itemize}
-    \item Ongoing work to compile the kernel with the LLVM C compiler too.
+    \item Ongoing work to compile the kernel with the LLVM C compiler
+      (Clang) too: \url{https://clangbuiltlinux.github.io/}
+    \item There are also plans to create new code in Rust too:
+      \url{https://lwn.net/Articles/829858/}
   \end{itemize}
 \end{frame}
 
@@ -96,7 +98,7 @@
   \item The kernel doesn't try to recover from attemps to access illegal
     memory locations. It just dumps {\em oops} messages on the system console.
   \item Fixed size stack (8 or 4 KB). Unlike in user space, no mechanism
-    was implemented to make it grow.
+    was implemented to make it grow. Don't use recursion!
   \item Swapping is not implemented for kernel memory either.
   \end{itemize}
 \end{frame}
diff --git a/slides/kernel-source-code-layout/kernel-source-code-layout.tex b/slides/kernel-source-code-layout/kernel-source-code-layout.tex
index ea7c6311..e744d9a3 100644
--- a/slides/kernel-source-code-layout/kernel-source-code-layout.tex
+++ b/slides/kernel-source-code-layout/kernel-source-code-layout.tex
@@ -77,7 +77,7 @@
     \end{itemize}
   \item \kdir{ipc}
     \begin{itemize}
-    \item Code used for process communication
+    \item Code used for Inter Process Communication
     \end{itemize}
   \item \kfile{Kbuild}
     \begin{itemize}
@@ -119,7 +119,7 @@
     \end{itemize}
   \item \kfile{README}
     \begin{itemize}
-    \item Overview and building instructions
+    \item Description of kernel documentation
     \end{itemize}
   \item \kdir{samples}
     \begin{itemize}
diff --git a/slides/sysdev-kernel-building/sysdev-kernel-building.tex b/slides/sysdev-kernel-building/sysdev-kernel-building.tex
index 96d9402a..b61d7bc2 100644
--- a/slides/sysdev-kernel-building/sysdev-kernel-building.tex
+++ b/slides/sysdev-kernel-building/sysdev-kernel-building.tex
@@ -164,8 +164,11 @@
     \item {\em false} (to exclude the feature)
     \end{itemize}
   \item \code{int} options, to specify integer values
-  \item \code{hex} options, to specify hexadecimal values
-  \item \code{string} options, to specify string values
+  \item \code{hex} options, to specify hexadecimal values\\
+    Example: \kconfigval{CONFIG_PAGE_OFFSET}{0xC0000000}
+  \item \code{string} options, to specify string values\\
+    Example: \kconfigval{CONFIG_LOCALVERSION}{-no-network}\\
+    Useful to distinguish between two kernels built from different options
   \end{itemize}
 \end{frame}
 




More information about the training-materials-updates mailing list