FreeBSD kernel kern code
msi_if.m File Reference
#include <machine/bus.h>
#include <dev/iommu/iommu_msi.h>
Include dependency graph for msi_if.m:

Go to the source code of this file.

Variables

INTERFACE msi
 
 HEADER
 
 CODE
 
METHOD int alloc_msi
 
device_t child
 
int count
 
int maxcount
 
device_t * pic
 
struct intr_irqsrc ** srcs
 
METHOD int release_msi
 
METHOD int alloc_msix
 
struct intr_irqsrc ** src
 
METHOD int release_msix
 
METHOD int map_msi
 
uint64_t * addr
 
uint32_t * data
 
METHOD int iommu_init
 
struct iommu_domain ** domain
 
METHOD void iommu_deinit
 

Variable Documentation

◆ addr

uint64_t* addr

Definition at line 89 of file msi_if.m.

Referenced by __asan_alloca_poison(), __asan_loadN(), __asan_loadN_noabort(), __asan_poison_stack_memory(), __asan_storeN(), __asan_storeN_noabort(), __asan_unpoison_stack_memory(), __msan_instrument_asm_store(), __msan_metadata_ptr_for_load_n(), __msan_metadata_ptr_for_store_n(), __msan_poison(), __msan_poison_alloca(), __msan_unpoison(), __msan_unpoison_alloca(), __tsan_read_range(), __tsan_write_range(), _bus_dmamap_load_uio(), _bus_dmamap_load_vlist(), add_bounce_page(), addupc_task(), bt_hashhead(), bt_lookupbusy(), bufkva_alloc(), casuword(), casuword32(), contigfree(), copyout_map(), copyout_unmap(), do_wait(), elf_lookup(), free(), free_large(), fuword(), fuword32(), insert_region(), intr_map_msi(), kasan_mark(), kasan_report(), kasan_shadow_1byte_isvalid(), kasan_shadow_1byte_markvalid(), kasan_shadow_2byte_isvalid(), kasan_shadow_4byte_isvalid(), kasan_shadow_8byte_isvalid(), kasan_shadow_check(), kasan_shadow_map(), kasan_shadow_Nbyte_fill(), kasan_shadow_Nbyte_isvalid(), kasan_shadow_Nbyte_markvalid(), kcsan_access(), kdb_sysctl_trap(), kern_proc_setrlimit(), kern_proc_vmmap_out(), kern_proc_vmmap_resident(), kern_ptrace(), kmsan_mark(), kmsan_meta_get(), kmsan_orig(), kmsan_origin_fill(), kmsan_report_hook(), kmsan_shadow_check(), kmsan_shadow_fill(), kmsan_shadow_map(), link_elf_invoke_cbs(), link_elf_invoke_ctors(), load_file(), load_interp(), malloc_usable_size(), merge_upper_regions(), physmem_dump_tables(), preload_delete_name(), qc_import(), realloc(), reallocf(), select_check_badfd(), shared_page_init(), shm_mmap(), shm_mmap_large(), sosend(), sosend_dgram(), sosend_generic(), sys_ptrace(), sysctl_kern_proc_sigfastblk(), umtx_key_get(), umtx_shm(), umtx_shm_alive(), uuid_ether_add(), uuid_ether_del(), vmem_add(), vmem_add1(), vmem_bt_alloc(), vmem_free(), vmem_import(), vmem_xfree(), vn_io_fault1(), vn_mmap(), and zfree().

◆ alloc_msi

