Przerwania w RTLinuksie
Software'owa emulacja przerwań dla Linuksa
- RTLinux przechwytuje
cli() i sti()
- gdy kernel Linuksa wywołuje
cli() , specjalna globalna zmienna SFIF zostaje ustawiona na 0 - RTCore wie, że kernel nie chce dostawać przerwań
- gdy kernel Linuksa wywołuje
sti() , uruchomiona zostaje emulacja wszystkich zakolejkowanych przerwań (o ile jakieś oczekują), po czym zmienna SFIF zostaje ustawiona na 1.
Zmienione w kernelu muszą zostać jedynie cli() , sti() i wrappery przerwań.
|
|