[bootlin/training-materials updates] master: Boot-time: details about the kernel load address (e3708112)
Michael Opdenacker
michael.opdenacker at bootlin.com
Thu Feb 23 19:57:24 CET 2023
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/e3708112119ebd7cae982b59c26a25040a55743b
>---------------------------------------------------------------
commit e3708112119ebd7cae982b59c26a25040a55743b
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date: Thu Feb 23 19:57:13 2023 +0100
Boot-time: details about the kernel load address
Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>
>---------------------------------------------------------------
e3708112119ebd7cae982b59c26a25040a55743b
.../boot-time-bootloader/boot-time-bootloader.tex | 21 +++++++++++++++++++++
slides/boot-time-bootloader/kernel-overlap.dia | Bin 0 -> 2547 bytes
slides/boot-time-bootloader/no-kernel-overlap.dia | Bin 0 -> 1601 bytes
3 files changed, 21 insertions(+)
diff --git a/slides/boot-time-bootloader/boot-time-bootloader.tex b/slides/boot-time-bootloader/boot-time-bootloader.tex
index 6eb4766c..e066fced 100644
--- a/slides/boot-time-bootloader/boot-time-bootloader.tex
+++ b/slides/boot-time-bootloader/boot-time-bootloader.tex
@@ -75,3 +75,24 @@ This saved 56 ms on this ARM9 system (400 MHz)!
filesystem, which knows how big the file is.
\end{itemize}
\end{frame}
+
+\begin{frame}
+\frametitle{Bootloader: watch the compressed kernel load address}
+ On ARM32, the uncompressed kernel is usually started at offset
+ 0x8000 from the start of RAM. Load the compressed kernel at a far
+ enough address!
+\vspace{0.5cm}
+\begin{center}
+ \includegraphics[width=\textwidth]{slides/boot-time-bootloader/kernel-overlap.pdf}
+\end{center}
+\footnotesize Source: \url{https://people.kernel.org/linusw/how-the-arm32-linux-kernel-decompresses}
+\end{frame}
+
+\begin{frame}
+\frametitle{Bootloader: load the compressed kernel far enough}
+On ARM32, a usual kernel load address is at offset 0x01000000 (16 MB)
+\begin{center}
+ \includegraphics[height=0.6\textheight]{slides/boot-time-bootloader/no-kernel-overlap.pdf}
+\end{center}
+Tests on STM32MP157A (650 MHz): an overlap increases boot time by 107 ms.
+\end{frame}
diff --git a/slides/boot-time-bootloader/kernel-overlap.dia b/slides/boot-time-bootloader/kernel-overlap.dia
new file mode 100644
index 00000000..de31a62f
Binary files /dev/null and b/slides/boot-time-bootloader/kernel-overlap.dia differ
diff --git a/slides/boot-time-bootloader/no-kernel-overlap.dia b/slides/boot-time-bootloader/no-kernel-overlap.dia
new file mode 100644
index 00000000..1860341a
Binary files /dev/null and b/slides/boot-time-bootloader/no-kernel-overlap.dia differ
More information about the training-materials-updates
mailing list