METHOD int alloc_msi
Initial value:
{
device_t dev

Definition at line 56 of file msi_if.m.

◆ alloc_msix

METHOD int alloc_msix
Initial value:
{
device_t dev

Definition at line 72 of file msi_if.m.

◆ child

device_t child

Definition at line 58 of file msi_if.m.

Referenced by adopt(), bus_child_location(), bus_child_pnpinfo(), bus_child_present(), bus_generic_activate_resource(), bus_generic_adjust_resource(), bus_generic_alloc_resource(), bus_generic_attach(), bus_generic_bind_intr(), bus_generic_deactivate_resource(), bus_generic_describe_intr(), bus_generic_detach(), bus_generic_driver_added(), bus_generic_get_bus_tag(), bus_generic_get_cpus(), bus_generic_get_device_path(), bus_generic_get_dma_tag(), bus_generic_get_property(), bus_generic_map_resource(), bus_generic_new_pass(), bus_generic_print_child(), bus_generic_release_resource(), bus_generic_resume(), bus_generic_resume_child(), bus_generic_resume_intr(), bus_generic_rl_alloc_resource(), bus_generic_rl_delete_resource(), bus_generic_rl_get_resource(), bus_generic_rl_release_resource(), bus_generic_rl_set_resource(), bus_generic_setup_intr(), bus_generic_shutdown(), bus_generic_suspend(), bus_generic_suspend_child(), bus_generic_suspend_intr(), bus_generic_teardown_intr(), bus_generic_unmap_resource(), bus_helper_reset_post(), bus_helper_reset_prepare(), bus_helper_reset_prepare_rollback(), bus_print_child_domain(), bus_print_child_header(), delist_dev_locked(), device_add_child_ordered(), device_delete_child(), device_delete_children(), device_find_child(), device_gen_nomatch(), device_get_children(), device_print_child(), device_probe_child(), domainset_restrict(), domainset_valid(), intr_alloc_msi(), intr_alloc_msix(), intr_child_irq_handler(), intr_map_msi(), intr_pic_add_handler(), intr_release_msi(), intr_release_msix(), isitmychild(), itismychild(), pctrie_lookup_ge(), pctrie_lookup_le(), pctrie_reclaim_allnodes_int(), proc_add_orphan(), proc_realparent(), proc_reparent(), resource_list_alloc(), resource_list_release(), resource_list_release_active(), resource_list_reserve(), resource_list_unreserve(), root_print_child(), sched_exit(), sched_exit_thread(), sched_fork(), sched_fork_thread(), witness_lock_order_add(), witness_lock_order_check(), and witness_lock_order_get().

◆ CODE

CODE
Initial value:
{
static int
iommu_init(device_t dev, device_t child, struct iommu_domain **domain)
{
*domain = NULL;
return (0);
}
static void
iommu_deinit(device_t dev, device_t child)
{
}
}
METHOD int iommu_init
Definition: msi_if.m:93
struct iommu_domain ** domain
Definition: msi_if.m:96
device_t child
Definition: msi_if.m:58
METHOD void iommu_deinit
Definition: msi_if.m:99

Definition at line 43 of file msi_if.m.

◆ count

int count

Definition at line 59 of file msi_if.m.

◆ data

struct intr_map_data * data

Definition at line 90 of file msi_if.m.

Referenced by accept_filt_generic_mod_event(), alq_write(), alq_writen(), aslr_ctl(), aslr_status(), compressor_write(), devctl2_ioctl(), devctl_notify(), devioctl(), domain_add(), finit(), finit_vnode(), firmware_register(), getenv_bool(), getenv_int(), getenv_int64(), getenv_long(), getenv_quad(), getenv_string(), getenv_uint(), getenv_uint64(), getenv_ulong(), giant_ioctl(), intr_activate_irq(), intr_alloc_map_data(), intr_deactivate_irq(), intr_free_intr_map_data(), intr_map_clone_irq(), intr_map_copy_map_data(), intr_map_get_map_data(), intr_map_irq(), intr_map_msi(), intr_resolve_irq(), intr_setup_irq(), intr_teardown_irq(), kcov_ioctl(), kern_ioctl(), kern_procctl(), kern_procctl_single(), kern_ptrace(), kern_syscall_module_handler(), khelp_modevent(), kqueue_ioctl(), ktls_decrypt(), logioctl(), malloc_init(), malloc_uninit(), mi_startup(), module_register(), module_register_init(), msg_prison_check(), msg_prison_get(), msg_prison_set(), no_new_privs_ctl(), no_new_privs_status(), notify(), osd_call(), pdeathsig_ctl(), pdeathsig_status(), pipe_ioctl(), pps_ioctl(), print_caddr_t(), prison0_init(), protect_set(), protmax_ctl(), protmax_status(), ptsdev_ioctl(), rangeset_insert(), reap_getpids(), reap_kill(), reap_status(), sbuf_drain_core_output(), sbuf_printf_drain(), sbuf_sysctl_drain(), sem_prison_check(), sem_prison_get(), sem_prison_set(), shared_page_fill(), shared_page_write(), shm_ioctl(), shm_prison_check(), shm_prison_get(), shm_prison_set(), soo_ioctl(), stackgap_ctl(), stackgap_status(), sys_ioctl(), sys_modstat(), sysctl_load_tunable_by_oid_locked(), termtty_ioctl(), timer2sbintime(), trace_ctl(), trace_status(), trapcap_ctl(), trapcap_status(), ttsetcompat(), tty_generic_ioctl(), tty_ioctl(), tty_ioctl_compat(), ttydev_ioctl(), ttydisc_recalc_charlength(), ttydisc_recalc_linelength(), ttyil_ioctl(), ttyinq_line_iterate(), ttyinq_line_iterate_from_linestart(), ttyinq_line_iterate_from_reprintpos(), tunable_bool_init(), tunable_int64_init(), tunable_int_init(), tunable_long_init(), tunable_quad_init(), tunable_str_init(), tunable_uint64_init(), tunable_ulong_init(), unp_externalize(), unp_internalize(), unp_internalize_cleanup_rights(), unp_scan(), vfs_modevent(), vn_io_fault_uiomove(), vn_ioctl(), witness_checkorder(), witness_lock_order_add(), witness_lock_order_get(), witness_output_drain(), wxmap_ctl(), and wxmap_status().

◆ domain

◆ HEADER

HEADER
Initial value:
{
struct intr_irqsrc

Definition at line 33 of file msi_if.m.

◆ iommu_deinit

DEFAULT iommu_deinit
Initial value:
{
device_t dev

Definition at line 99 of file msi_if.m.

◆ iommu_init

DEFAULT iommu_init
Initial value:
{
device_t dev

Definition at line 93 of file msi_if.m.

◆ map_msi

METHOD int map_msi
Initial value:
{
device_t dev

Definition at line 85 of file msi_if.m.

◆ maxcount

int maxcount

◆ msi

INTERFACE msi

◆ pic

◆ release_msi

METHOD int release_msi
Initial value:
{
device_t dev

Definition at line 65 of file msi_if.m.

◆ release_msix

METHOD int release_msix
Initial value:
{
device_t dev

Definition at line 79 of file msi_if.m.

◆ src

◆ srcs

struct intr_irqsrc ** srcs

Definition at line 62 of file msi_if.m.