[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