0
私は組み込みLinuxで動作するプログラム用のコードをトレースしていましたが、これが発生しました。私はそれが本当にどのように働くかを私に見せるために有益な情報をGoogleに送り出すことができなかった。 「save_and_cli(flag)」は実際にどのように機能しますか?
コードのこの作品
は次のように書かれている:unsigned char foo(*someaddress){
unsigned long flags = 0; //why use a long?
flags = save_and_cli(); //what is this?
spin_lock_irqsave(&someaddress, flags);//ok, this is a spin lock
...do something...
restore_flags(flags); //release something?
spin_unlock_irqrestore(&someaddress, flags);//release lock
}
それはこのLONG旗の値が変更されることはありませんようだとsave_and_cli()関数は何ですか?
お読みいただきありがとうございます。
によって保存されたIRQの状態を復元するために使用されます。確かに、それは非常に "古代"です。いくつかの文書を見つけることがとても難しいのは不思議ではありません。ありがとう。非常に役立ちます。 –