Re: NMI i PCI - jak?

Autor: Maciej W. Rozycki (macro_at_ds2.pg.gda.pl)
Data: Thu 25 Mar 2004 - 15:59:41 MET


On Wed, 24 Mar 2004, Radoslaw Sokol wrote:

> NMI jest przerwaniem krytycznym. Po jego wywołaniu system
> nie może wznowić pracy bez pełnego resetu całej maszyny.

 Bez przesady -- akurat w procesorach x86 NMI nie powoduje utraty zadnych
informacji i umozliwia wznowienie wykonania od miejsca przerwania. Gdyby
bylo inaczej, Linux nie bylby w stanie obslugiwac 100 przerwan NMI na
sekunde (w odpowiedniej konfiguracji).

> Pojawienie się NMI przerywa wykonywanie rozkazu w czasie
> trwania cyklu maszynowego.

 Wprost przeciwnie -- NMI jest przyjmowane po zakonczeniu wykonania
biezacego rozkazu. Jedyne wyjatki, ktore moga (ale nie musza) spowodowac
naruszenie integralnosci danych prowadzace do niemoznosci wznowienia
wykonania to blad podwojny i "machine check".

> Nowoczesnego systemu operacyjnego nie można całkowicie
> wstrzymać. Możesz zablokować większość jego funkcji do
> czasu zniesienia blokady, jednak jądro musi pracować
> dalej.

 SMI wstrzymuje system calkowicie i niestety zwykle bez jego wiedzy i
mozliwosci zapobiezenia.

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro_at_ds2.pg.gda.pl, PGP key available        +


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Wed 19 May 2004 - 13:59:52 MET DST