[OSy] msim Machine check exception
Jan Smrčina
lj at fooboo.org
Mon Jan 6 15:14:57 CET 2014
Asi 14 dnu jsem se s kolegou snazil ladit mapování paměti a na tuhle
vyjímku jsem docela spoléhal. Dost dlouho mi tak unikaly indicie o tom,
co se nam tam nekde deje zleho. Ted, kdyz jsem objevil TLB plnou
duplicitnich zaznamu, zase musim rychle plnit jine povinnosti a tak nam
hrozi, ze nestihneme ani druhe prodlouzeni deadlinu na druhe zadani.
JS
On Mon, Jan 06, 2014 at 08:53:00AM +0100, Petr Tůma wrote:
> Dobry den,
>
> pohledem do zdrojaku msimu mate pravdu, TLBW mozny prekryv zaznamu
> netestuje. Je to neco, co potrebujete kvuli fungovani vaseho reseni, nebo
> jste na tento problem narazil jen behem ladeni ?
>
> Diky, Petr Tuma
>
>
> On 05/01/14 18:17, Jan Smrčina wrote:
>> Zdravím všechny,
>>
>> zdá se mi, že msim nesimuluje vyjímku Machine check exception. Je to jen
>> můj dojem a špatné chápání manuálu, nebo tato vlastnost doopravdy v msimu
>> není implementována?
>>
>>
>> Vycházím z informací v sekci 4.6.6 manuálu k MIPSu staženého ze stránek
>> předměnu (strana 56 resp. 68. strana pdf) a dále sekce 5.2.11 téhož manuálu
>> (strana 84 resp. 96).
>>
>> Následuje výpis ladicích informací z msimu bezprostředně po zápisu do TLB (na
>> konci obslužné rutiny wrapped_tlbrefill() - absence nastaveného bitu EXL
>> je předmětem ladění, netřeba jí věnovat pozornost).
>>
>>
>> [msim] cpu0 tlbd
>> [ general ][ subp 0 ][ subp 1 ]
>> no vpn mask g asid v d pfn c v d pfn c
>> 00 00000000 FFFFE000:4k 0 00 0 0 00000000 0 0 0 00000000 0
>> 01 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 02 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 03 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 04 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 05 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 06 C0000000 FFFFE000:4k 0 01 1 1 0008F000 0 0 0 00000000 0
>> 07 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 08 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 09 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 0a 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 0b 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 0c 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 0d 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 0e 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 0f 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 10 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 11 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 12 C0000000 FFFFE000:4k 0 01 1 1 0008F000 0 1 1 00091000 0
>> 13 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 14 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 15 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 16 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 17 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 18 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 19 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 1a 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 1b 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 1c 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 1d 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 1e 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 1f C0000000 FFFFE000:4k 0 01 1 1 0008F000 0 1 1 00091000 0
>> 20 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 21 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 22 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 23 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 24 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 25 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 26 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 27 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 28 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 29 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 2a 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 2b 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 2c 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 2d 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 2e 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> 2f 00000000 FFFFE000:4k 0 ff 0 0 00000000 0 0 0 00000000 0
>> [msim] cpu0 cp0d
>> no name hex dump readable dump
>> 00 Index 00000000 index: 00 res: 0 p: 0
>> 01 Random 00000017 random: 17, res: 0000000
>> 02 EntryLo0 000023C6 g: 0 v: 1 d: 1 c: 0 pfn: 00008F res: 0
>> 03 EntryLo1 00002446 g: 0 v: 1 d: 1 c: 0 pfn: 000091 res: 0
>> 04 Context 00600000 res: 0 badvpn2: 60000 ptebase: 000
>> 05 PageMask 00000000 res1: 0000 mask: 000 (4k) res2: 00
>> 06 Wired 00000000 wired: 0 res: 0000000
>> 08 BadVAddr C0001000
>> 09 Count 0001198A
>> 0a EntryHi 00000001 asid: 01 res: 0 vpn2: 00000
>> 0b Compare 000120DF
>> 0c Status 1000FF00 ie: 0 exl: 0 erl: 0 ksu: 0 ux: 0 sx: 0 kx: 0
>> im: FF de: 0 ce: 0 ch: 0 res1: 0 sr: 0 ts: 0
>> bev: 0 res2: 0 re: 0 fr: 0 rp: 0 cu: 1
>> 0d Cause 0000000C res1: 0 exccode: 03 res2: 0 ip: 00 res3: 00
>> ce: 0 res4: 0 bd: 0
>> 0e EPC 80014244
>> 0f PRId 00000400 rev: 00 imp: 04 res: 0000
>> 10 Config 00000000 k0: 0 cu: 0 db: 0 b: 0 dc: 0 ic: 0 res: 0 eb: 0
>> em: 0 be: 0 sm: 0 sc: 0 ew: 0 sw: 0 ss: 0 sb: 0
>> ep: 0 ec: 0 cm: 0
>> 11 LLAddr 00000000
>> 12 WatchLo 00000000 w: 0 r: 0 res: 0 paddr0: 00000000
>> 13 WatchHi 00000000 res: 00000000 paddr1: 0
>> 14 XContext
>> 1e ErrorEPC 00000000 errorepc: 00000000
>> [msim]
>>
>>
>> Jak je vidno, v TLB jsou nejméně dva záznamy, které jistě "matchují"
>> neboť jsou zcela shodné. Chápu-li text v sekci 4.6.6 dobře, tato situace
>> v procesoru podle manuálu nastatnemůže.
>>
>> Dokonce i TS bit status registeru zůstal 0, ačkoliv k zápisu do status
>> registeru od instrukce tlbwr nedošlo. (Rozpor se 4.6.6 i 5.2.11).
>>
>>
>> S pozdravem,
>> Jan Smrčina
>>
>>
>>
>> _______________________________________________
>> OSy mailing list
>> OSy at d3s.mff.cuni.cz
>> https://d3s.mff.cuni.cz/mailman/listinfo/osy
>>
>
> _______________________________________________
> OSy mailing list
> OSy at d3s.mff.cuni.cz
> https://d3s.mff.cuni.cz/mailman/listinfo/osy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 479 bytes
Desc: not available
URL: <http://d3s.mff.cuni.cz/pipermail/nswi004/attachments/20140106/6d42548a/attachment.sig>
More information about the NSWI004
mailing list