Changes between Version 32 and Version 33 of Archi-1-TD10


Ignore:
Timestamp:
Nov 17, 2023, 11:49:22 AM (15 months ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Archi-1-TD10

    v32 v33  
    343343{{{#!xml
    344344      +----------+
    345       |    $31   |  Nous allons exécuter jal un peu plus et perdre $31, il faut le sauver
     345      |    $31   |  Nous allons exécuter jal et perdre $31, il faut le sauver
    346346      +----------+
    347347      |  C0_EPC  |  C'est l'adresse de retour du syscall
    348348      +----------+
    349       |  C0_SR   |  le registre status est modifié plus loin, il faut le sauver pour le restaurer
    350       +----------+
    351       |    $2    |  C'est le numéro de syscall qui pourra être accédé par la fonction appelée en 5e argument
     349      |  C0_SR   |  le registre status est modifié, il faut le sauver pour le restaurer
     350      +----------+
     351      |    $2    |  numéro de syscall qui peut être lu par la fonction appelée (5e arg)
    352352      +----------+
    353353      |          |  place réservée pour le 4e argument actuellement dans $7
     
    359359$29 → |          |  place réservée pour le 1e argument actuellement dans $4
    360360      +----------+
    361 }}}
     361}}}X
    362362- L'instruction ligne 44 met `0` dans le registre `c0_sr`. Ce qui a pour conséquence de mettre à `0` les bits `UM`, `EXL` et `IE`. On est donc en mode kernel avec interruptions masquées.
    363363  - ''Notez qu'interdire les interruptions pendant l'exécution des syscall est un choix important. Pour le moment, ce n'est pas un problème puisque nous ne traitons pas les interruptions, mais si nous les traitions, elles seraient masquées. En conséquence, il serait interdit aux fonctions qui traitent les appels système d'exécuter des attentes longues (comme une boucle qui attend le changement d'état d'un registre de périphérique) car sinon, le noyau serait figé (plus rien ne bougerait). Nous verrons comment faire au prochain cours.''\\ \\