Changes between Version 27 and Version 28 of AS6-TME-B1


Ignore:
Timestamp:
Feb 15, 2022, 2:13:49 PM (2 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AS6-TME-B1

    v27 v28  
    13571357}}}
    13581358 
    1359 - Vous allez ajouter un appel système nommé `SYSCALL_MEMCPY` qui réalise la copie d'une zone de la mémoire. Pour cela, vous devez:
     1359- Vous allez ajouter un appel système nommé `SYSCALL_DMA_MEMCPY` qui réalise la copie d'une zone de la mémoire. Pour cela, vous devez:
    13601360  - Ajouter une fonction dans la libc que vous appellerez `dma_memcpy(int *dst, int *src, unsigned len)` qui a un comportement équivalent à `memcpy()` mais pour déplacer des tableaux d'entiers. Vous devez modifier les fichiers `ulib/libc.h` et `ulib/libc.c`.
    13611361  - Ajouter la déclaration de `SYSCALL_DMA_MEMCPY` dans le fichier `commun/syscall.h`.
     
    13651365
    13661366Idéalement, il faudrait vérifier que les adresses utilisées sont uniquement dans la partie de l'espace d'adressage autorisée pour l'utilisateur. Cette vérification serait faite dans une fonction intermédiaire dans `kernel/ksyscalls.c` qui ferait les vérifications et qui appellerait `dma_memcpy()` si les adresses sont correctes. Je vous laisse y réfléchir.
     1367
     1368{{{#!protected
     1369Ajouter le FB et écrire un damier qui s'inverse.
     1370}}}