cg14test は、cg14 フレームバッファーカードを検査します。このテストは、SPARCstation 10 SX および SPARCstation 20 SX に搭載されている VSIMM (ビデオ SIMM) デバイス専用のテストです。
SunVTS cg14 フレームバッファーテストと、cg14 フレームバッファーを使用する Open Windows アプリケーションが衝突する可能性があるため、cg14test を実行する際には、以下の制限が適用されます。 SunVTS がフレームバッファーテストを実行している間は、OPEN LOOK 以外のグラフィックアプリケーションを実行しないでください。 SunVTS ウィンドウの外部、またはその上に重なるビデオ更新情報を生成する OPEN LOOK プログラムを実行しないでください。 フレームバッファーテストを実行している間は、SunVTS ウィンドウをアイコン化しないでください。
フレームバッファーのロックオプションは、必ず Options ウィンドウから有効にします (詳細は、『SunVTS 4.0 ユーザーマニュアル』の 「フレームバッファーのテスト」を参照してください)。
cg14test には、以下の 9 つのテストグループがあります。
MDI および VBC チップ制御レジスタ (MDI and VBC Chip Control Registers)
メモリーチップ (Memory Chips)
MDI チップカーソルレジスタ (MDI Chip Cursor Registers)
MDI チップ CLUT レジスタ (MDI Chip CLUT registers)
DAC チップレジスタ (DAC Chip Registers
MDI チップ XLU レジスタ (MDI Chip XLU Registers)
CG14 ディスプレイ(CG14 Display) (目視のみ)
ビットモードでの MDI チップテストモードリードバック (MDI Chip Testmode Readback in 8-bit mode)
ドライバ IOCTL (Driver IOCTLs)
グループ |
説明 |
---|---|
ハードウェア (テストグループ 1 〜 6) |
/dev/fbs/cgfourteenX を開き、読み書き共有の MDI 制御アドレス空間を割り当て (mmap) ます。割り当てられたアドレス空間への直接書き込みを使用して、ターゲットのテスト位置を修正し、確認のため割り当てられたアドレス空間から読み取り、デバイスをクローズします。 |
画像パターン (テストグループ 7) |
256 色の画像パターンを読み込み、パターンを回転させます。このサブテストは、目視で確認する必要があります。 |
データ伝播 (テストグループ 8)
|
フレームバッファー (FB) メモリーに 4 つのニュートラルデータパターンを読み込み、テストモードリードバックラッチをトリガーするデータをターゲット FB ピクセルに設定します。結果は、垂直ブランキングが行われた後に、リードバックレジスタから読み取られます。2 つの異なるトリガーパターンが FB の各ピクセルに使用されます。4 つの MDI ピクセルパス (A 〜 D) がすべて使用され、トリガーごとのピクセル位置は、グロス MDI 入力データのオープンまたはショート、VRAM SAM アドレス指定、VRAM SAM 転送アドレス指定を検出するようになっています。 画面は、グレースケールまたはカラーの 4 つの水平バーを表示します。これらのバーは、トリガーデータが反転するたびに、および 1 つのラスターパターンのテストが完了したときに変化します。 注 - 解像度と VRAM 容量によっては、8 ビット/ピクセルのモードがテストされます。 |
ドライバ (テストグループ 9)
|
ハードウェアへのドライバ通信の検査に、それまで使用されていない IOCTL コールをすべてテストします。ドライバを呼び出してハードウェア更新を実行し、次に、補完ドライバ読み取りを使用するか、割り当て (mmap) られたアドレス空間を読み取ってスティミュラスと比較し、更新が正常に完了したかどうかを確認します。
cg14test は、(可能な場合には) 各ステップの前後に以下の作業を行うことによって、テストの全体的流れを維持し、視覚的に混乱するのを防止します。 1. 上書きされる前にレジスタのデータを保存します。 2. 可能な場合はビデオを使用不可にします。 3. 固有のテストを実行します。 4. 保存したレジスタデータ情報を復元します。 レジスタテストに使用されるデータは、すべて 0、すべて 1、テスト中に各ビットに 1 が移動するなどに最適化されています。 |
MDI および VBC チップ 制御レジスタ (テストグループ 1)
|
マスター制御レジスタのビット 7 〜 0 を書き込み・読み取り照合
|
メモリーチップ (テストグループ 2) |
メモリーチップテストグループは、VRAM テスト、メモリー保持、書き込み回復テストから構成されています。 VRAM テスト データバステストは、18 個の NTA パターン (Nair、Thatte、Abraham のメモリーテスト手法) を使用して、データ障害とアドレス障害がないかどうかを検査します。このテストは、MDI_CHUNKY_XBGR_MAP アクセスモードでのみ実行されます (表 7-2 参照)。 テストは以下のように行われます。ゼロ解除しながら、FB メモリーを昇順にアクセスします。 NTA パターンテスト番号 x は、ある位置を読み取ってデータ y が存在していることを確認します。次に、新しいデータ z をその位置に書き込みます。位置は、FB 内を昇順に移っていきます。
メモリー保持 VRAM データ保持テストは、VRAM の更新に大きな問題がないかどうかを検査します。このテスト中は、更新が有効なため、更新に欠陥がないかぎり、データ保持での問題は発生しません。
このテストは、ビデオを無効にし、すべての VRAM に 0 を書き込み、指定されたメモリー保持時間 (デフォルトは 5 秒) を待ってから、すべての VRAM データを読み取って比較します。このプロセスが f のデータで繰り返されてからビデオが復元され、テストが完了します。
このテストに関係する「R=数値」と「H=数値」の 2 つの新しいコマンド行パラメタがあります。R= を使用して、128 〜 1023 の範囲で更新間隔を指定することができます。更新サイクルと、システムのデフォルトとの間の時間は 123 です。H= を使用して、保持テストの保持時間を秒単位で指定することができます。 |
メモリーチップ (テストグループ 2) (続き)
|
書き込み回復 書き込み回復テストは、すべての EMC 割り当てモードで使用され、データ 0x0000000 を書き込み、直後にそのデータ位置を読み取って VRAM が書き込みから正しく回復できるかどうかを検査します。これをすべての位置に昇順で行います。次に、 2 回目のもう 1 つのパスが、先程とは反対のデータ 0xffffffff を、メモリーバッファーに降順で書き込みます。
EMC 割り当てアクセスモードは以下のとおりです。
|
MDI チップの カーソルレジスタ (テストグループ 3)
|
MDI チップのカーソルレジスタのテスト内容は以下のとおりです。
|
MDI チップの CLUT レジスタ (テストグループ 4) |
MDI チップの CLUT レジスタのテスト内容は以下のとおりです。
|
DAC チップの レジスタ (テストグループ 5)
|
DAC チップのレジスタのテストグループは、RAMDAC レジスタと制御レジスタのテストから構成されています。
RAMDAC レジスタ
制御レジスタ
|
MDI チップの XLUT レジスタ (テストグループ 6) |
チップの XLUT レジスタグループのテスト内容は以下のとおりです。
|
CG14 ディスプレイ(テストグループ 7) (目視のみ) |
このテストは、(それぞれ異なる色で) 画面に 256 個のボックスを表示し、次にCLUT1 エントリをシフトさせて、パターンが左から右に水平に反射したような視覚的印象を与えます。その後、パターンは回転しながら上下してから左から右に水平に反射します。 |
MDI チップのテストモードリードバックレジスタ (テストグループ 8) |
読み取り専用および検証モードでバックレジスタのビット 23 〜 0 を読み取ります。 |
ドライバ IOCTL (テストグループ 9) |
|
ドライバ IOCTL (テストグループ 9) (続き) |
|
表 7-2 cg14test の NTA テストパターン
NTA テスト パターン 番号 = x |
テストデータ = y |
新データ = z |
---|---|---|
1.0 | 0x00000000 | 0x01010101 |
1.5 | 0x01010101 | 0xffffffff |
2.1 | 0xffffffff | 0xf1f1f1f1 |
2.2 | 0xf1f1f1f1 | 0x33333333 |
3.1 | 0x33333333 | 0xf0f0f0f0 |
3.2 | 0xf0f0f0f0 | 0x0f0f0f0f |
4.1 | 0x0f0f0f0f | 0x55555555 |
4.2 | 0x55555555 | 0xaaaaaaaa |
5.1 | 0xaaaaaaaa | 0x05050505 (1x)0x88888888 (2x) |
5.2 | 0x88888888 | 0xf5f5f5f5 |
6.1 | 0xf5f5f5f5 | 0x00000000 (1x)0x5f5f5f5f (2x) |
6.2 | 0x5f5f5f5f | 0x11111111 |
7.1 | 0x11111111 | 0x00000000 (1x)0xcccccccc (2x) |
7.2 | 0xcccccccc | 0xdbdbdbdb |
8.1 | 0xdbdbdbdb | 0x6d6d6d6d |
8.2 | 0x6d6d6d6d | 0x6b6b6b6b |
9.1 | 0x6b6b6b6b | 0x0000000 |
9.2 | 0x00000000 | - |
ダイアログボックスを表示するには、システムマップにあるテスト名を右クリックし、Test Parameter Options を選択します。システムマップにこのテスト名が表示されない場合は、グループツリーを展開すると表示される場合があります。展開しても表示されない場合は、このテストに合ったデバイスがシステムに含まれていない可能性があります。詳細は、『SunVTS 4.0 ユーザーマニュアル』を参照してください。
オプション |
説明 |
---|---|
FB Locking |
詳細は、『SunVTS 4.0 ユーザーマニュアル』の「複数フレームバッファーのテスト」の節を参照してください。 |
Long Test |
このオプションを有効にすると、MDI テストモードリードバックテストの「カラーバー」画面で、clock=0 モードと clock=1 モードのすべての SAM 転送を検査します。無効にすると、clock=1 モードで実行され、最初の 8 つのアドレスと最初の SAM 転送だけが検査されます。 |
Processor Affinity |
マルチプロセッサシステムの場合に、テストするプロセッサ番号を指定します。 |
/opt/SUNWvts/bin/cg14test 標準引数 -o dev=デバイス名, lock=E(有効)/D(無効),L,I
表 7-4 cg14test のコマンド行構文
引数 |
説明 |
---|---|
dev=デバイス名 |
テストする cg14 デバイスファイルのパスを指定します。 例: /dev/fbs/デバイス名 |
lock=E(有効)/D(無効) |
ウィンドウシステムのロックオプションを有効または無効にします。詳細は、『SunVTS 4.0 ユーザーマニュアル』の「フレームバッファーのテスト」の節を参照してください。 デバイスがウィンドウシステムのディスプレイの場合は、このオプションを使用しないでください。 |
L |
長時間の TMRB テストを有効にします。 |
I |
カーソルに対するオプションの ioctl テストを有効にします。 注 - このオプションを特定した場合は、cg14test の実行中にマウスを動かさないでください。 |
64 ビットのテストは、sparcv9 サブディレクトリに格納されています (/opt/SUNWvts/bin/sparcv9/テスト名)。このディレクトリにテストが存在しない場合は、そのテストは、32 ビットのテストとしてだけ実行することができます。詳細は、「32 ビットテストと 64 ビットテスト」を参照してください。
グラフィックテストの性格上、グラフィックテスト中にフレームバッファーを読み書きすると、ユーザーの作業の障害になることがあります。このため、このテストは、オフラインの機能テストモードでのみ使用することができます。
表 7-5 cg14test のテストモード
テストモード |
サポート |
説明 |
---|---|---|
接続テスト |
× |
サポートされていません。 |
機能テスト (オフライン) |
○ |
このモードでは、cg14 フレームバッファーをテストするときにすべてのサブテストが使用されます。ユーザーは、TRMB サブテストに対して Long モードを選択できます。 |
機能テスト (オンライン) |
× |
サポートされていません。 |
|
エラーメッセージ |
考えられる原因 |
対処方法 |
---|---|---|---|
6002 |
MDI 名前 register = 数値 |
CG14 ビデオボード不良 |
|
6004 |
MDI Cursor planes retry test maximum retry limit exceeded |
CG14 ビデオボード不良 |
|
6006 |
名前 error message |
CG14 ビデオボード不良 |
|
6008 |
Failed open of file 名前, errno=数値 |
ディスク不良 |
|
CPU ボード不良 |
|
||
6010 |
Failed write to file 名前, errno=数値 |
CG14ビデオボード不良 |
|
CPU ボード不良 |
|
||
ディスク不良 |
|
||
6012 |
Failed close of file 名前, errno=数値 |
ディスク不良 |
|
CPU ボード不良 |
|
||
6014 |
MDI chip TestMode Readback, 数値-bit 名前 mode, offset= 数値 pixelpipe=名前 clock=数値 exp=数値 obs=数値 |
|
|
6016 |
MEM (名前), Data Retention offset= 数値 exp=数値 obs=数値 |
CG14ビデオボード不良 |
|
CPU ボード不良 |
|
||
6018 |
MEM (名前), NTA 名前 offset= 数値 exp=数値 obs=数値 |
CG14 ビデオボード不良 |
|
CPU ボード不良 |
|
||
6020 |
MEM (名前), WRRD 名前 offset= 数値 exp=数値 obs=数値 |
CG14 ビデオボード不良 |
|
CPU ボード不良 |
|
||
6022 |
failed, mapping 名前 space, errno = 数値 |
CG14 ビデオボード不良 |
|
SunOS |
|
||
CG14 ビデオボード不良 |
|
||
CPU ボード不良 |
|
||
6024 |
MEM (名前), WRRD 名前 offset= 数値 exp=数値 obs=数値 |
SunOS |
|
CG14 ビデオボード不良 |
|
||
CPU ボード不良 |
|
||
6026 |
VBC Control Register exp=数値 obs=数値 |
CG14 ビデオボード不良 |
|
CPU ボード不良 |
|
||
8002 |
名前 is an invalid parameter for 名前! |
操作の誤り |
|
8004 |
unable to close device 名前 |
CG14 ビデオボード不良 |
|
SunOS |
|
||
CG14 ビデオボード不良 |
|
||
8006 |
invalid CG14 device type from 名前 |
CG14 ビデオボード不良 |
|
SunOS |
|
||
CG14 ビデオボード不良 |
|
||
8008 |
IOCTL Error: 名前 |
CPU ボード不良 |
|
CG14 ビデオボード不良 |
|
||
8008 |
IOCTL(名前) 名前 |
CPU ボード不良 |
|
CG14 ビデオボード不良 |
|
||
8010 |
unable to unlock OL windows |
SunOS |
|
操作の誤り |
|
||
8012 |
IOCTL(名前,CLUT数値) 名前 |
CG14 ビデオボード不良 |
|
SunOS |
|
||
CG14 ビデオボード不良 |
|
||
8014 |
unable to open CG14 device 名前 |
不正なデバイス名 |
|
デバイスが存在しない |
|
||
CG14 ビデオボード不良 |
|