Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/iommu/amd/iommu.c dev_flush_pasid_all() -> amd_iommu_dev_flush_pasid_pages()

Type Parameter Key Value
PARAM_VALUE 0 dev_data 4096-ptr_max
PARAM_VALUE 0 dev_data->dev 4096-ptr_max
PARAM_VALUE 0 dev_data->gcr3_info.gcr3_tbl 0,18379471554275704832,18446612682070032384
PARAM_VALUE 0 dev_data->gcr3_info.glx 0-3
PARAM_VALUE 2 address 0
PARAM_VALUE 3 last u64max
BUF_SIZE 0 dev_data s32min-(-1),1-s32max
BUF_SIZE 0 dev_data s32min-(-1),1-s32max
DATA_SOURCE 0 dev_data $0
DATA_SOURCE 1 pasid $1
NOSPEC 1 pasid
NOSPEC 1 pasid
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 pasid 1-4294967294[c]
UNITS 0 dev_data unit_byte
HALF_LOCKED2 &sva_pdom->lock
HALF_LOCKED2 flags
HALF_LOCKED2 0 &dev_data->mutex

drivers/iommu/amd/pasid.c sva_arch_invalidate_secondary_tlbs() -> amd_iommu_dev_flush_pasid_pages()

Type Parameter Key Value
DATA_SOURCE 2 address $2
NOSPEC 2 address
NOSPEC 2 address
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 2 address 0-u64max[c]
UNITS 0 dev_data unit_byte
LOCK2 &sva_pdom->lock
LOCK2 flags
LOCK2 global &srcu
HALF_LOCKED2 &mm->context.ldt_usr_sem
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct protection_domain)->lock