Enumerated values used by the SMMUMAN client API
The following enumerated values and constants are defined in the smmu.h header file for the SMMUMAN client API.
#define SMMU_ABILITY_ATTACH_NAME "smmu/attach" #define SMMU_ABILITY_TARGET_NAME "smmu/target"
These abilities must be obtained before calling smmu_init().
Constant | Value | Meaning |
---|---|---|
SMMU_ABILITY_ATTACH_NAME | "smmu/attach" | Ability required to connect as a client of the smmuman service (see smmu_init()). |
SMMU_ABILITY_TARGET_NAME | "smmu/target" | Ability required to use the SMF_TARGET flag when calling smmu_mapping_add(). Currently reserved for the QNX Hypervisor. |
enum smmu_devid_type { SDT_PCI, SDT_MMIO, SDT_NUM_TYPES, };
The smmu_devid enumerated values specify the DMA device type. You can use these values when calling a smmu_device_add_*() function. The specified types include:
enum smmu_mapping_flags { SMF_NONE = 0x00, SMF_READ = 0x01, SMF_WRITE = 0x02, SMF_EXEC = 0x04, SMF_VIRT = 0x08, SMF_TARGET = 0x10, };
The smmu_mapping_flags enumerated values specify bitmaps with the permissions a smmuman service client requests the service to assign to a DMA device. These permissions include:
SMF_TARGET (0x10) — respect the value of the smmu_mapping_add() function's target argument
Do not set. Currently reserved for the QNX Hypervisor; the client must have the SMMU_ABILITY_TARGET_NAME custom ability.
enum smmu_obj_create_flags { SOCF_NONE = 0x0000, SOCF_RESERVED_MANUAL = 0x0001, };
The smmu_obj_create_flags enumerated values specify whether it is the smmuman service or the current client that looks after adding and removing any reserved memory regions required by the devices the client adds to a SMMU object:
Currently used only by the QNX Hypervisor. For more information about reserved memory regions, see the reserved option under Global options.
#define SMMU_PCI_FIELD_ANY (~0u)
The SMMU_PCI_FIELD_ANY constant can be used to allow any value for a PCI bus, device, or function number (see smmu_device_add_pci()).
For future use.
#define SSF_DROPPED_FAULTS 0x80000000u
SSF_DROPPED_FAULTS specifies the bit that the smmuman service sets in the smmu_status's flag member to indicate that it had to drop one or more transgression records (see smmu_xfer_status()).