SunVTS 3.4 テストリファレンスマニュアル

第 43 章 ピクセルプロセッサテスト (sxtest)

sxtest テストは、オンボードのピクセルプロセッサモジュールを搭載した SPARCstation(TM) 10 と SPARCstation 20 を検査します。sxtest は、SPARCstation 10 SX および 20 SX の VSIMM (ビデオ SIMM)、および SX メモリーコントローラデバイス専用のテストです。

sxtest は、ピクセルプロセッサの制御レジスタ、仮想メモリー、ビデオメモリーからデータを読み取って照合することによって、ピクセルプロセッサの読み込みエラー、格納エラー、ALU エラー、ロジックエラーなどを検出します。

また、cg14 フレームバッファーとそのデバイスドライバ、ビデオメモリー、データメモリーの統合機能を検査します。さらに、目視検査のためにフレームバッファーにテストパターンを書き込みます。このテストの正確さは、CPU、メモリーカード、cg14 グラフィックスカードなどの他のハードウェアに依存するため、sxtest は、cg14test やその他のテストの実行後に実行してください。sxtest は、図 43-1 に示す 13 個のモジュールから構成されます。

sxtest テストの条件

cg14 SunVTS フレームバッファーテストと、cg14 フレームバッファーを使用する OpenWindows アプリケーションが衝突する可能性があるため、sxtest SunVTS テストを実行するときには以下の制限が適用されます。

sxtest のオプション

ダイアログボックスを表示するには、システムマップにあるテスト名を右クリックし、Test Parameter Options を選択します。システムマップにこのテスト名が表示されない場合は、グループツリーを展開すると表示される場合があります。展開しても表示されない場合は、このテストに合ったデバイスがシステムに含まれていない可能性があります。詳細は、『SunVTS 3.4 ユーザーマニュアル』を参照してください。

図 43-1 sxtest のテストパラメタオプションダイアログボックス (CMEM: 0 MB, なし, cg14 ボード)

Graphic


注 -

sxtest オプションダイアログボックスは、テストシステムの構成を基に作成されます。


図 43-2 sxtest のテストパラメタオプションダイアログボックス (CMEM: 4MB, cg14: 4MB)

Graphic

sxtest のテストパラメタ

sxtest のオプションは以下のとおりです。

表 43-1 sxtest のテストパラメタオプション

オプション 

説明 

 FB ロック

OpenWindows ソフトウェアが動作するウィンドウサーバーでは、フレームバッファーロックはデフォルトで有効になります。 

詳細は、『SunVTS 3.4 ユーザーマニュアル』のマルチフレームバッファーのテストの説明を参照してください。

CMEM (連続メモリー)  

システムに使用可能な連続メモリーが 4 MB 以上ある場合は、0 または 4 を選択します。 

SPARCstation 10 で CMEM を設定する場合は、以下のように入力します。 

cd/usr/platform/SUNW,SPARCstation10,SX/sbin

CMEM を設定するには、システムに 32 MB 以上のメモリーが必要です。 

例: 

% sxconfig -s 4 -1 28 -f

cgfourteen0(MB) 

0、4、8 のいずれかを選択します。 

  • 8 を選択すると、8 MB の VRAM (ビデオランダムアクセスメモリー) を持つシステム上で、VRAM のサブテストが有効になります。

  • 4 を選択すると、4 MB のVRAM を持つシステム上で、VRAM のサブテストが有効になります。

  • 0 を選択すると、VRAM のサブテストが無効になります。

注意: VRAM を有効にして sxtest を実行する場合は、フレームバッファーロックも有効にしてください。有効にしないと、テストが失敗します。

sxtest モジュールの説明

以下の表に、13 個の sxtest モジュールを示します。

表 43-2 sxtest モジュール

モジュール 

説明 

Display (モジュール 0)  

クリックして有効にし、画像パターンを表示します。 

 

以下の 3 つのサブテストでは、SPAM ライブラリを呼び出して絵を表示し、SPARCstation 10 SX ビデオシステムを介して、カーネルおよび SPAM ライブラリのサブセットの完全性を検査します。これらのルーチンは、SPAM デモプログラムから移植されています。cg14 フレームバッファーが存在しない場合、または、VRAM が無効にされている場合は、このモジュールのサブテストは、いずれも実行されません。 

 

