Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/xen/events/events_2l.c xen_debug_interrupt() -> irq_from_evtchn()

Type Parameter Key Value
PARAM_VALUE 0 evtchn 0-4095
CAPPED_DATA 0 evtchn 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &debug_lock
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags

drivers/xen/privcmd.c alloc_ioreq() -> irq_from_evtchn()

Type Parameter Key Value
USER_DATA 0 evtchn 0-u32max
LOCK2 global &ioreq_lock

drivers/xen/privcmd.c ioreq_free() -> irq_from_evtchn()

Type Parameter Key Value
LOCK2 global &ioreq_lock

drivers/xen/evtchn.c evtchn_ioctl() -> irq_from_evtchn()

Type Parameter Key Value
PARAM_VALUE 0 evtchn 0-4294967294
CAPPED_DATA 0 evtchn 1
USER_DATA 0 evtchn 0-s32max[c]
LOCK2 &u->bind_mutex
TYPE_LOCK (struct per_user_data)->bind_mutex

drivers/xen/evtchn.c evtchn_release() -> irq_from_evtchn()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/xen/evtchn.c evtchn_unbind_from_user() -> irq_from_evtchn()

Type Parameter Key Value
NOSPEC 0 evtchn
NOSPEC 0 evtchn
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 evtchn 0-s32max[c]
HALF_LOCKED2 &u->bind_mutex

drivers/xen/evtchn.c evtchn_write() -> irq_from_evtchn()

Type Parameter Key Value
CAPPED_DATA 0 evtchn 1
USER_DATA 0 evtchn 0-u32max[c]
LOCK2 &u->bind_mutex
TYPE_LOCK (struct per_user_data)->bind_mutex