EN JA
PMC_GET_MSR(3)
PMC_GET_MSR(3) FreeBSD Library Functions Manual PMC_GET_MSR(3)

名称

pmc_get_msrx86 アーキテクチャ特有の PMC 操作

ライブラリ

Performance Counters Library (libpmc, -lpmc)

書式

#include < pmc.h>

int
pmc_get_msr( pmc_id_t pmc, uint32_t *msr);

解説

関数 pmc_get_msr() は、RDPMC 命令でその後に使用される PMC に関連しているプロセッサモデル特有のレジスタ番号を返します。引数 pmc は、プロセス範囲カウンティング PMC を指定します。関数は、引数 msr によって指された位置に PMC に関連しているモデル特有のレジスタ番号を書き込みます。

この関数が成功して終了した後に、アプリケーションは、RDPMC 命令を使用して直接 PMC ハードウェアの内容を読み込むことができます。

戻り値

The pmc_get_msr() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

pmc_get_msr() への呼び出しは、次のエラーで失敗します:
[ EINVAL]
指定された PMC ハンドルが、無効でした。
[ EINVAL]
指定された PMC には、プロセス範囲、またはカウンティングモードがありませんせんでした。
[ EINVAL]
指定された PMC が PMC_F_DESCENDANTS フラグをつけて割り付けられました。
[ EINVAL]
指定された PMC が、所有者以外のターゲットプロセスに既にアタッチされています。
[ ENOSYS]
基本的なハードウェアが、RDPMC 命令をサポートしていません。

関連項目

pmc(3), hwpmc(4)
November 25, 2007 FreeBSD