以下のサブテストは、それぞれ他のサブテストの合間に絵を表示することによって、システムが停止しているのか、または sxtest が実行中であるのかを判断しやすくします。

 

  • rect_test : 数多くのランダムな矩形を画面一杯に描画します。32 ビットモードの OpenWindows が動作していると、矩形は CHUNKY_XBGR モードで描画され、動作していなければ、SPAM ライブラリルーチン sl_rect_fill_32 を使用して CHUNKY_C8 モードで描画されます。

  • shaa : SPAM ライブラリルーチン sl_line_shaa_32sl_span_load_8sl_rect_fill_8 を使用して、CHUNKY_BGR モードで陰影付きの線分の絵を描画します。

    注 - テストが 8 ビットウィンドウで実行されている場合は、shaa テストは行われません。

  • lines : 様々な色の線分を画面一杯に描画します。これらの線分は、32 ビットモードの OpenWindows が動作している場合は CHUNKY_XBGR モードで描画され、動作していない場合は、SPAM ライブラリルーチン sl_line_fill_8 を使用して CHUNKY_C8 モードで描画されます。

MUL (モジュール 1) 

クリックして有効にし、乗算器の動作のテストを選択します。 

 

以下の 8 つのサブテストが呼び出されます。各サブテストには、ランダムに生成された 2500 個の MUL SPAM マクロが割り当てられます。 

  • sp_mul0

  • sp_mul1

  • sp_mul2

  • sp_mul3

  • sp_mul4

  • sp_mul5

  • sp_mul6

  • sp_mul7

 

各サブテストは、以下に示すように、ランダムな SPAM MUL マクロパターンを実行して、SPAM MUL 命令セットを検査します。 

  • spam_dot(S_0,R42,R45,R31,5)

  • spam_mulr(L_16,R44,R29,R52,1)

  • spam_mul(S_15,R115,R114,R58,4)

  • spam_mul(L_16,R89,R110,R81,8)

  • spam_mulr(S_8,R21,R76,R53,1)

  • spam_saxpr(S_8,R54,R46,R98,2)

  • spam_dotr(L_16,R75,R40,R20,5)

  • spam_dot(L_16,R44,R45,R84,4)

  • spam_saxp(L_0,R93,R96,R44,8)

  • spam_mulr(L_0,R86,R56,R56,5)

  • spam_dotr(L_0,R14,R62,R40,2)

  • spam_saxpr(S_15,R112,R85,R95,7)

ALU (モジュール 2) 

クリックして有効にし、ALU の動作のテストを選択します。 

 

以下の 5 つのサブテストが呼び出されます。各サブテストには、ランダムに生成された 2500 個の ALU SPAM マクロが割り当てられます。 

  • sp_alu0

  • sp_alu1

  • sp_alu2

  • sp_alu3

  • sp_alu4

 

各サブテストは、以下に示すように、ランダムな SPAM ALU マクロパターンを実行して、SPAM ALU 命令セットを検査します。 

  • spam_subv(R101,R31,R42,1)

  • spam_subs(R90,R44,R90,14)

  • spam_subv(R44,R70,R29,14)

  • spam_sum(R58,R95,R114,9)

  • spam_adds(R54,R46,R98,10)

  • spam_addi(R9,51,R68,9)

  • spam_abs(R76,R28,7)

  • spam_addv(R80,R59,R93,11)

ROP (モジュール 3) 

クリックして有効にし、ROP の動作のテストを選択します。 

以下の 5 つのサブテストが呼び出され、各サブテストには、2500 個のランダムに生成された ROP SPAM マクロが割り当てられます。 

  • sp_rop0

  • sp_rop1

  • sp_rop2

  • sp_rop3

  • sp_rop4

 

各サブテストは、以下に示すように、ランダムな SPAM ROP マクロパターンを実行して、SPAM ROP 命令セットを検査します。 

  • spam_selb(R101,R31,R42,1)

  • spam_ropl(R90,R27,R44,14)

  • spam_sels(R19,R16,R112,15)

  • spam_ropm(R47,R29,R96,16)

  • spam_selb(R52,R43,R29,5)

  • spam_ropb(R115,R114,R58,7)

  • spam_selv(R57,R75,R16,2)

  • spam_ropm(R110,R93,R83,13)

LOGIC (モジュール 4) 

クリックして有効にし、論理演算のテストを選択します。 

 

