2016-03-02から1日間の記事一覧
概要 マクロをマクロで定義された文字列に変換する 詳細
概要 マクロを文字列に変換する 詳細 __stringify_1()を実行するが、複数の引数を指定して実行された場合も第一引数のみを変換する
概要 CPU固有の情報を保持するセグメントを表す文字列 詳細 _CONIG_X86_64が有効な場合はgs、無効な場合はfsとなる
概要 CPU固有のprefix示す文字列を出力する 詳細 CONFIG_SMPが無効な場合は空文字("")を出力するが有効な場合は以下のコードとなる "%%"__stringify(__percpu_seg)":" __stringify()に__percpu_segを渡して実行することで、CPU固有の情報を保持したセグメン…
概要 CPU固有の引数を示す文字列を出力する 詳細 __percpu_prefixと"%"を引数として受け取った文字列の前に付加する
概要 第一引数を出力、第二引数を入力として任意のアセンブラ命令を実行する 詳細 以下の引数を受け取る オペコード : op 出力値 : var 入力値 : val valのデータ型をvarのデータ型にキャストしアセンブラ命令を実行するが、出力値を指定する際に__percpu_ar…
概要 指定されたシンボルに値を書き込む 詳細 以下のいずれかのマクロを表し、いずれの場合においてもpercpu_to_op()マクロに"mov"の文字列を引数として渡して実行する raw_cpu_write_1() raw_cpu_write_2() raw_cpu_write_4() raw_cpu_write_8()
概要 指定された命令を値のサイズに応じて実行する 詳細 以下の引数を受け取る 実行する関数の種類を示す : stem 対象の値を示す : variable 値のサイズに応じて以下のように実行内容が変わる 1, 2, 4, 8biteの場合 stem が"func_"でサイズが1の場合は以下の…
概要 指定されたシンボルに値を書き込む 詳細 __pcpu_size_call()マクロを実行する この時マクロ内ではraw_cpu_write_x()が実行される