[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