以下の 5 種類のサブテストが呼び出されます。各サブテストには、2500 個のランダムに生成された LOGIC SPAM マクロが割り当てられます。 

  • sp_logic0

  • sp_logic1

  • sp_logic2

  • sp_logic3

  • sp_logic4

 

各サブテストは、以下に示すように、ランダムな SPAM LOGIC マクロパターンを実行して、SPAM LOGIC 命令セットを検査します。 

  • spam_xors(R101,R31,R42,1)

  • spam_xori(R90,101,R90,14)

  • spam_xorv(R30,R19,R95,13)

  • spam_ands(R108,R16,R125,1)

  • spam_andv(R115,R114,R58,7)

  • spam_ors(R46,R89,R8,16)

  • spam_orv(R57,R75,R16,2)

  • spam_andi(R9,51,R68,9)

SHIFT (モジュール 5) 

クリックして有効にし、シフト操作のテストを選択します。 

 

以下の 5 つのサブテストが呼び出されます。各サブテストには、2500 個のランダムに生成された SHIFT SPAM マクロが割り当てられます。 

  • sp_shift0

  • sp_shift1

  • sp_shift2

  • sp_shift3

  • sp_shift4

 

各サブテストは、以下に示すように、ランダムな SPAM SHIFT マクロパターンを実行して、SPAM SHIFT 命令セットを検査します。 

  • spam_sllv(R101,R31,R42,1)

  • spam_slli(R90,5,R90,14)

  • spam_srai(R30,19,R95,13)

  • spam_srli(R108,16,R125,1)

  • spam_sllv(R52,R43,R29,5)

  • spam_slfi(R46,25,R8,16)

  • spam_slfs(R57,R75,R16,2)

  • spam_srav(R54,R44,R93,8)

  • spam_srlv(R58,R60,R96,16)

COMP (モジュール 6) 

クリックして有効にし、比較操作のテストを選択します。 

 

以下の 5 つのサブテストが呼び出されます。各サブテストには、2500 個のランダムに生成された COMP SPAM マクロが割り当てられます。 

  • sp_comp0

  • sp_comp1

  • sp_comp2

  • sp_comp3

  • sp_comp4

 

各サブテストは、以下に示すように、ランダムな SPAM COMP マクロパターンを実行して、SPAM COMP 命令セットを検査します。 

  • spam_cmpv_gt(R101,R31,R42,1)

  • spam_cmps_lt(R90,R44,R90,14)

  • spam_cmps_eq(R95,R112,R19,12)

  • spam_cmpv_lt(R115,R114,R58,7)

  • spam_cmps_gt(R46,R89,R8,16)

  • spam_cmps_eq(R57,R75,R16,2)

  • spam_cmpv_le(R54,R46,R98,10)

  • spam_cmpv_eq(R9,R51,R68,9)

  • spam_cmps_gt(R76,R103,R28,7)

  • spam_cmpv_eq(R52,R37,R50,8)

  • spam_cmpv_ge(R61,R86,R16,12)

MISC (モジュール 7) 

クリックして有効にし、補助操作のテストを選択します。 

 

以下の 5 つのサブテストが呼び出されます。各サブテストには、2500 個のランダムに生成された MISC SPAM マクロが割り当てられます。 

  • sp_misc0

  • sp_misc1

  • sp_misc2

  • sp_misc3

  • sp_misc4

 

各サブテストは、以下に示す SPAM MISC マクロパターンを実行して、SPAM MISC 命令セットを検査します。 

  • spam_scat(R45,-1,R29,1)

  • spam_gath(R95,-6,R114,9)

  • spam_delt(R89,R9,R16,16)

  • spam_plot(R54,R46,R98,10)

  • spam_plot(R53,R20,R75,16)

  • spam_scat(R91,-2,R70,9)

  • spam_gath(R120,-2,R51,15)

  • spam_delt(R59,R95,R120,1)

MADR (モジュール 8) 

クリックして有効にし、sx のアドレス線のテストを選択します。

 

以下の 8 つのサブテストが呼び出されます。各サブテストは spam_stld 命令と spam_ldld 命令を使用して 0x100000 DRAM アドレスを検証します。8 つのサブテストをすべて実行した後に、4 MB の VRAM と 4 MB の DRAM のすべてのアドレスビットとデータビットが検査されます。

  • 0x00000000-0x000fffff

  • 0x00100000-0x001fffff

  • 0x00200000-0x002fffff

  • 0x00300000-0x003fffff

  • 0xfc000000-0xfc0fffff *

  • 0xfc100000-0xfc1fffff *

  • 0xfc200000-0xfc2fffff *

  • 0xfc300000-0xfc3fffff *

