| H A D | vgic-its.c | 3 * GICv3 ITS emulation 28 static int vgic_its_save_tables_v0(struct vgic_its *its); 29 static int vgic_its_restore_tables_v0(struct vgic_its *its); 30 static void vgic_its_commit_v0(struct vgic_its *its); 71 * If this LPI is already mapped on another ITS, we increase its refcount 155 * struct vgic_its_abi - ITS abi ops and settings 159 * @save_tables: save the ITS tables into guest RAM 160 * @restore_tables: restore the ITS internal structs from tables 169 int (*save_tables)(struct vgic_its *its); 190 vgic_its_get_abi(struct vgic_its * its) vgic_its_get_abi() argument 195 vgic_its_set_abi(struct vgic_its * its,u32 rev) vgic_its_set_abi() argument 208 find_its_device(struct vgic_its * its,u32 device_id) find_its_device() argument 224 find_ite(struct vgic_its * its,u32 device_id,u32 event_id) find_ite() argument 242 for_each_lpi_its(dev,ite,its) global() argument 259 find_collection(struct vgic_its * its,int coll_id) find_collection() argument 363 update_affinity_collection(struct kvm * kvm,struct vgic_its * its,struct its_collection * coll) update_affinity_collection() argument 434 vgic_mmio_read_its_typer(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len) vgic_mmio_read_its_typer() argument 456 vgic_mmio_read_its_iidr(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len) vgic_mmio_read_its_iidr() argument 467 vgic_mmio_uaccess_write_its_iidr(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len,unsigned long val) vgic_mmio_uaccess_write_its_iidr() argument 479 vgic_mmio_read_its_idregs(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len) vgic_mmio_read_its_idregs() argument 534 struct vgic_its *its; vgic_its_check_cache() local 555 vgic_its_cache_translation(struct kvm * kvm,struct vgic_its * its,u32 devid,u32 eventid,struct vgic_irq * irq) vgic_its_cache_translation() argument 593 vgic_its_invalidate_cache(struct vgic_its * its) vgic_its_invalidate_cache() argument 610 struct vgic_its *its; vgic_its_invalidate_all_caches() local 625 vgic_its_resolve_lpi(struct kvm * kvm,struct vgic_its * its,u32 devid,u32 eventid,struct vgic_irq ** irq) vgic_its_resolve_lpi() argument 673 vgic_its_trigger_msi(struct kvm * kvm,struct vgic_its * its,u32 devid,u32 eventid) vgic_its_trigger_msi() argument 722 struct vgic_its *its; vgic_its_inject_msi() local 790 vgic_its_cmd_handle_discard(struct kvm * kvm,struct vgic_its * its,u64 * its_cmd) vgic_its_cmd_handle_discard() argument 821 vgic_its_cmd_handle_movi(struct kvm * kvm,struct vgic_its * its,u64 * its_cmd) vgic_its_cmd_handle_movi() argument 850 __is_visible_gfn_locked(struct vgic_its * its,gpa_t gpa) __is_visible_gfn_locked() argument 869 vgic_its_check_id(struct vgic_its * its,u64 baser,u32 id,gpa_t * eaddr) vgic_its_check_id() argument 940 vgic_its_check_event_id(struct vgic_its * its,struct its_device * device,u32 event_id) vgic_its_check_event_id() argument 959 vgic_its_alloc_collection(struct vgic_its * its,struct its_collection ** colp,u32 coll_id) vgic_its_alloc_collection() argument 978 vgic_its_free_collection(struct vgic_its * its,u32 coll_id) vgic_its_free_collection() argument 1024 vgic_its_cmd_handle_mapi(struct kvm * kvm,struct vgic_its * its,u64 * its_cmd) vgic_its_cmd_handle_mapi() argument 1092 vgic_its_free_device(struct kvm * kvm,struct vgic_its * its,struct its_device * device) vgic_its_free_device() argument 1112 vgic_its_free_device_list(struct kvm * kvm,struct vgic_its * its) vgic_its_free_device_list() argument 1121 vgic_its_free_collection_list(struct kvm * kvm,struct vgic_its * its) vgic_its_free_collection_list() argument 1130 vgic_its_alloc_device(struct vgic_its * its,u32 device_id,gpa_t itt_addr,u8 num_eventid_bits) vgic_its_alloc_device() argument 1153 vgic_its_cmd_handle_mapd(struct kvm * kvm,struct vgic_its * its,u64 * its_cmd) vgic_its_cmd_handle_mapd() argument 1196 vgic_its_cmd_handle_mapc(struct kvm * kvm,struct vgic_its * its,u64 * its_cmd) vgic_its_cmd_handle_mapc() argument 1243 vgic_its_cmd_handle_clear(struct kvm * kvm,struct vgic_its * its,u64 * its_cmd) vgic_its_cmd_handle_clear() argument 1273 vgic_its_cmd_handle_inv(struct kvm * kvm,struct vgic_its * its,u64 * its_cmd) vgic_its_cmd_handle_inv() argument 1326 vgic_its_cmd_handle_invall(struct kvm * kvm,struct vgic_its * its,u64 * its_cmd) vgic_its_cmd_handle_invall() argument 1351 vgic_its_cmd_handle_movall(struct kvm * kvm,struct vgic_its * its,u64 * its_cmd) vgic_its_cmd_handle_movall() argument 1388 vgic_its_cmd_handle_int(struct kvm * kvm,struct vgic_its * its,u64 * its_cmd) vgic_its_cmd_handle_int() argument 1401 vgic_its_handle_command(struct kvm * kvm,struct vgic_its * its,u64 * its_cmd) vgic_its_handle_command() argument 1488 vgic_mmio_read_its_cbaser(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len) vgic_mmio_read_its_cbaser() argument 1494 vgic_mmio_write_its_cbaser(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len,unsigned long val) vgic_mmio_write_its_cbaser() argument 1519 vgic_its_process_commands(struct kvm * kvm,struct vgic_its * its) vgic_its_process_commands() argument 1555 vgic_mmio_write_its_cwriter(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len,unsigned long val) vgic_mmio_write_its_cwriter() argument 1580 vgic_mmio_read_its_cwriter(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len) vgic_mmio_read_its_cwriter() argument 1587 vgic_mmio_read_its_creadr(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len) vgic_mmio_read_its_creadr() argument 1594 vgic_mmio_uaccess_write_its_creadr(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len,unsigned long val) vgic_mmio_uaccess_write_its_creadr() argument 1622 vgic_mmio_read_its_baser(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len) vgic_mmio_read_its_baser() argument 1644 vgic_mmio_write_its_baser(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len,unsigned long val) vgic_mmio_write_its_baser() argument 1698 vgic_mmio_read_its_ctlr(struct kvm * vcpu,struct vgic_its * its,gpa_t addr,unsigned int len) vgic_mmio_read_its_ctlr() argument 1713 vgic_mmio_write_its_ctlr(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len,unsigned long val) vgic_mmio_write_its_ctlr() argument 1762 its_mmio_write_wi(struct kvm * kvm,struct vgic_its * its,gpa_t addr,unsigned int len,unsigned long val) its_mmio_write_wi() argument 1804 vgic_register_its_iodev(struct kvm * kvm,struct vgic_its * its,u64 addr) vgic_register_its_iodev() argument 1846 struct vgic_its *its; vgic_its_create() local 1906 struct vgic_its *its = kvm_dev->private; vgic_its_destroy() local 1948 struct vgic_its *its; vgic_its_attr_regs_access() local 2069 scan_its_table(struct vgic_its * its,gpa_t base,int size,u32 esz,int start_id,entry_fn_t fn,void * opaque) scan_its_table() argument 2107 vgic_its_save_ite(struct vgic_its * its,struct its_device * dev,struct its_ite * ite,gpa_t gpa) vgic_its_save_ite() argument 2130 vgic_its_restore_ite(struct vgic_its * its,u32 event_id,void * ptr,void * opaque) vgic_its_restore_ite() argument 2197 vgic_its_save_itt(struct vgic_its * its,struct its_device * device) vgic_its_save_itt() argument 2234 vgic_its_restore_itt(struct vgic_its * its,struct its_device * dev) vgic_its_restore_itt() argument 2259 vgic_its_save_dte(struct vgic_its * its,struct its_device * dev,gpa_t ptr) vgic_its_save_dte() argument 2287 vgic_its_restore_dte(struct vgic_its * its,u32 id,void * ptr,void * opaque) vgic_its_restore_dte() argument 2351 vgic_its_save_device_tables(struct vgic_its * its) vgic_its_save_device_tables() argument 2392 handle_l1_dte(struct vgic_its * its,u32 id,void * addr,void * opaque) handle_l1_dte() argument 2419 vgic_its_restore_device_tables(struct vgic_its * its) vgic_its_restore_device_tables() argument 2452 vgic_its_save_cte(struct vgic_its * its,struct its_collection * collection,gpa_t gpa) vgic_its_save_cte() argument 2471 vgic_its_restore_cte(struct vgic_its * its,gpa_t gpa) vgic_its_restore_cte() argument 2511 vgic_its_save_collection_table(struct vgic_its * its) vgic_its_save_collection_table() argument 2548 vgic_its_restore_collection_table(struct vgic_its * its) vgic_its_restore_collection_table() argument 2585 vgic_its_save_tables_v0(struct vgic_its * its) vgic_its_save_tables_v0() argument 2601 vgic_its_restore_tables_v0(struct vgic_its * its) vgic_its_restore_tables_v0() argument 2615 vgic_its_commit_v0(struct vgic_its * its) vgic_its_commit_v0() argument 2631 vgic_its_reset(struct kvm * kvm,struct vgic_its * its) vgic_its_reset() argument 2672 vgic_its_ctrl(struct kvm * kvm,struct vgic_its * its,u64 attr) vgic_its_ctrl() argument 2732 struct vgic_its *its = dev->private; vgic_its_set_attr() local 2779 struct vgic_its *its = dev->private; vgic_its_get_attr() local [all...] |
| H A D | irq-gic-v3-its.c | 44 #include "irq-gic-its-msi-parent.h" 83 * value of BASER register configuration and ITS page size. 95 * The ITS structure - contains most of the infrastructure, with the 131 #define is_v4(its) (!!((its)->typer & GITS_TYPER_VLPIS)) argument 132 #define is_v4_1(its) (!!((its)->typer & GITS_TYPER_VMAPP)) argument 133 #define device_ids(its) (FIELD_GET(GITS_TYPER_DEVBITS, (its)->typer) + 1) argument 165 * The ITS vie 172 struct its_node *its; global() member 298 require_its_list_vmovp(struct its_vm * vm,struct its_node * its) require_its_list_vmovp() argument 310 struct its_node *its; get_its_list() local 333 struct its_node *its = its_dev->its; dev_event_to_col() local 422 valid_vpe(struct its_node * its,struct its_vpe * vpe) valid_vpe() argument 708 its_build_mapd_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_mapd_cmd() argument 728 its_build_mapc_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_mapc_cmd() argument 742 its_build_mapti_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_mapti_cmd() argument 762 its_build_movi_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_movi_cmd() argument 781 its_build_discard_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_discard_cmd() argument 799 its_build_inv_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_inv_cmd() argument 817 its_build_int_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_int_cmd() argument 835 its_build_clear_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_clear_cmd() argument 853 its_build_invall_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_invall_cmd() argument 865 its_build_vinvall_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_vinvall_cmd() argument 877 its_build_vmapp_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_vmapp_cmd() argument 936 its_build_vmapti_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_vmapti_cmd() argument 959 its_build_vmovi_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_vmovi_cmd() argument 982 its_build_vmovp_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_vmovp_cmd() argument 1005 its_build_vinv_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_vinv_cmd() argument 1023 its_build_vint_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_vint_cmd() argument 1041 its_build_vclear_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_vclear_cmd() argument 1059 its_build_invdb_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_invdb_cmd() argument 1074 its_build_vsgi_cmd(struct its_node * its,struct its_cmd_block * cmd,struct its_cmd_desc * desc) its_build_vsgi_cmd() argument 1094 its_cmd_ptr_to_offset(struct its_node * its,struct its_cmd_block * ptr) its_cmd_ptr_to_offset() argument 1100 its_queue_full(struct its_node * its) its_queue_full() argument 1115 its_allocate_entry(struct its_node * its) its_allocate_entry() argument 1145 its_post_commands(struct its_node * its) its_post_commands() argument 1154 its_flush_cmd(struct its_node * its,struct its_cmd_block * cmd) its_flush_cmd() argument 1166 its_wait_for_range_completion(struct its_node * its,u64 prev_idx,struct its_cmd_block * to) its_wait_for_range_completion() argument 1250 its_build_sync_cmd(struct its_node * its,struct its_cmd_block * sync_cmd,struct its_collection * sync_col) its_build_sync_cmd() argument 1316 its_send_mapc(struct its_node * its,struct its_collection * col,int valid) its_send_mapc() argument 1360 its_send_invall(struct its_node * its,struct its_collection * col) its_send_invall() argument 1396 its_send_vmapp(struct its_node * its,struct its_vpe * vpe,bool valid) its_send_vmapp() argument 1411 struct its_node *its; its_send_vmovp() local 1448 its_send_vinvall(struct its_node * its,struct its_vpe * vpe) its_send_vinvall() argument 1498 its_send_invdb(struct its_node * its,struct its_vpe * vpe) its_send_invdb() argument 1809 struct its_node *its = its_dev->its; its_irq_get_msi_base() local 1873 its_map_vm(struct its_node * its,struct its_vm * vm) its_map_vm() argument 1900 its_unmap_vm(struct its_node * its,struct its_vm * vm) its_unmap_vm() argument 2365 its_read_baser(struct its_node * its,struct its_baser * baser) its_read_baser() argument 2372 its_write_baser(struct its_node * its,struct its_baser * baser,u64 val) its_write_baser() argument 2381 its_setup_baser(struct its_node * its,struct its_baser * baser,u64 cache,u64 shr,u32 order,bool indirect) its_setup_baser() argument 2490 its_parse_indirect_baser(struct its_node * its,struct its_baser * baser,u32 * order,u32 ids) its_parse_indirect_baser() argument 2555 compute_its_aff(struct its_node * its) compute_its_aff() argument 2573 struct its_node *its; find_sibling_its() local 2604 its_free_tables(struct its_node * its) its_free_tables() argument 2616 its_probe_baser_psz(struct its_node * its,struct its_baser * baser) its_probe_baser_psz() argument 2664 its_alloc_tables(struct its_node * its) its_alloc_tables() argument 2735 struct its_node *its; inherit_vpe_l1_table_from_its() local 3024 its_alloc_collections(struct its_node * its) its_alloc_collections() argument 3286 its_cpu_init_collection(struct its_node * its) its_cpu_init_collection() argument 3327 struct its_node *its; its_cpu_init_collections() local 3337 its_find_device(struct its_node * its,u32 dev_id) its_find_device() argument 3356 its_get_baser(struct its_node * its,u32 type) its_get_baser() argument 3368 its_alloc_table_entry(struct its_node * its,struct its_baser * baser,u32 id) its_alloc_table_entry() argument 3411 its_alloc_device_table(struct its_node * its,u32 dev_id) its_alloc_device_table() argument 3426 struct its_node *its; its_alloc_vpe_table() local 3466 its_create_device(struct its_node * its,u32 dev_id,int nvecs,bool alloc_lpis) its_create_device() argument 3575 struct its_node *its; its_msi_prepare() local 3689 struct its_node *its = its_dev->its; its_irq_domain_alloc() local 3916 struct its_node *its; its_vpe_set_affinity() local 4059 struct its_node *its; its_vpe_invall() local 4195 struct its_node *its = *this_cpu_ptr(&local_4_1_its); find_4_1_its() local 4213 struct its_node *its; its_vpe_4_1_send_inv() local 4394 struct its_node *its = find_4_1_its(); its_sgi_set_irqchip_state() local 4687 struct its_node *its; its_vpe_irq_domain_activate() local 4716 struct its_node *its; its_vpe_irq_domain_deactivate() local 4784 struct its_node *its = data; its_enable_quirk_cavium_22375() local 4796 struct its_node *its = data; its_enable_quirk_cavium_23144() local 4805 struct its_node *its = data; its_enable_quirk_qdf2400_e0065() local 4816 struct its_node *its = its_dev->its; its_irq_get_msi_base_pre_its() local 4830 struct its_node *its = data; its_enable_quirk_socionext_synquacer() local 4857 struct its_node *its = data; its_enable_quirk_hip07_161600802() local 4869 struct its_node *its = data; its_enable_rk3588001() local 4883 struct its_node *its = data; its_set_non_coherent() local 4891 struct its_node *its = data; its_enable_quirk_hip09_162100801() local 4987 its_enable_quirks(struct its_node * its) its_enable_quirks() argument 5000 struct its_node *its; its_save_disable() local 5036 struct its_node *its; its_restore_enable() local 5135 its_init_domain(struct its_node * its) its_init_domain() argument 5162 struct its_node *its; its_init_vpe_domain() local 5198 its_compute_its_list_map(struct its_node * its) its_compute_its_list_map() argument 5235 its_probe_one(struct its_node * its) its_probe_one() argument 5510 struct its_node *its; its_node_init() local 5544 its_node_destroy(struct its_node * its) its_node_destroy() argument 5576 struct its_node *its; its_of_probe() local 5711 struct its_node *its; gic_acpi_parse_madt_its() local 5820 struct its_node *its; its_init() local [all...] |