coprocessor_user_register Kernel Service

Purpose

Registers the current process as a coprocessor user.

Syntax

#include <sys/coprocessor.h>
kerrno_t coprocessor_user_register ( int coprocessor_type, unsigned int * phandle )

Parameters

Item Description
coprocessor_type Numeric value in the [0..63] range
phandle Pointer to an unsigned 32 bit integer where a handle identifying this process is returned.

Description

This kernel service allows a kernel extension to register the current process as a user of the coprocessor type passed as the first argument. When successful, the service sets up values in the process context that allow the current process to access coprocessors of the specified type in user mode.

Execution Environment

This kernel service can be called in the process environment only.

Return Values

When the call is successful, the kernel service returns a value of zero. Otherwise, a negative value is returned to indicate an error.

Error Values

Possible errors are:

  • Coprocessors not supported (supported only on POWER7® and newer processors)
  • Invalid coprocessor type (must be in the range 0-63).
  • Bad address passed as the second argument.
  • The current process is already registered for this coprocessor type.
  • The service is being called in interrupt context.
  • The service could not allocate a value for the handle.