Skip to content

Commit 4669282

Browse files
committed
Process switch working + added gdb shortcuts for functions
1 parent 2008ab7 commit 4669282

14 files changed

+1031
-1042
lines changed

Loic-Jo/CR.txt

+11-1
Original file line numberDiff line numberDiff line change
@@ -152,4 +152,14 @@ Question 4-17:
152152
On va créer une variable globale static dans le fichier syscall qui stocke la valeur de SP au début de l'appel de swi_handler, juste après le store multiple (sauvegarde du contexte appelant)
153153
Dans la fonction do_sys_settime, on utilise cette variable pour retrouver la variable utilisateur date_ms sauvegardée au préalable (qui était dans r1), en utilisant un offset de 1 (décalage de 4 octets).
154154

155-
Question 4-
155+
Question 5-3:
156+
Afin de changer de contexte, il suffit d'enregistrer le processus courant dans la variable current_process, puis de modifier les valeurs de la pile qui correspondent aux registres de données + lr par les valeurs du processus destinaire.
157+
Ainsi, quand swi_handler va mettre la nouvelle valeur de pc dans le ldmf, il va prendre la nouvelle valeur du LR du processus destinaire, et donc sauter à ce processus.
158+
159+
Question 5-4:
160+
Il faut sauvegarder les adresses des fonctions dans les lr respectifs dans pcb de chaque process.
161+
162+
Question 5-5(-6-7):
163+
Pas de problème ?!
164+
165+
Question 5-

Loic-Jo/sysif/build/kernel.elf

-216 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)