[OSy] Ukonceni MSIMu

Jan Záloha jzaloha at centrum.cz
Sun Feb 14 16:47:38 CET 2010


Dobrý den,
skutečně při výpisu cp0_indexu přímo z TLBW() jsem získal toto:

.
.
.
TLBW: index 14

TLBW: index -2147483648

Program received signal SIGSEGV, Segmentation fault.
0x0000000000408120 in TLBW (pr=0x21264e0, reg=0, res=0x7fff1c0005cc)
    at cpu/processor.c:594
594				t->mask = 0xffffe000 & ~cp0_pagemask;

To mě vedlo k assertování všecho hodnot zapisovaných do registru cp0_index pomocí write_cp0_index tímto: assert(index >= 0 && index <=47); . Bohužel MSIM spadl znova na SIGSEGV.

S pozdravem
Jan Záloha

______________________________________________________________
> Od: "Vlastimil Babka" <babka at dsrg.mff.cuni.cz>
> Komu: Operating Systems Course <osy at dsrg.mff.cuni.cz>
> Datum: 14.02.2010 15:27
> Předmět: Re: [OSy] Ukonceni MSIMu
>
>On 02/13/2010 10:14 PM, Jan Záloha wrote:
>>
>> Tak uz mam i vystup z gdb:
>> Program received signal SIGSEGV, Segmentation fault.
>> 0x000000000040810e in TLBW (pr=0x9cd4e0, reg=0, res=0x7fff0893798c)
>>      at cpu/processor.c:593
>> 593				t->mask = 0xffffe000&  ~cp0_pagemask;
>
>Dobry den,
>
>je to jen strelba od boku, ale tady vidim mozny problem jedine v ukazateli t. Kdyz se podivam na zdrojak funkce TLBW() tak mi prijde, ze se neosetruje stav, kdy je obsah registru cp0_index (interpretovany jako int32) zaporny. Pokud se nepletu, tak je to urcite chyba msimu, kterou bude treba opravit, zatim ale tedy zkuste zkontrolovat, jestli ten registr mate pri zapisu do TLB nastaveny spravne (snad by to slo videt i z te trace?).
>
>S pozdravem,
>Vlastimil Babka
>
>_______________________________________________
>OSy mailing list
>OSy at dsrg.mff.cuni.cz
>https://dsrg.mff.cuni.cz/mailman/listinfo/osy
>




More information about the NSWI004 mailing list