[OSy] TLB refill

Peter Júnoš petoju at gmail.com
Mon Jan 7 00:58:32 CET 2013


Cau,


> je nějaký důvod proč by při čtení z adresy 0x4ffff48 neměla nastat TLB
> refill exception, když 
> - v hi registru 0x2, 
> - v TLB není žádný záznam s ASIDem 2, ani žádný záznam s global
> bitem, 
> - je to všechno v obsluze normálního přerušení (tedy wrapped_general,
> ne TLB refill)


Podla mna musi za opisanych okolnosti nastat TLB refill; ako by si inac
"vymyslel" procesor hodnotu?
Skus si tesne pred to a aj za to pridat msim_stop(), resp. tam vloz
instrukciu 0x29, otestuj taketo nieco (ak to da vystup len x-ka, tak to
podla mna urcite vyvola TLB refill):
cpu0 md 0x4ffff48 10

A ked to neda len X-ka, tak prever entryhi, ci je tam dobry asid:
cpu0 cp0d 10

Nasledne status register, ci tam nahodou nejaky zakerak nenastavil bit
0x4:
cpu0 cp0d 12

Over TLB:
cpu0 tlbd

A ked nepomoze nic, tak to skus zbehnut a pripadne posli (skrateny) log
toho kusku, kde to nevyvola TLB refill, mozno vratane vystupov prikazov,
ktore som pisal:
set trace
continue

--
Peto Junos
"A C program is like a fast dance on a newly waxed dance floor by people
carrying razors."






More information about the NSWI004 mailing list