2016-04-06から1日間の記事一覧
概要 引数で受け取った値の割込みフラグが立っているか確認する 詳細 raw_irqs_disabled_flags()のwrapperマクロ
概要 ソフトウェア割込みで実行待ちになっているプロセス数を取得する 詳細 preempt_count()で実行待ちプロセス数を取得するが、SOFTIRQ_MASKでマスクをかけるためソフトウェア割込みだけのプロセス数を取得する
概要 引数の値をフラグレジスタに保存する 詳細 typecheck()により引数の値の型がunsigned longであることを確認し、 arch_local_irq_restore()を実行することでフラグレジスタの値を取得し、割込みを無効化する 取得した値を引数の変数に代入することでフラ…
概要 引数の値をフラグレジスタに保存する 詳細 CONFIG_PARAVIRTの値によって以下のように処理が異なる 有効 PVOP_CALLEE1()に返り値の型unsigned long、pv_irq_ops.save_fl*1と引数の値を渡して実行する 無効 native_save_fl()を実行する *1:この値は、カー…
概要 拡張インラインアセンブラで使用可能な引数を指定する命令を生成する 詳細 PVOP_CALL_ARG1、PVOP_CALL_ARG2、PVOP_CALL_ARG3、PVOP_CALL_ARG4のいずれかに該当し以下の処理を行う 引数の値をunsigned long型にキャストし、適切なレジスタに割り当てる拡…
概要 任意の値をフラグレジスタに保存する 詳細 アセンブラ命令のpushで引数で取得した値をスタックに保存し、保存した値をpopf命令でフラグレジスタに読み込む