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.