[OSy] SET_STATIC_STACK

Ondrej Mocny ondrej.mocny at gmail.com
Mon Dec 14 16:25:43 CET 2009


Super, diky za patch, uz se mi to vyjasnilo :)

Ondrej Mocny


Martin Decky napsal(a):
> Hezky den,
> 
> mate pravdu, pri blizsim zkoumani je skutecne videt, ze ten kod v
> Kalistu je ponekud zmateny (a typicky funguje jen diky tomu, ze za
> koncem statickeho zasobniku jednoho procesoru je zasobnik dalsiho
> procesoru a tyto dalsi procesory prakticky nevyrizuji zadne vyjimky).
> 
> V priloze posilam opravu pro Kalisto. Tato oprava obsahuje nasledujici:
> 
> 1) Odstranil jsem matouci poznamku o tom, ze se TLB Refill handler
>    vyhyba General Exception handleru. To je samozrejme pravda, ale
>    zduvodneni je jine: TLB Refill pouziva staticky zasobnik od vrcholu
>    (zasobnik roste smerem k nizsim adresam), zatimco General Exception
>    spravne pouziva staticky zasobnik ode dna (od nejnizsi adresy).
> 
> 2) TLB Refill handler uz neuklada $badvaddr na staticky zasobnik. Je to
>    totiz zbytecne, TLB Refill handler neni reentrantni, takze si
>    $badvaddr nemusi nikam ukladat.
> 
> 3) General Exception handler musi pouzivat staticky zasobnik pro
>    docasne ukladani nekterych CP0 registru ode dna, ne od vrcholu.
>    Proto je tam nyni displacement KERNEL_STACK_SIZE.
> 
> Diky za pozorne cteni kodu! Ocenuji, ze jste se skutecne snazil
> pochopit, co kod dela a co by mel delat. Zaroven to ukazuje, ze pres
> veskerou snahu lze v takovych zalezitostech trivialne udelat chybu.
> 
> 
> M.D.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> OSy mailing list
> OSy at dsrg.mff.cuni.cz
> https://dsrg.mff.cuni.cz/mailman/listinfo/osy




More information about the NSWI004 mailing list