Udiag Commands

UEFIdiag is a diagnostics environment that uses the UEFI shell to run the Udiag tool on Oracle x86 servers.

Note:

Udiag is sometimes referred to as MP (multiprocessing command).

This section includes the following topics that describe the Udiag tools that run in the UEFI shell:

Udiag Command Options

A Udiag command consists of the following structure: udiag [Flags]* [COMMAND [, COMMAND]*]

Udiag provides the command-line options shown in the following table.

Udiag Command Udiag Subcommand Description

cfgtbl

Displays installed UEFI tables.

cpu

{ cpuid | info | model | speed | linpack }

Runs tests and displays results about host CPUs (processors).

fpu

Runs tests on floating-point units (FPU) in x64 processors.

graphics

{ info | bars | grid | gradient | motion | memory | text } (X5, X6, X7, X8)

Displays available graphics modes or tests graphics modes.

hiiforms

{ list | <form_no> }

Shows available HII forms.

ipmi

{ state | diagver | getval | problems }

Use IPMI functionality to share information with Oracle ILOM.

memory { test | info }

{ test | info }

Runs tests and displays results about the host memory subsystem.

network

Displays Ethernet interfaces or runs external loopback tests.

nvdimm

(X8-2L, X8-8, X9-2L)

Decodes NFIT and PCAT ACPI tables provide information about NVDIMMs.

pci

{ cap | disable | enable | errors | find | read | retrain | sbr | status | toggle | write } (X9)

{ <device-vendor-id> | <bus> <dev> <func> <reg> | <bus> <dev> <func> <reg> <data> } (X5, X6, X7, X8)

Displays information and verifies the capabilities of PCIe devices.

storage

{ info | mst | rrt | srt | rwv }

Runs tests and displays information about system storage devices.

system

{ acpi | cpusockets | dimmspeed | info | inventory | pelink | usbspeed } (X9)

{ acpi | cpusockets | info | inventory | pelink | smbios } (X5, X6, X7, X8)

Runs tests and displays information about the system.

tpm

{ info }

{ info | ppll } (X5, X6)

Display basic Trusted Platform Module (TPM) information.

usb

Displays information on USB root hubs and devices.

Udiag Command Flags

UEFI Diagnostics processes flags in two steps. In the first step, the flags that appear before any command (but after udiag) are parsed and treated as the setting flags for the command that follows. In the second step, the flags that follow a command are used to override the setting for the command only.

Flag Parameter Description

-h, -help

Displays command help information.

-v, -V

Mutually exclusive flags that specify the amount of information commands may output. -v is verbose and -V is very verbose.

-pc

<n>

Repeats a command until <n> passes are reached. The default is 1.

-ec

<n>

Repeats a command until <n> errors are reached. The default is 0.

-time

<n>

Limits run to <n> seconds. The default is 0, which indicates no limit.

-s

<begin>

Specifies a generic 64-bit hexadecimal number that is command-specific. For example, memory tests use it as the lowest address of a memory range to test.

-e

<end>

Specifies a generic 64-bit hexadecimal number that is command-specific. For example, memory tests use it as the highest address of a memory range to test plus one byte.

-np

<n> | all

Specifies the number of application processors (APs) to use. The literal all specifies to use all enabled processors.

-ap

<n> ['<n>]*

Specifies one or more specific APs to use. The processor number 0 is reserved for the boot strap processor (BSP) and must not be used with this flag.

All APs are numbered from 1 through the maximum enabled processors.

To find the relationship between the AP number with the socket number, type:

udiag system acpi

For example, -ap 5f'1'10 allocates processors 5f, 1 and 10 to a command. Memory tests, for example, allocate the APs in the listed order to the sub-blocks in a test range sequentially starting with the lowest addressed sub-block. A typical application is to generate as much cross traffic on socket interconnects by assigning processors far from their sub-blocks.

-xt

Displays the time you executed the command. (X9, E2, E4 only)

When entering CLI commands, note the following rules:

  • Most commands support the -hv, -n, -v, -V, -pc, and -ec flags.

  • Application processors-capable commands support the -np and -ap flags.

  • Long running tests such as memory and storage support the -time flag.

  • The suffix * (for example, [<n>]*) after the right bracket indicates 0 or more repeated options.

Udiag Command Resource Requirements

This section describes processor resource requirements and instance limitations that are documented for each UEFI Diagnostics command. The following table provides a description of processor attributes and instance attributes.

To see a detailed command description of a UEFI command resource requirement, in the Oracle ILOM Serial or Video console, at the prompt, type udiag main-command [subcommand] -hv.

Resource Requirement Description

BSP_ONLY

A command runs on the boot strap processor (BSP) only. It must not be run on application processors (APs).

ONE_AP_OR_BSP

A command can run on the BSP or any one of the APs at a time.

ANY_PROC

A command can run on any APs or the BSP.

ONE_INSTANCE_ONLY

Only one instance of a command can be run at a time.

MULTIPLE_INSTANCES

Two or more copies of a command can run simultaneously.

UEFI Diagnostics Output

The UEFI diagnostic output format is the same, whether the output is displayed in a console (Manual mode) or in an output log file (Enabled or Extended mode).

If you experience any diagnostic test failures, contact Oracle Service personnel for assistance with interpreting diagnostic tests output.

Note:

Information-only commands do not display a test result unless an error such as an invalid parameter has been detected.

At the completion of the test, UEFI Diagnostics displays test results in either of the following formats:

  • COMMAND_ID: COMMAND_NAME: PASS, FAIL

  • COMMAND_ID: COMMAND_NAME: ERROR_STATUS

Where:

  • COMMAND_ID – Indicates all command instances that run, sequentially starting at 0.

  • COMMAND_NAME – Specifies the hierarchical command name of the command.

  • PASS or FAIL, displayed as Pass=<pass_count>, or Fail=<error_count> – Indicates that the test has either passed or failed, and must be consistent with the -pc and -ec flag settings. For example, if a test is invoked with -pc 10, then the execution status displays as Pass=10 if no error was detected.

  • ERROR_STATUS, displayed as Time Out, Aborted, Unknown Error, or UEFI_ERROR – Indicates that the command either failed to start a test or encountered a serious error that prevented it from completing the test.

Note:

The Time Out status typically indicates a failure for the boot strap processor portion of the command to communicate with the application processor portion of the command. This status must not be confused with the -time flag, which places a limit on the amount of test time.

An example of UEFI Diagnostics tests output is shown below.

FS0:\> mp memory test addr0
 0: memory_test_addr0: Pass=1, Fail=0

FS0:\> mp storage srt all -time 5
Testing: SATA0    Progress:  50% : Passed
Testing: SATA1    Progress: 100% : Passed
Total Progress: 100%

 0: storage_srt_all: Pass=2, Fail=0

FS0:\> mp fpu -np all -pc 100
 0: fpu       : Pass=100, Fail=0