[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