Technical data

CHALLENGE/Onyx Diagnostic Road Map 5-15
As long as there are more processes than processors, Niblet tests will migrate. This is why
there are three copies of INVALID in “niblet b.” As long as INVALID is run on fewer than
six processors, it will migrate eventually. Tests run on fewer processors will migrate more
often.
If there are more processors than processes, one or more processors will go into a loop
waiting for the supertest to complete. Processors in this state will print No processes left
to run - twiddling
.
Because Niblet is intended to run with one UART per processor, it only prints failure
messages to the processor on which a test failed. The processor hosting the failure prints all
pertinent information and then sends interrupts to the other processors. The cause of the
failure is only available on the processor where the process actually failed; the other
processors will print Niblet failed on an interrupt. This is particularly important
when Niblet fails owing to a nonzero ERTOIP register, since the register can only be read
by the processor on which the error occurred. The processor hosting the error prints ERTOIP
is nonzero! (ERTOIP, CAUSE, EPC)
followed by the values of ERTOIP, CAUSE, and
EPC.
Whenever a supertest completes, the bootmaster CPU prints Supertest PASSED/FAILED
followed by Niblet Complete. None of the thirteen tests in the IP19 PROM should ever
generate a Supertest FAILED message under normal circumstances.
Niblet can be initiated while in POD mode by typing gm <Enter> followed by niblet n
<Enter>, where n is the set of tests that you wish to run.
5.6 IP19 PROM Error and Status Messages
During a normal system boot-up, the IP19 PROM provides a series of status messages that
are displayed by the System Controller. In the event of a failure during the boot process,
niblet 6 Runs MPSLOCK, MPMON, INVALID, MPSLOCK,
MPMON. Test takes disproportionately longer on
single-processor compared to multi-processor machines.
niblet 7 Runs MPROVE, MPROVE.
niblet 8 Runs INVALID, MPMON, MPMON, MPROVE, MPROVE,
MPROVE, MPINTADD, MPINTADD, MPHLOCK,
MPHLOCK (total of 10 processes).
niblet 9 Runs MPINTADD_4, MPINTADD_4, MPINTADD_4,
MPINTADD_4, INVALID, MPROVE, MPROVE,
MPROVE, MPHLOCK, MPHLOCK, MPSLOCK,
MPSLOCK (total of 12 processes).
Test Description
Table 5-2 (continued) Niblet Supertests