[SOS] Paging !!!
LfvrChris at aol.com
LfvrChris at aol.com
Jeu 6 Jan 20:18:03 CET 2005
Bonsoir,
J'ai remarqué une chose bizarre dans les sources concernant la fonction
paging_setup_map_helper() ainsi que la fonction sos_paging_map(). Dans la
première on remarque bien que lorsque l'entrée dans la PDE n'existe pas, on
alloue une nouvelle PTE et on l'initialise en utilisant la fonction memset().
Dans la seconde on remarque que lorsque l'entrée dans la PDE n'existe pas, on
alloue bien une nouvelle PTE mais on reset PT qui est un pointeur construit à
partir du mirroring.
La nouvelle PTE est issue de la fonction sos_physmem_ref_physpage_new()
Est-ce logique ?
Ne vaudrait-il pas plutôt utiliser la fonction memset() sur la nouvelle
page que nous venons de créer, c'est à dire sur la nouvelle PTE, d'autant
plus que l'on réalise une initialisation sur toute une page soit 4096 octets ?
Pouvez-vous m'expliquer le lien entre le pointeur PT construit à partir
du mirroring et la nouvelle PTE créée lorsque l'entrée n'est pas présente
dans la PDE ?
La difference est-elle due à l'identity mapping utilisée au départ, car
à ce moment là il y a correspondance entre les adresses virtuelles et les
adresses physiques ?
Merci par avance.
Krys
-------------- section suivante --------------
Une pièce jointe HTML a été enlevée...
URL: http://the-doors.enix.org/pipermail/sos/attachments/20050106/c66617af/attachment.html
Plus d'informations sur la liste de diffusion Sos