My Project
Classes | Enumerations
User-Kernel Interface API

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 }
 

Detailed Description

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.

Enumeration Type Documentation

◆ 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

◆ uk_func

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.