日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
CPUCTL(4) FreeBSD カーネルインタフェースマニュアル CPUCTL(4) 名称 cpuctl -- cpuctl 疑似デバイス 書式 このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル 設定ファイルに置きます: device cpuctl もう一つの方法として、ブート時にモジュールとしてドライバをロードするため には、次の行を loader.conf(5) に置きます: cpuctl_load="YES" 解説 特別なデバイス /dev/cpuctl は、システム CPU へのインタフェースを提供しま す。それは、CPUID 情報を検索して、マシンの特定のレジスタ (MSR) に読み込 み/書き込みし、CPU ファームウェアの更新を実行する機能を提供します。 システムに存在する各 CPU に関しては、適切なインデックスがある特別なデバイ ス /dev/cpuctl%d が作成されます。複数のコアがある CPU に関しては、特別な デバイスは、コア毎に作成されます。 現在、i386 と amd64 プロセッサだけがサポートされています。 IOCTL インタフェース サポートされてる操作のすべては、ioctl(2) システムコールを使用して呼び出さ れます。現在、次の ioctl が定義されています: CPUCTL_RDMSR cpuctl_msr_args_t *args CPUCTL_WRMSR cpuctl_msr_args_t *args CPU のマシンの特定のレジスタを読み書きします。 cpuctl_msr_args_t 構造体は、次の <sys/cpuctl.h> で定 義されています: typedef struct { int msr; /* 読み込む MSR */ uint64_t data; } cpuctl_msr_args_t; CPUCTL_MSRSBIT cpuctl_msr_args_t *args CPUCTL_MSRCBIT cpuctl_msr_args_t *args data フィールドで与えられたマスクに従って、MSR ビット を設定するか、またはクリアします。 CPUCTL_CPUID cpuctl_cpuid_args_t *args CPUID 情報を検索します。引数は、次の構造体で供給され ます: typedef struct { int level; /* CPUID レベル */ uint32_t data[4]; } cpuctl_cpuid_args_t; それは、0 に設定された level_type を付けた CPUCTL_CPUID_COUNT 要求と同等です。 CPUCTL_CPUID_COUNT cpuctl_cpuid_count_args_t *args CPUID 情報を検索します。引数は、次の構造体で供給され ます: typedef struct { int level; /* CPUID レベル */ int level_type; /* CPUID レベルタイプ */ uint32_t data[4]; } cpuctl_cpuid_count_args_t; level フィールドは、検索する CPUID レベルを示し、それ は、CPUID 命令が実行される前に、%eax レジスタにロード されます。level_type フィールドは、検索する CPUID レ ベルタイプを示し、それは、%ecx レジスタにロードされま す。 data フィールドは、受信された CPUID データを格納する ために使用されます。すなわち、data[0] は、CPUID 命令 が実行される後に、%eax レジスタの値を含み、data[1] は、%ebx のため、data[2] は、%ecx のため、data[3] は、%edx のためです。 CPUCTL_UPDATE cpuctl_update_args_t *args CPU ファームウェア (マイクロコード) を更新します。構 造体は、次の <sys/cpuctl.h> で定義されています: typedef struct { void *data; size_t size; } cpuctl_update_args_t; data フィールドは、サイズ size のファームウェアイメー ジを指すべきです。 追加情報については、cpuctl.h を参照してください。 関連ファイル /dev/cpuctl エラー [ENXIO] 要求された操作が、デバイスで、サポートされていません (例えば、サポートされないアーキテクチャ、または CPU が 無効にされています)。 [EINVAL] 不正な要求が、提供されたか、またはマイクロコードイメー ジが、正しくありません。 [ENOMEM] 物理的なメモリが、要求を終了するために利用可能ではあり ませんでした。 [EFAULT] ファームウェアイメージのアドレスが、プロセスのアドレス 空間の外を指しています。 関連項目 hwpmc(4), cpucontrol(8) 歴史 cpuctl ドライバは、FreeBSD 7.2 ではじめて登場しました。 作者 cpuctl モジュールとこのマニュアルページは、Stanislav Sedov <stas@FreeBSD.org> によって書かれました。 バグ たぶん、あります、もしあれば報告してください。 FreeBSD 12.2 June 20, 2014 FreeBSD 12.2