From alexis.lothore at bootlin.com Wed Aug 14 13:18:24 2024 From: alexis.lothore at bootlin.com (=?utf-8?q?Alexis_Lothor=C3=A9?=) Date: Wed, 14 Aug 2024 11:18:24 -0000 Subject: [bootlin/training-materials updates] master: debugging: slides: move common network tools before the labs (e9337d47) Message-ID: Repository : https://github.com/bootlin/training-materials On branch : master Link : https://github.com/bootlin/training-materials/commit/e9337d47d9e858e381c21a4faf267ffa7b51c774 >--------------------------------------------------------------- commit e9337d47d9e858e381c21a4faf267ffa7b51c774 Author: Alexis Lothor? Date: Wed Jul 17 11:38:22 2024 +0200 debugging: slides: move common network tools before the labs It feels a bit weird to see all the common tools, perform the system diagnostic labs, and then find this small, isolated network tools right after, before completely changing topics. Move the common network tools before the system status lab to make it more integrated in this training part. Signed-off-by: Alexis Lothor? >--------------------------------------------------------------- e9337d47d9e858e381c21a4faf267ffa7b51c774 .../debugging-common-tools.tex | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/slides/debugging-common-tools/debugging-common-tools.tex b/slides/debugging-common-tools/debugging-common-tools.tex index d4f546f1..c5f538a8 100644 --- a/slides/debugging-common-tools/debugging-common-tools.tex +++ b/slides/debugging-common-tools/debugging-common-tools.tex @@ -481,17 +481,6 @@ Current DISK READ: 20.61 K/s | Current DISK WRITE: 24.04 K/s \end{block} \end{frame} -\setuplabframe -{System Status} -{ - Check what is running on a system and its load - \begin{itemize} - \item Observe processes and IOs - \item Display memory mappings - \item Monitor resources - \end{itemize} -} - \subsection{Networking observability tools} \begin{frame}{ss} @@ -626,3 +615,14 @@ tcp ESTAB 0 0 [2a02:...:dbdc]:38466 [2001:...:9]:i \includegraphics[height=0.88\textheight]{slides/debugging-common-tools/wireshark.png} \end{center} \end{frame} + +\setuplabframe +{System Status} +{ + Check what is running on a system and its load + \begin{itemize} + \item Observe processes and IOs + \item Display memory mappings + \item Monitor resources + \end{itemize} +} \ No newline at end of file From alexis.lothore at bootlin.com Wed Aug 14 13:18:25 2024 From: alexis.lothore at bootlin.com (=?utf-8?q?Alexis_Lothor=C3=A9?=) Date: Wed, 14 Aug 2024 11:18:25 -0000 Subject: [bootlin/training-materials updates] master: debugging: slides: make process resources wording more specific (8e6db841) Message-ID: Repository : https://github.com/bootlin/training-materials On branch : master Link : https://github.com/bootlin/training-materials/commit/8e6db841ff4e6f1345ed9c0c9492975f85489004 >--------------------------------------------------------------- commit 8e6db841ff4e6f1345ed9c0c9492975f85489004 Author: Alexis Lothor? Date: Wed Jul 17 11:40:53 2024 +0200 debugging: slides: make process resources wording more specific A process does not gain "ownership" of any file when using it. Those are file descriptors on those files which are exclusive to the process. Signed-off-by: Alexis Lothor? >--------------------------------------------------------------- 8e6db841ff4e6f1345ed9c0c9492975f85489004 .../debugging-linux-application-stack.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slides/debugging-linux-application-stack/debugging-linux-application-stack.tex b/slides/debugging-linux-application-stack/debugging-linux-application-stack.tex index a8eef736..f31bf83b 100644 --- a/slides/debugging-linux-application-stack/debugging-linux-application-stack.tex +++ b/slides/debugging-linux-application-stack/debugging-linux-application-stack.tex @@ -27,7 +27,7 @@ \item A process is a group of resources that are allocated by the operating to allow the execution of a program. \begin{itemize} - \item Memory regions, threads, files, etc. + \item Memory regions, threads, file descriptors, etc. \end{itemize} \item A process is identified by a PID ({\bf P}rocess {\bf ID}) and all the information that are specific to this process are exposed in From alexis.lothore at bootlin.com Wed Aug 14 13:18:27 2024 From: alexis.lothore at bootlin.com (=?utf-8?q?Alexis_Lothor=C3=A9?=) Date: Wed, 14 Aug 2024 11:18:27 -0000 Subject: [bootlin/training-materials updates] master: debugging: slides: mention tasklets deprecation and BH workqueues (00a7578e) Message-ID: Repository : https://github.com/bootlin/training-materials On branch : master Link : https://github.com/bootlin/training-materials/commit/00a7578ec44626636f2e0f1e3011a027b57a5754 >--------------------------------------------------------------- commit 00a7578ec44626636f2e0f1e3011a027b57a5754 Author: Alexis Lothor? Date: Wed Jul 17 12:06:55 2024 +0200 debugging: slides: mention tasklets deprecation and BH workqueues Tasklets are being slowly removed from the kernel, so it does not make sense anymore to mention it as the default solution to run code in softirq. Commit 4cb1ef64609f ("workqueue: Implement BH workqueues to eventually replace tasklets") in upstream kernel has introduced the BH workqueue, and many commits follow to convert tasklets already present in the kernel to BH workqueues. See also https://lwn.net/Articles/960041/ for details about why BH workqueues are being introduced. Signed-off-by: Alexis Lothor? >--------------------------------------------------------------- 00a7578ec44626636f2e0f1e3011a027b57a5754 .../debugging-linux-application-stack.tex | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/slides/debugging-linux-application-stack/debugging-linux-application-stack.tex b/slides/debugging-linux-application-stack/debugging-linux-application-stack.tex index f31bf83b..3c713cd1 100644 --- a/slides/debugging-linux-application-stack/debugging-linux-application-stack.tex +++ b/slides/debugging-linux-application-stack/debugging-linux-application-stack.tex @@ -426,8 +426,10 @@ root 11 2 [rcu_tasks_kthread] TS \item Same context as executing interrupt handler so sleeping is not allowed. \end{itemize} - \item Tasklets are using softirqs to execute their work so they run in the - same context and the same constraints are applied. + \item Anyone wanting to run some code in softirq context should likely not + create its own but prefer some entities implemented on top of it. There are + for example tasklets, and the BH workqueues (Bottom Half workqueues) which + aim to replace tasklets since 6.9. \end{itemize} \end{frame} From alexis.lothore at bootlin.com Wed Aug 14 13:18:29 2024 From: alexis.lothore at bootlin.com (=?utf-8?q?Alexis_Lothor=C3=A9?=) Date: Wed, 14 Aug 2024 11:18:29 -0000 Subject: [bootlin/training-materials updates] master: kernel: slides: add mention about tasklets being deprecated (bb7a302c) Message-ID: Repository : https://github.com/bootlin/training-materials On branch : master Link : https://github.com/bootlin/training-materials/commit/bb7a302cc5c854ad5d77a53dae107cfbfb0a72e1 >--------------------------------------------------------------- commit bb7a302cc5c854ad5d77a53dae107cfbfb0a72e1 Author: Alexis Lothor? Date: Thu Jul 18 13:44:35 2024 +0200 kernel: slides: add mention about tasklets being deprecated Commit 00a7578ec446 ("debugging: slides: mention tasklets deprecation and BH workqueues") made sure that the debugging training makes it clear that tasklets are being slowly removed from the kernel. Bring the same message to the kernel slides, but keeping the tasklets slides for now. Signed-off-by: Alexis Lothor? >--------------------------------------------------------------- bb7a302cc5c854ad5d77a53dae107cfbfb0a72e1 .../kernel-driver-development-interrupts.tex | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex b/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex index 0ecdad30..6a5431bb 100644 --- a/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex +++ b/slides/kernel-driver-development-interrupts/kernel-driver-development-interrupts.tex @@ -254,6 +254,10 @@ int devm_request_threaded_irq(struct device *dev, unsigned int irq, \ksym{HI_SOFTIRQ} (highest priority) \end{itemize} \end{itemize} + {\footnotesize + Note: new kernel code should not introduce any new tasklet, because tasklets are now + deprecated (since 6.9) and being slowly replaced by the new BH workqueue + (\"Bottom Half workqueue\")} \end{frame} \begin{frame}[fragile] From thomas.petazzoni at bootlin.com Wed Aug 14 13:18:31 2024 From: thomas.petazzoni at bootlin.com (Thomas Petazzoni) Date: Wed, 14 Aug 2024 11:18:31 -0000 Subject: =?utf-8?q?=5Bbootlin/training-materials_updates=5D_master=3A_slides/first?= =?utf-8?q?-slides=3A_add_slide_for_Jo=C3=A3o_=28304796c2=29?= Message-ID: Repository : https://github.com/bootlin/training-materials On branch : master Link : https://github.com/bootlin/training-materials/commit/304796c275fe604d8c325a41add65fa168e1ede4 >--------------------------------------------------------------- commit 304796c275fe604d8c325a41add65fa168e1ede4 Author: Thomas Petazzoni Date: Fri Jul 19 16:16:18 2024 +0200 slides/first-slides: add slide for Jo?o Signed-off-by: Thomas Petazzoni >--------------------------------------------------------------- 304796c275fe604d8c325a41add65fa168e1ede4 slides/first-slides/joaomarcos-costa.tex | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/slides/first-slides/joaomarcos-costa.tex b/slides/first-slides/joaomarcos-costa.tex new file mode 100644 index 00000000..b3159bd3 --- /dev/null +++ b/slides/first-slides/joaomarcos-costa.tex @@ -0,0 +1,14 @@ +\begin{frame}{Jo?o Marcos Costa} + \begin{itemize} + \item Embedded Linux engineer and trainer at {\bf Bootlin} since 2023 + \item Originally from Brazil + \item Working on embedded Linux since 2020, at {\em Instituto de + Pesquisas Eldorado} in Brazil, Witekio and Alstom in France, then + Bootlin + \item Deep expertise with the {\em Yocto Project} and {\em + OpenEmbedded}, used for multiple BSPs + \item Living in {\bf Lyon}, France + \item \code{joaomarcos.costa at bootlin.com} + \end{itemize} + {\small \url{https://bootlin.com/company/staff/joao-marcos-costa/}} +\end{frame} From miquel.raynal at bootlin.com Wed Aug 14 13:18:33 2024 From: miquel.raynal at bootlin.com (Miquel Raynal) Date: Wed, 14 Aug 2024 11:18:33 -0000 Subject: [bootlin/training-materials updates] master: bootloaders: stm32: Fix TF-A BL numbers (689ab269) Message-ID: Repository : https://github.com/bootlin/training-materials On branch : master Link : https://github.com/bootlin/training-materials/commit/689ab269b7546cef44daee3e26aa980050d819b0 >--------------------------------------------------------------- commit 689ab269b7546cef44daee3e26aa980050d819b0 Author: Miquel Raynal Date: Wed Jul 17 18:02:42 2024 +0200 bootloaders: stm32: Fix TF-A BL numbers Signed-off-by: Miquel Raynal >--------------------------------------------------------------- 689ab269b7546cef44daee3e26aa980050d819b0 common/sequence-stm32mp1.dia | 63 +++++++++++++------------ slides/sysdev-bootloaders-tf-a/stm32mp1-tfa.dia | 7 +-- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/common/sequence-stm32mp1.dia b/common/sequence-stm32mp1.dia index f08ea7e6..c06d3de1 100644 --- a/common/sequence-stm32mp1.dia +++ b/common/sequence-stm32mp1.dia @@ -88,6 +88,7 @@ + @@ -156,7 +157,7 @@ - + @@ -173,7 +174,7 @@ BL1# - + @@ -224,7 +225,7 @@ BL1# - + @@ -240,7 +241,7 @@ BL2# - + @@ -262,7 +263,7 @@ BL2# - + @@ -276,7 +277,7 @@ BL2# - + @@ -295,7 +296,7 @@ BL2# - + @@ -311,7 +312,7 @@ or fsbl2# - + @@ -330,7 +331,7 @@ or fsbl2# - + @@ -345,7 +346,7 @@ partition called fip# - + @@ -480,7 +481,7 @@ partition called fip# - + @@ -496,7 +497,7 @@ BL33# - + @@ -556,7 +557,7 @@ BL33# - + @@ -571,7 +572,7 @@ kernel# - + @@ -620,7 +621,7 @@ kernel# - + @@ -628,7 +629,7 @@ kernel# #TF-A Secure Monitor -BL32# +BL31# @@ -637,7 +638,7 @@ BL32# - + @@ -659,7 +660,7 @@ BL32# - + @@ -674,7 +675,7 @@ to RAM# - + @@ -693,7 +694,7 @@ to RAM# - + @@ -709,7 +710,7 @@ and runs# - + @@ -756,7 +757,7 @@ and runs# - + @@ -770,7 +771,7 @@ and runs# - + @@ -789,7 +790,7 @@ and runs# - + @@ -803,7 +804,7 @@ and runs# - + @@ -850,7 +851,7 @@ and runs# - + @@ -866,7 +867,7 @@ runs# - + @@ -903,7 +904,7 @@ runs# - + @@ -917,7 +918,7 @@ runs# - + @@ -936,7 +937,7 @@ runs# - + @@ -950,7 +951,7 @@ runs# - + diff --git a/slides/sysdev-bootloaders-tf-a/stm32mp1-tfa.dia b/slides/sysdev-bootloaders-tf-a/stm32mp1-tfa.dia index 35599db8..fde7cdd2 100644 --- a/slides/sysdev-bootloaders-tf-a/stm32mp1-tfa.dia +++ b/slides/sysdev-bootloaders-tf-a/stm32mp1-tfa.dia @@ -99,6 +99,7 @@ + @@ -871,13 +872,13 @@ TF-A itself# - + #TF-A code -(BL2)# +(BL2 and BL31)# @@ -886,7 +887,7 @@ TF-A itself# - + From miquel.raynal at bootlin.com Wed Aug 14 13:18:35 2024 From: miquel.raynal at bootlin.com (Miquel Raynal) Date: Wed, 14 Aug 2024 11:18:35 -0000 Subject: [bootlin/training-materials updates] master: bootloaders: layouts and sequence: Improve the figures (b3d02ea3) Message-ID: Repository : https://github.com/bootlin/training-materials On branch : master Link : https://github.com/bootlin/training-materials/commit/b3d02ea39efe75eac032a2c3c445630b7d6af8b5 >--------------------------------------------------------------- commit b3d02ea39efe75eac032a2c3c445630b7d6af8b5 Author: Miquel Raynal Date: Wed Jul 17 14:10:52 2024 +0200 bootloaders: layouts and sequence: Improve the figures I believe there are several issues within the figures, aside from the color choices which can sometimes be misleading: - The lack of OP-TEE box - A global misuse of the arrows style - No description of TIFS nor DM - The mention of SYSFW which is nowhere otherwise - The identification of TF-A (A53) as BL33 - The lack of bundle around the u-boot.img - The TIFS markes as BL1 (it cannot be a BL1, maybe a BL31 at most), but this is very TI specific anyway). Signed-off-by: Miquel Raynal >--------------------------------------------------------------- b3d02ea39efe75eac032a2c3c445630b7d6af8b5 .../sysdev-bootloaders-sequence/sequence-am62x.dia | 1181 +++++++++++++------- slides/sysdev-bootloaders-tf-a/am62x-tfa.dia | 539 ++++----- 2 files changed, 1040 insertions(+), 680 deletions(-) Diff suppressed because of size. To see it, use: git diff-tree --root --patch-with-stat --no-color --ignore-space-at-eol --textconv --ext-diff --cc b3d02ea39efe75eac032a2c3c445630b7d6af8b5 From miquel.raynal at bootlin.com Wed Aug 14 13:18:37 2024 From: miquel.raynal at bootlin.com (Miquel Raynal) Date: Wed, 14 Aug 2024 11:18:37 -0000 Subject: [bootlin/training-materials updates] master: bootloaders: stm: Improve the dia figure (48efe9b5) Message-ID: Repository : https://github.com/bootlin/training-materials On branch : master Link : https://github.com/bootlin/training-materials/commit/48efe9b538241b581b4c11222a7885edbd039668 >--------------------------------------------------------------- commit 48efe9b538241b581b4c11222a7885edbd039668 Author: Miquel Raynal Date: Wed Jul 17 11:21:50 2024 +0200 bootloaders: stm: Improve the dia figure The fip.bin file contains several subparts which are worth explaining and grouping: - The firmware configuration is what is parsed first by BL2 and describes what is in the FIP, it keeps the next stage bootloaders BL3X independent from BL2. - The Trusted OS and its hardware description should be grouped - U-Boot and its device tree should be grouped. Source: https://wiki.st.com/stm32mpu/wiki/How_to_configure_TF-A_FW_CONFIG Signed-off-by: Miquel Raynal >--------------------------------------------------------------- 48efe9b538241b581b4c11222a7885edbd039668 slides/sysdev-bootloaders-tf-a/stm32mp1-tfa.dia | 169 +++++++++++++----------- 1 file changed, 94 insertions(+), 75 deletions(-) diff --git a/slides/sysdev-bootloaders-tf-a/stm32mp1-tfa.dia b/slides/sysdev-bootloaders-tf-a/stm32mp1-tfa.dia index f4a7d593..35599db8 100644 --- a/slides/sysdev-bootloaders-tf-a/stm32mp1-tfa.dia +++ b/slides/sysdev-bootloaders-tf-a/stm32mp1-tfa.dia @@ -59,11 +59,18 @@ - - - + + + + + + + + + + @@ -72,18 +79,26 @@ + + + + + + + + @@ -119,7 +134,7 @@ - + @@ -133,7 +148,7 @@ - + @@ -327,7 +342,7 @@ - + @@ -341,7 +356,7 @@ - + @@ -363,7 +378,7 @@ - + @@ -377,7 +392,7 @@ - + @@ -399,7 +414,7 @@ - + @@ -413,7 +428,7 @@ - + @@ -534,7 +549,7 @@ - + @@ -548,7 +563,7 @@ - + @@ -567,7 +582,7 @@ - + @@ -581,7 +596,7 @@ - + @@ -600,7 +615,7 @@ - + @@ -614,7 +629,7 @@ - + @@ -659,13 +674,13 @@ - + - + - + @@ -688,13 +703,13 @@ - + - + - + @@ -751,13 +766,13 @@ - + - - + + @@ -774,7 +789,7 @@ - + @@ -782,7 +797,7 @@ - + @@ -797,7 +812,7 @@ to STM32 ROM code# - + @@ -816,10 +831,10 @@ to STM32 ROM code# - + - + @@ -834,7 +849,7 @@ TF-A itself# - + @@ -853,10 +868,10 @@ TF-A itself# - + - + @@ -871,7 +886,7 @@ TF-A itself# - + @@ -890,13 +905,13 @@ TF-A itself# - + - + - + @@ -919,13 +934,13 @@ TF-A itself# - + - + - + @@ -948,13 +963,13 @@ TF-A itself# - + - + - + @@ -977,10 +992,10 @@ TF-A itself# - + - + @@ -995,7 +1010,7 @@ TF-A itself# - + @@ -1014,10 +1029,10 @@ TF-A itself# - + - + @@ -1032,7 +1047,7 @@ TF-A itself# - + @@ -1051,10 +1066,10 @@ TF-A itself# - + - + @@ -1069,7 +1084,7 @@ TF-A itself# - + @@ -1082,16 +1097,19 @@ TF-A itself# + + + - + - + - + @@ -1114,10 +1132,10 @@ TF-A itself# - + - + @@ -1132,7 +1150,7 @@ TF-A itself# - + @@ -1151,19 +1169,19 @@ TF-A itself# - + - + - + - + @@ -1180,15 +1198,16 @@ TF-A itself# - + - + - #TOS_HW_CONFIG# + #BL32 hardware desc +(TOS_HW_CONFIG)# @@ -1197,7 +1216,7 @@ TF-A itself# - + @@ -1219,13 +1238,13 @@ TF-A itself# - + - - + + @@ -1242,7 +1261,7 @@ TF-A itself# - + @@ -1250,13 +1269,13 @@ TF-A itself# - + - - + + @@ -1273,7 +1292,7 @@ TF-A itself# - +