2016-03-28から1日間の記事一覧
概要 インラインアセンブラ内でC言語内のラベルにgoto可能なコードを生成する 詳細 コンパイラがサポートしている場合は asm goto() で拡張インラインアセンブラのコードを展開し、コンパイラによりインラインアセンブラのコードからC言語のラベルにgoto可能…
概要 stract trace構造体のtrace_flagsメンバのフラグを確認する 詳細 CONFIG_FUNCTION_GRAPH_TRACERが無効な場合は常に0を返すが、有効な場合はstruct trace_array構造体のtrace_flagsメンバの値にTRACE_ITER_DISPLAY_GRAPH*1のbitが立っているかを確認する…
概要 stract trace構造体のtrace_flagsで取り得る値を定義する 詳細 stract trace構造体のtrace_flagsで取り得る値とその名前を定義するためのマクロで、このマクロ内で使用されるC()はシンボル名と名前を引数として受け取りこのフラグセットを使用する箇所…
概要 struct trace構造体のtrace_flagsメンバが利用可能な値のビット番号を定義する 詳細 TRACE_FLAGSによりstruct trace構造体のtrace_flagsメンバで取り得る値のビット番号とその値を示す名前を定義する
概要 struct trace構造体のtrace_flagsメンバの値を定義する 詳細 TRACE_FLAGSによりstruct trace構造体のtrace_flagsメンバで取り得る値とその値を示す名前を定義する
概要 フラグレジスタの値を取得する 詳細 raw_local_save_flags()のwrapperマクロ
概要 CPU数を保持する変数を初期化する 詳細 CONFIG_SMPが無効な場合は何も行わないが、有効な場合はcpumask_bits()にcpu_possible_maskを渡すことで、実行可能なCPUのビットマップを取得し、その値とNR_CPUSをfind_last_bit()に渡すことでビットマップ内で…
概要 ビットマップ配列内でビットが1になっている最も大きな位置を取得する 詳細 この関数では以下の引数を取得する ビットマップの配列へのポインタ : addr ビットマップの大きさを示す : size 全ての配列の値と対応するビットマスクの論理積をとり、共通の…
概要 任意の値のビットが1になっている最も大きな位置を取得する 詳細 アセンブラ命令のbsr命令で取得した値のビットが1になっている最も大きな位置を取得し、その値を返す
概要 実行可能なCPU番号のビットマップへのポインタ 詳細 __cpu_possible_maskへのポインタを返すマクロ
概要 実行可能なCPU番号に必要なビットマップを保持するstruct cpumask型の変数 詳細 CONFIG_INIT_ALL_POSSIBLEが無効な場合は初期化されない(つまり0になる)が、有効な場合はCPU_BITS_ALLで初期化されるstruct cpumask型の変数で、EXPORT_SYMBOL()によりモ…
概要 実行可能なCPU番号に必要なビットマップを初期化するための配列を返す 詳細 BITS_TO_LONGS()でNR_CPUSで必要な配列数を算出し、最後の要素([配列数 - 1])にBITMAP_LAST_WORD_MASK()でNR_CPUSのビットマップを取得し、その値で初期化する ただし、NR_CPU…