OPAL_WRITE_OPPANEL_ASYNC

#define OPAL_WRITE_OPPANEL_ASYNC             95

typedef struct oppanel_line {
     __be64 line;
     __be64 line_len;
} oppanel_line_t;

int64_t opal_write_oppanel_async(uint64_t async_token,
                                 oppanel_line_t *lines,
                                 uint64_t num_lines);

Writes to a (possibly physical) Operator Panel. An Operator Panel contains a small LCD screen (or similar) displaying a small amount of ASCII text. It can be used to report on boot progress, failure, or witty messages from a systems administrator.

A typical panel, as present on IBM FSP based machines, is two lines of 16 characters each.

See Operator Panel (oppanel) for how the panel is described in the device tree. Not all systems have an operator panel.

Pass in an array of oppanel_line_t structs defining the ASCII characters to display on each line of the oppanel. If there are two lines on the physical panel, and you only want to write to the first line, you only need to pass in one line. If you only want to write to the second line, you need to pass in both lines, and set the line_len of the first line to zero.

Returns

OPAL_SUCCESS
Success! Typically this is async operation, so immediate success is unlikely.
OPAL_ASYNC_COMPLETION
Request submitted asynchronously.
OPAL_PARAMETER
Invalid lines or num_lines
OPAL_NO_MEM
Not enough free memory in OPAL to complete the request.
OPAL_INTERNAL_ERROR
Other internal error.