* CMEM オプションが無効な場合は、これらのサブテストは行われません。 

SMCALL (モジュール 9) 

クリックして有効にし、sxtest 機能の簡易テストを選択します。

 

spam.smcall から以下の 11 のサブテストが呼び出され、SMC チップの全般的な機能を検証します。サブテストすべてに、cg14 バージョンと非 cg14 バージョンがあります。各サブテストは 4 回繰り返され、実行のたびに IQ FIFO のエントリ数 (8、16、32、64) が変更されます。

  • shift_ldst

  • instr_mix *

  • arith_ldst

  • cmp_ldst

  • select_ldst

  • interlock_all *

  • logic_ldst

  • mult_ldst

  • rop

  • scat_ldst

  • delt_ldst

* VRAM オプションが無効な場合は、これらのサブテストは行われません。 

MCNT (モジュール 10) 

クリックして有効にし、繰り返し回数を変更しながら、読み込み機能と格納機能のテストを実行します。 

 

以下の 12 のサブテストが呼び出されます。各サブテストは、アドレスオフセットとアイテム数を変更して、SPAM の格納機能を検査します。 

  • spsd_stba_cnt

  • spsd_stbd_cnt

  • spsd_stbds_cnt

  • spsd_stcd_cnt

  • spsd_stla_cnt

  • spsd_stld_cnt

  • spsd_stlds_cnt

  • spsd_stpd_cnt

  • spsd_stqd_cnt

  • spsd_stsa_cnt

  • spsd_stsd_cnt

  • spsd_stsds_cnt

GRIF (モジュール 11) 

クリックして有効にし、グラフィックインタフェースロジックのテストを選択します。 

 

以下の 36 のサブテストが呼び出されます。各サブテストは、読み込み命令と格納命令を使用して SPAM のグラフィックインタフェースロジックを検査します。cg14 が存在しない場合は、これらのサブテストは実行されません。

  • spsd_stbd_dram

  • spsd_stbd_xbgr

  • spsd_stbd_bgr

  • spsd_stbd_8x

  • spsd_stbd_8c

  • spsd_stbd_x32

  • spsd_stbd_b32

  • spsd_stbd_g32

  • spsd_stbd_r32

  • spsd_stsd_dram

  • spsd_stsd_xbgr

  • spsd_stsd_bgr

  • spsd_stsd_8x

  • spsd_stsd_8c

  • spsd_stsd_x32

  • spsd_stsd_b32

  • spsd_stsd_g32

  • spsd_stsd_r32

  • spsd_ldbd_dram

  • spsd_ldbd_xbgr

  • spsd_ldbd_bgr

  • spsd_ldbd_8x

  • spsd_ldbd_8c

  • spsd_ldbd_x32

  • spsd_ldbd_b32

  • spsd_ldbd_g32

  • spsd_ldbd_r32

  • spsd_ldsd_dram

  • spsd_ldsd_xbgr

 GRIF (モジュール 11) (続き)
  • spsd_ldsd_bgr

  • spsd_ldsd_8x

  • spsd_ldsd_8c

  • spsd_ldsd_x32

  • spsd_ldsd_b32

  • spsd_ldsd_g32

  • spsd_ldsd_r32

REGF (モジュール 12) 

クリックして有効にし、レジスタファイルのポインタロジックのテストを選択します。 

 

spam.regfile ファイルから以下の 22 のサブテストが呼び出され、各種 SPAM 命令を使用してレジスタファイルのロジックを検査します。

  • readpointer1 *

  • readpointer2 *

  • readpointer3 *

  • readpointer4 *

  • writepointer1 *

  • writepointer2 *

  • writepointer3 *

  • writepointer4 *

  • readpointer5 *

  • writepointer5 *

  • rdptr0 �/LITERAL>

  • wrptr0 �/LITERAL>

  • rdptr1 �/LITERAL>

  • wrptr1 �/LITERAL>

  • rdptr2 �/LITERAL>

  • wrptr2 �/LITERAL>

  • rdptr3 �/LITERAL>

  • wrptr3 �/LITERAL>

  • rdptr4 �/LITERAL>

  • wrptr4 �/LITERAL>

  • rdptr5 �/LITERAL>

  • wrptr5 �/LITERAL>

