[OSy] problem pri testu malloc1

Martin Decky decky at nenya.ms.mff.cuni.cz
Tue Dec 5 18:49:53 CET 2006


> Dobre. Ja v assembleru opravdu doma nejsem, tak dukladnejsi vysvetleni
> bude eventualne na autorovi patche

Ano, dukladnejsi vysvetleni si to skutecne zaslouzi, protoze z toho, co 
jsme pochopili z Vaseho emailu, se nam zda, ze ta opravena varianta je 
jeste hur nez ta puvodni. A duvod te puvodni chyby stale nezname.

>        .data
> 
> kernel_level:
>        .word        0
> 
>        .text
> 
> na
> 
>        .data
>     .align    2
>     .type     kernel_level, @object
>     .size     kernel_level, 4
> 
> kernel_level:
>        .word     0

Tohle vubec nic na vyslednem linku nemeni. Jaka je motivace tehle upravy?

>        lui      $k0, %hi(kernel_level)
>        lw       $k1, %lo(kernel_level)($k0)

Jenom tahle zmena. bez upravy dalsich instrukci, predevsim

sw        $k1, 0($k0)

zpusobi, ze se hodnota nezapise na adresu kernel_level, ale na adresu 
0x8000000, coz teda mozna vyresi Vas problem s memory managementem, ale 
ke skutecne pricine problemu tak nejsme ani o krok bliz. Takze nevime :)


M.D.



More information about the NSWI004 mailing list