WD

Jan Waclawek wek@evona.sk
Pondělí Únor 6 10:45:01 CET 2006


Martin Zaruba wrote:
> No ale podle ceho se tedy pozna, ze se jednocip seknul? Pokud to 
> dokazete nejak jednoznacne rozeznat, pak by WD mohl ovladat pnp 
> tranzistor, pres ktery se jednocip napaji. Pokud tedy stav nastane, na 
> chvilku vypne napajeni a vse se vzpamatuje.
> Neni ale divne, z na jedne noze k WD stale jsou pulzy z procesoru a na 
> ostatnich stabilni nahodna kombinace? Neni to nejaka hloupost na plosnem 
> spoji? Nedovedu si predstavit, ze bu se zrovna takto procesor choval.

A preco nie. Ked sa jednocip "sekne", moze robit uplne cokolvek; ale nie 
je nepravdepodobne, ze sa mu bud nastavi nejaky nevhodny bit v SFR, 
takze sa napr. zastavi timer alebo sa zakaze nejake prerusenie.
Riesenie je viacmenej v software - tam niekde sa s tou WD nohou jazdi, 
takze to "seknutie" je take, ze to zostane jazdit s tou nohou. Treba 
zvysit paranoiu, t.j. skumat, kde vsade sa WD nohou jazdi a ako a treba 
si premysliet, ako by sa to dalo spravit "komplikovanejsie". Napriklad, 
ak spravna funkcia vyzaduje aby nastavalo prerusenie od timera aj bezal 
"hlavny program", tak v preruseni by sa mala WD noha nastavit a v 
"hlavnom programe" nulovat. Da sa to viazat aj na viac udalosti cez 
nejaku sustavu flagov.

Este jedna lacna paranoidna zalezitost (i ked pochybnej hodnoty, el 
kedze to je fakt lacne, oplati sa to spravit): vyplnit nepouzite miesto 
vo flash skokom na rutinu ktora spolahlivo WD spusti (napr. urobi 
powerdown, alebo zakaze prerusenia a zacykli sa). Treba si premysliet 
adresu kam to dat, aby pri skoku do "prostriedku" instrukcie skoku sa 
vykonali nejake "neskodne" instrukcie.

wek



Další informace o konferenci Hw-list