[OSy] msim Machine check exception
Petr Tůma
petr.tuma at d3s.mff.cuni.cz
Mon Jan 6 08:53:00 CET 2014
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
>
More information about the NSWI004
mailing list