[SOS] Information sur la fonction sos_physmem_setup (article 3)

David LONY david.lony at gmail.com
Jeu 31 Juil 14:13:28 CEST 2008


Je suis d'accord que cette "page" ne doit pas être utilisé. Mais c'est
justement pour ça qu'elle est réservé. Je veux juste l'inclure dans la
cartographie de la mémoire... Mais comme elle sera marquée comme réservé je
ne l'utiliserais jamais !

Je me trompe ?

En gros si je fais :

        /* Reserved : 0 ... base */
        if( ppage_addr < physmem_base )
        {
            todo = PPAGE_MARK_RESERVED;
        }

        /* Free : base ... BIOS */
        else if( ( ppage_addr >= physmem_base ) && ( ppage_addr <
BIOS_N_VIDEO_START ) )
        {
            todo = PPAGE_MARK_FREE;
        }

        /* Used : BIOS begin ... BIOS end */
        else if( ( ppage_addr >= BIOS_N_VIDEO_START ) && ( ppage_addr <
BIOS_N_VIDEO_END ) )
        {
            todo = PPAGE_MARK_RESERVED;
        }

        /* Free : BIOS end ... kernel */
        else if( ( ppage_addr >= BIOS_N_VIDEO_END ) && ( ppage_addr <
*kernel_core_base ) )
        {
            todo = PPAGE_MARK_FREE;
        }

        /* Used : Kernel begin ... Kernel end (Kernel begin + code/data/bss)
+ physcal page descr array */
        else if( ( ppage_addr >= *kernel_core_base ) && ( ppage_addr <
*kernel_core_top ) )
        {
            todo = PPAGE_MARK_RESERVED;
        }

        /* Free : Kernel end (Kernel begin + code/data/bss) + physcal page
descr array ... end of RAM */
        else
        {
            todo = PPAGE_MARK_FREE;
        }

Je vais juste marquer cette page en réservé et c'est tout non ?


Le 31 juillet 2008 13:48, Julien Pichon<glandoillator at hotmail.com> a écrit :

>  >> En effet je ne comprend pas pourquoi on ne traite pas le morceau de
> mémoire marqué PPAGE_MARK_RESERVED.
> >> En effet dans le switch on ne le traite pas comme de  mémoire réservée,
> il est carrément occulté
> >> (dans le switch il passe dans le default)...
>
> La constante PPAGE_MARK_RESERVED représente la première page physique (0 =>
> 4 Ko), il est dit plusieurs fois dans la série
> (je pourrais pas donner de références, ça fait un moment que je l'ai lu :p)
> que cette page ne sera pas utilisée physiquement, on n'y
> mettrait aucune donnée elle servira juste à trapper les erreurs de
> manipulations de descripteur de page, un peu je pense comme le NULL
> descriptor dans le mécanisme de segmentation. Par contre en utilisation
> conrète que ce soit le NULL descriptor ou cette première page physique
> je ne peux pas t'apporter plus de précisions.
>
> >> De plus je voulais aussi savoir, si dans le cas où je traite ce bloc de
> mémoire dans le switch, quel seront les conséquences ? Y aura t'il un
> problème latent ?
>
> Je pense que oui, car si tu utilises cette page normalement, c'est à dire
> mettre des données il y aura des erreurs car par la suite SOS s'en sert pour
> détecter les erreurs
>
>
> ------------------------------
> Avec Windows Live Messenger restez en contact avec tous vos amis ! Téléchargez
> Messenger, c'est gratuit ! <http://www.windowslive.fr/messenger/>
>
> _______________________________________________
> Sos mailing list
> Sos at the-doors.enix.org
> http://the-doors.enix.org/cgi-bin/mailman/listinfo/sos
>
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: http://the-doors.enix.org/pipermail/sos/attachments/20080731/7304ec29/attachment.htm 


Plus d'informations sur la liste de diffusion Sos