From ec9e892a57575089e317ecdbb2643786493c17ec Mon Sep 17 00:00:00 2001
From: "iliya.saroukha" <iliya.saroukhanian@etu.hesge.ch>
Date: Fri, 28 Mar 2025 20:06:10 +0100
Subject: [PATCH] fix: typos in chap 3

---
 thesis/chapters/chap3.tex | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/thesis/chapters/chap3.tex b/thesis/chapters/chap3.tex
index fdbac3b..0853fc5 100644
--- a/thesis/chapters/chap3.tex
+++ b/thesis/chapters/chap3.tex
@@ -364,10 +364,10 @@ que l'implémentation originelle de Blue Pill, celle-ci est désormais compatibl
 non-seulement avec les extensions AMD-V mais aussi Intel VT-x. Dans l'optique
 de rendre cette implémentation \say{générique}, une grande quantité d'appels
 directs aux fonctions ont été masqués par une indirection supplémentaire via
-une structure du nom de \verb|HVM_DEPENDENT| dont le contenu partiel est
-présenté dans la Figure~\ref{fig:code_hvm_dependent_struct}. Les divers types
-des champs définis dans cette structure sont en réalité des pointeurs de
-fonctions comme l'illustre la Figure~\ref{fig:code_arch_init_func_ptr}.
+une structure du nom de \verb|HVM_DEPENDENT| dont le contenu est présenté dans
+la Figure~\ref{fig:code_hvm_dependent_struct}. Les divers types des champs
+définis dans cette structure sont en réalité des pointeurs de fonctions comme
+l'illustre la Figure~\ref{fig:code_arch_init_func_ptr}.
 
 \begin{figure}[tbph!]
     \begin{minted}
@@ -433,7 +433,7 @@ seront interceptés par l'hyperviseur via \verb|ArchRegisterTraps|, puis
 d'initialiser l'état de l'invité (de l'\acrshort{os} natif à migrer) à l'aide
 du pointeur de fonctions \verb|ArchInitialize|. Finalement, la dernière action
 de \verb|HvmSubvertCpu()| sera de virtualiser le \acrshort{cpu} sur lequel
-s'exécute le bout de code actuel et de ce fait, lancé sur celui-ci l'hyperviseur.
+s'exécute le bout de code actuel et de ce fait, lancer sur celui-ci l'hyperviseur.
 Ces actions seront effectuées par la fonction appelé par le pointeur
 \verb|ArchVirtualize|.
 
@@ -514,7 +514,7 @@ NTSTATUS NTAPI HvmSubvertCpu (
 La fonction \verb|SvmInitialize()| appelée par \verb|ArchInitialize|, présentée
 dans la Figure~\ref{fig:code_svm_initialize}, aura pour but d'allouer le
 \gls{vmcb} de l'invité. Cette structure de données, dont la nomenclature du côté
-d'Intel varie légérement (\gls{vmcs}), est subdivisé en deux sections : une
+d'Intel varie légèrement (\gls{vmcs}), est subdivisée en deux sections : une
 section de \say{contrôle} et une de \say{sauvegarde d'état}
 (\textit{state save area}). Principalement, ce sera la zone de sauvegarde qui
 aura un intérêt particulier car celle-ci sera utilisée afin de conserver l'état
@@ -531,7 +531,7 @@ lui sera utilisé plus tard comme argument fourni à l'instruction \verb|VMRUN|.
 
 Après que cet élément fut alloué, sa zone de contrôle sera configurée
 via la fonction \verb|SvmSetupControlArea| puis l'initialisation de l'état de
-l'invité pourra être entamé. Ceci sera accompli par la fonction 
+l'invité pourra être entamée. Ceci sera accompli par la fonction 
 \verb|SvmInitGuestState()| à laquelle sera fourni en argument :
 l'instance \verb|Cpu| de la structure \verb|PCPU| contenant les \acrshort{vmcb}s
 qui y sont associés, le pointeur d'instruction de l'invité ainsi que son
@@ -545,7 +545,8 @@ assembleur. Ce symbole fournira au registre \verb|rax| l'adresse physique du
 \verb|OriginalVmcb| est exécutera l'instruction \verb|svm_vmsave|. Du fait que
 les fonctions intrinsèques liées aux instructions matérielles n'étaient pas
 proposées par les compilateurs de l'époque, celles-ci ont dû être répliquées en
-\say{codant} l'instruction à la main, octet par octet. 
+\say{codant} l'instruction à la main, octet par octet, comme l'illustre la
+Figure~\ref{fig:code_asm_svm_vmsave}.
 
 \begin{figure}[tbph!]
     \begin{minted}
@@ -641,7 +642,7 @@ En ce qui concerne la fonction \verb|SvmVirtualize()|, son rôle sera de fournir
 à \verb|SvmVmrun()| en argument l'entièreté de l'instance \verb|Cpu| de la
 structure de type \verb|PCPU| qui contiendra notamment le \acrshort{vmcb}
 initialisé avec l'état de l'\acrshort{os} afin que celui-ci puisse reprendre
-son exécution à la suite de l'exécution de l'instruction \verb|VMRUN|.
+son exécution de l'instruction \verb|VMRUN|.
 
 % Il est nécessaire de garder en tête que l'état de l'\acrshort{os} fut déjà
 % stocké dans un \acrshort{vmcb} à part entière. Afin que celui-ci puisse
@@ -678,16 +679,16 @@ static NTSTATUS NTAPI SvmVirtualize (
     \caption{Fichier \lstinline{svm/svm.c:1174}. Source : tiré du code source de Blue Pill, ref. URL06 / réalisé par RUTKOWSKA Joanna}\label{fig:code_svm_virtualize}
 \end{figure}
 
-La routine \verb|SvmVmrun()|, illustré par la Figure~\ref{fig:code_asm_svm_vmrun}, 
+La routine \verb|SvmVmrun()|, illustrée par la Figure~\ref{fig:code_asm_svm_vmrun}, 
 quant à elle est séparée en plusieurs phases. La première consistera à allouer
 suffisamment de place sur la pile pour pouvoir
 stocker tous les registres de travaux de l'invité lorsque l'hyperviseur
 reprendra la main sur l'exécution. Puis, la valeur de l'adresse physique
-stockée dans le champ \verb|VmcbToContinuePA| est fourni à l'instruction
+stockée dans le champ \verb|VmcbToContinuePA| est fournie à l'instruction
 \verb|svm_vmload| afin de charger l'état du \acrshort{cpu} stocké à l'adresse
-de \acrshort{vmcb}. La troisième étape, se résume à une boucle qui va
+du \acrshort{vmcb}. La troisième étape, se résume à une boucle qui va
 continuellement exécuter l'instruction \verb|VMRUN| avec la même adresse
-physique du \acrshort{vmcb} mentionné précédemment. À partir de ce moment,
+physique du \acrshort{vmcb} mentionnée précédemment. À partir de ce moment,
 l'\acrshort{os} natif de la machine reprendra son exécution dans une
 \acrshort{vm} contrôlée par l'hyperviseur. 
 
-- 
GitLab