|
My Project
|
Classes | |
| union | uk_header |
| struct | uku_version_check_args |
Enumerations | |
| enum | uk_client_id { UK_CLIENT_MALI_T600_BASE, UK_CLIENT_COUNT } |
| enum | uk_func { UKP_FUNC_ID_CHECK_VERSION, UK_FUNC_ID = 512 } |
The User-Kernel Interface abstracts the communication mechanism between the user and kernel-side code of device drivers developed as part of the Midgard DDK. Currently that includes the Base driver and the UMP driver.
It exposes an OS independent API to user-side code (UKU) which routes functions calls to an OS-independent kernel-side API (UKK) via an OS-specific communication mechanism.
This API is internal to the Midgard DDK and is not exposed to any applications.
| enum uk_client_id |
These are identifiers for kernel-side drivers implementing a UK interface, aka UKK clients. The UK module maps this to an OS specific device name, e.g. "gpu_base" -> "GPU0:". Specify this identifier to select a UKK client to the uku_open() function.
When a new UKK client driver is created a new identifier needs to be added to the uk_client_id enumeration and the uku_open() implemenation for the various OS ports need to be updated to provide a mapping of the identifier to the OS specific device name.
| Enumerator | |
|---|---|
| UK_CLIENT_MALI_T600_BASE | Value used to identify the Base driver UK client. |
| UK_CLIENT_COUNT | The number of uk clients supported. This must be the last member of the enum |
| enum uk_func |
Each function callable through the UK interface has a unique number. Functions provided by UK clients start from number UK_FUNC_ID. Numbers below UK_FUNC_ID are used for internal UK functions.
| Enumerator | |
|---|---|
| UKP_FUNC_ID_CHECK_VERSION | UKK Core internal function |
| UK_FUNC_ID | Each UK client numbers the functions they provide starting from number UK_FUNC_ID. This number is then eventually assigned to the id field of the union uk_header structure when preparing to make a UK call. See your UK client for a list of their function numbers. |
1.8.13