* VRAM オプションが無効な場合は、これらのサブテストは行われません。 

�CMEM オプションが無効な場合は、これらのサブテストは行われません。 

sxtest のテストモード

グラフィックテストの性格上、グラフィックテスト中にフレームバッファーを読み書きすると、ユーザーの作業の障害になることがあります。sxtest は、オフラインの機能テスト (Functional Test) モードでのみ実行することができます。デフォルトでは、このテストモードでは、sxtest は画像サブテスト、メモリーアドレスサブテスト、メモリーカウントサブテスト、グラフィックインタフェースサブテスト、レジスタファイルサブテストを実行しますが、必要に応じてその他のサブテストの選択および選択解除もできます。

sxtest のコマンド行構文

/opt/SUNWvts/bin/sxtest 標準引数 -o dev=デバイス名, lock=E(有効)/D(無効),tm=終了モジュール番号,cmem=n,vram=n,md=XXX

表 43-3 sxtest のコマンド行構文

引数 

説明 

dev=デバイス名

テストを行うデバイス名を指定します。

lock=E(有効)/D(無効)

フレームバッファーロックを有効または無効にします。詳細は、『SunVTS 3.4 ユーザーマニュアル』の「フレームバッファーのテスト」の節を参照してください。OpenWindows ソフトウェアを動作させているウィンドウサーバーでは、デフォルトでフレームバッファーロックが有効になります。

tm=終了モジュール番号

最後にテストするモジュール番号を指定します。これ以降の最後の 4 つの引数を使用し、sxtest を特定のテスト範囲に狭めます。

cmem=0|4

連続メモリーを有効または無効にします。1 を選択して有効にするか、0 を選択して無効にします。 

注 - システムの連続メモリーが 4 MB 未満の場合は、無効 (0) を選択する必要があります。 

cgfourteen0=0|4|8

ビデオランダムアクセスメモリーを有効または無効にします。 

4 を選択した場合は 4 MB の VRAM が有効になります。8 を選択した場合は 8 MB の VRAM が有効になります。0 を選択した場合は VRAM が無効になります。 

md=vis+alu+...

1 回のパスでテストするモジュールを選択します。 


注 -

64 ビットのテストは、sparcv9 サブディレクトリに格納されています (/opt/SUNWvts/bin/sparcv9/テスト名)。このディレクトリにテストが存在しない場合は、そのテストは、32 ビットのテストとしてだけ実行することができます。詳細は、「32 ビットテストと 64 ビットテスト」を参照してください。


sxtest のエラーメッセージ

表 43-4 sxtest のエラーメッセージ

 

エラーメッセージ 

考えられる原因 

対処方法 

6002

Unable to lock frame buffer

ウィンドウシステムは動作していないが、FB ロックが有効になっています。 

 

6004

Can't get sem 数値

 

 

6006

Failed lock sem:dev 数値, type 数値

 

 

6008

Failed unlock sem

 

 

6010

Failed GETVAL sem=

 

 

6012

Failed sem_val

 

 

6014

console_p() failed:

 

 

6016

Failed sem_setall

 

 

6017

Failed sem_rmid

 

 

6018

Failed get sem

 

 

6020

ioctl command 名前 failed

 

 

6022

エラーメッセージ

 

 

6024

Failed to malloc for 名前

 

 

6026

mem ccitt[名前+数値,名前+数値]: o:数値 e:数値 o^e:数値

 

 

 

6028

mem crc16[名前+数値,名前+数値]: o:数値 e:数値 o^e:数値

 

 

6030

reg ccitt: o:数値 e:数値 o^e:数値

 

 

6032

reg crc16: o:数値 e:数値 o^e:数値

 

 

6034

Failed to open 名前 device

 

 

6035

First Open of sx device

 

 

6036

Modules selected improperly!!!

 

 

6038

名前, i_module = 名前

 

 

6040

FB unlock request failed

 

 

8000

Can't acquire console semaphore

システムに過大な負荷がかかっています。 

システムの負荷を減らしてください。 

システムエラー 

エラーがなくならない場合は、購入先に問い合わせてください。 

8002

Can't get sem 数値

 

 

8004

Unable to set page bounds

 

 

8006

mmap: unable to map MDI control register space

 

 

8008

Failed to mmap 名前

 

 

8010

sxtest is only running in Functional test

 

 

8012

Failed to open 名前