vgic_its
static void vgic_its_iter_next(struct vgic_its *its, struct vgic_its_iter *iter)
struct vgic_its *its = s->private;
struct vgic_its *its = s->private;
struct vgic_its *its = s->private;
struct vgic_its *its = dev->private;
static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its,
static void vgic_its_free_device(struct kvm *kvm, struct vgic_its *its,
static void vgic_its_free_device_list(struct kvm *kvm, struct vgic_its *its)
static void vgic_its_free_collection_list(struct kvm *kvm, struct vgic_its *its)
static struct its_device *vgic_its_alloc_device(struct vgic_its *its,
static int vgic_its_cmd_handle_mapd(struct kvm *kvm, struct vgic_its *its,
static int vgic_its_cmd_handle_mapc(struct kvm *kvm, struct vgic_its *its,
static int vgic_its_cmd_handle_clear(struct kvm *kvm, struct vgic_its *its,
static int vgic_its_cmd_handle_inv(struct kvm *kvm, struct vgic_its *its,
static int vgic_its_cmd_handle_invall(struct kvm *kvm, struct vgic_its *its,
static int vgic_its_cmd_handle_movall(struct kvm *kvm, struct vgic_its *its,
static int vgic_its_cmd_handle_int(struct kvm *kvm, struct vgic_its *its,
static int vgic_its_handle_command(struct kvm *kvm, struct vgic_its *its,
struct vgic_its *its,
static void vgic_mmio_write_its_cbaser(struct kvm *kvm, struct vgic_its *its,
static void vgic_its_process_commands(struct kvm *kvm, struct vgic_its *its)
static void vgic_mmio_write_its_cwriter(struct kvm *kvm, struct vgic_its *its,
struct vgic_its *its,
struct vgic_its *its,
struct vgic_its *its,
struct vgic_its *its,
struct vgic_its *its,
int (*save_tables)(struct vgic_its *its);
struct vgic_its *its,
int (*restore_tables)(struct vgic_its *its);
int (*commit)(struct vgic_its *its);
static void vgic_mmio_write_its_ctlr(struct kvm *kvm, struct vgic_its *its,
static void its_mmio_write_wi(struct kvm *kvm, struct vgic_its *its,
static int vgic_register_its_iodev(struct kvm *kvm, struct vgic_its *its,
struct vgic_its *its;
its = kzalloc_obj(struct vgic_its, GFP_KERNEL_ACCOUNT);
inline const struct vgic_its_abi *vgic_its_get_abi(struct vgic_its *its)
struct vgic_its *its = kvm_dev->private;
struct vgic_its *its;
static int vgic_its_set_abi(struct vgic_its *its, u32 rev)
typedef int (*entry_fn_t)(struct vgic_its *its, u32 id, void *entry,
static int scan_its_table(struct vgic_its *its, gpa_t base, int size, u32 esz,
static struct its_device *find_its_device(struct vgic_its *its, u32 device_id)
static int vgic_its_save_ite(struct vgic_its *its, struct its_device *dev,
static int vgic_its_restore_ite(struct vgic_its *its, u32 event_id,
static int vgic_its_save_itt(struct vgic_its *its, struct its_device *device)
static int vgic_its_restore_itt(struct vgic_its *its, struct its_device *dev)
static struct its_ite *find_ite(struct vgic_its *its, u32 device_id,
static int vgic_its_save_dte(struct vgic_its *its, struct its_device *dev,
static int vgic_its_restore_dte(struct vgic_its *its, u32 id,
static int vgic_its_save_device_tables(struct vgic_its *its)
static int handle_l1_dte(struct vgic_its *its, u32 id, void *addr,
static int vgic_its_restore_device_tables(struct vgic_its *its)
static int vgic_its_save_cte(struct vgic_its *its,
static int vgic_its_restore_cte(struct vgic_its *its, gpa_t gpa)
static int vgic_its_save_collection_table(struct vgic_its *its)
static int vgic_its_restore_collection_table(struct vgic_its *its)
static int vgic_its_save_tables_v0(struct vgic_its *its)
static struct its_collection *find_collection(struct vgic_its *its, int coll_id)
static int vgic_its_restore_tables_v0(struct vgic_its *its)
static int vgic_its_commit_v0(struct vgic_its *its)
static void vgic_its_reset(struct kvm *kvm, struct vgic_its *its)
static int vgic_its_ctrl(struct kvm *kvm, struct vgic_its *its, u64 attr)
struct vgic_its *its = dev->private;
struct vgic_its *its = dev->private;
static int vgic_its_save_tables_v0(struct vgic_its *its);
static int vgic_its_restore_tables_v0(struct vgic_its *its);
static int vgic_its_commit_v0(struct vgic_its *its);
static void update_affinity_collection(struct kvm *kvm, struct vgic_its *its,
struct vgic_its *its,
struct vgic_its *its,
struct vgic_its *its,
struct vgic_its *its,
static struct vgic_its *__vgic_doorbell_to_its(struct kvm *kvm, gpa_t db)
struct vgic_its *its;
static void vgic_its_cache_translation(struct kvm *kvm, struct vgic_its *its,
static void vgic_its_invalidate_cache(struct vgic_its *its)
struct vgic_its *its;
int vgic_its_resolve_lpi(struct kvm *kvm, struct vgic_its *its,
struct vgic_its *vgic_msi_to_its(struct kvm *kvm, struct kvm_msi *msi)
static int vgic_its_trigger_msi(struct kvm *kvm, struct vgic_its *its,
struct vgic_its *its;
static int vgic_its_cmd_handle_discard(struct kvm *kvm, struct vgic_its *its,
static int vgic_its_cmd_handle_movi(struct kvm *kvm, struct vgic_its *its,
static bool __is_visible_gfn_locked(struct vgic_its *its, gpa_t gpa)
static bool vgic_its_check_id(struct vgic_its *its, u64 baser, u32 id,
static bool vgic_its_check_event_id(struct vgic_its *its, struct its_device *device,
static int vgic_its_alloc_collection(struct vgic_its *its,
static void vgic_its_free_collection(struct vgic_its *its, u32 coll_id)
unsigned long (*its_read)(struct kvm *kvm, struct vgic_its *its,
void (*its_write)(struct kvm *kvm, struct vgic_its *its,
int (*uaccess_its_write)(struct kvm *kvm, struct vgic_its *its,
static struct vgic_its *vgic_get_its(struct kvm *kvm,
struct vgic_its *its;
int vgic_its_resolve_lpi(struct kvm *kvm, struct vgic_its *its,
struct vgic_its *vgic_msi_to_its(struct kvm *kvm, struct kvm_msi *msi);
struct vgic_its;
struct vgic_its *its;