its_vpe
(atomic_read(&vcpu->arch.vgic_cpu.vgic_v3.its_vpe.vlpi_count) ||
cpu_if->its_vpe.its_vm || !cpu_if->vgic_sre)
cpu_if->its_vpe.its_vm || !cpu_if->vgic_sre)
atomic_set(&vgic_cpu->vgic_v3.its_vpe.vlpi_count, 0);
if (vcpu->arch.vgic_cpu.vgic_v3.its_vpe.its_vm)
its_invall_vpe(&vcpu->arch.vgic_cpu.vgic_v3.its_vpe);
map.vpe = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe;
raw_spin_unlock(&vcpu->arch.vgic_cpu.vgic_v3.its_vpe.vpe_lock);
static void vgic_v4_sync_sgi_config(struct its_vpe *vpe, struct vgic_irq *irq)
struct its_vpe *vpe = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe;
struct its_vpe *vpe = &irq->target_vcpu->arch.vgic_cpu.vgic_v3.its_vpe;
dist->its_vm.vpes[i] = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe;
struct its_vpe *vpe = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe;
struct its_vpe *vpe = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe;
struct its_vpe *vpe = &vcpu->arch.vgic_cpu.vgic_v3.its_vpe;
.vpe = &irq->target_vcpu->arch.vgic_cpu.vgic_v3.its_vpe,
atomic_dec(&irq->target_vcpu->arch.vgic_cpu.vgic_v3.its_vpe.vlpi_count);
raw_spin_lock(&vcpu->arch.vgic_cpu.vgic_v3.its_vpe.vpe_lock);
vcpu->arch.vgic_cpu.vgic_v3.its_vpe.pending_last = true;
if (vcpu->arch.vgic_cpu.vgic_v3.its_vpe.pending_last)
static struct its_vpe *its_build_vinv_cmd(struct its_node *its,
static struct its_vpe *its_build_vint_cmd(struct its_node *its,
static struct its_vpe *its_build_vclear_cmd(struct its_node *its,
static struct its_vpe *its_build_invdb_cmd(struct its_node *its,
static struct its_vpe *its_build_vsgi_cmd(struct its_node *its,
struct its_vpe *sync_vpe)
struct its_vpe, its_build_vsync_cmd)
struct its_vpe *vpe, bool valid)
static void its_send_vmovp(struct its_vpe *vpe)
static void its_send_vinvall(struct its_node *its, struct its_vpe *vpe)
static void its_send_invdb(struct its_node *its, struct its_vpe *vpe)
struct its_vpe **vpes;
struct its_vpe *vpe = vm->vpes[i];
static int vpe_to_cpuid_lock(struct its_vpe *vpe, unsigned long *flags)
static void vpe_to_cpuid_unlock(struct its_vpe *vpe, unsigned long flags)
struct its_vpe *vpe = NULL;
static void its_vpe_db_proxy_unmap_locked(struct its_vpe *vpe)
static void its_vpe_db_proxy_unmap(struct its_vpe *vpe)
static void its_vpe_db_proxy_map_locked(struct its_vpe *vpe)
static void its_vpe_db_proxy_move(struct its_vpe *vpe, int from, int to)
static void its_vpe_4_1_invall_locked(int cpu, struct its_vpe *vpe)
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
struct its_vpe *vpe = NULL;
static void its_vpe_schedule(struct its_vpe *vpe)
static void its_vpe_deschedule(struct its_vpe *vpe)
static void its_vpe_invall(struct its_vpe *vpe)
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
static void its_vpe_send_cmd(struct its_vpe *vpe,
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
static struct its_vpe *valid_vpe(struct its_node *its, struct its_vpe *vpe)
static void its_vpe_4_1_schedule(struct its_vpe *vpe,
static void its_vpe_4_1_deschedule(struct its_vpe *vpe,
static void its_vpe_4_1_invall(struct its_vpe *vpe)
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
struct its_vpe *vpe = args;
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
static int its_vpe_init(struct its_vpe *vpe)
static void its_vpe_teardown(struct its_vpe *vpe)
struct its_vpe *vpe = irq_data_get_irq_chip_data(data);
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
struct its_vpe *vpe = irq_data_get_irq_chip_data(d);
struct its_vpe *vpe;
struct its_vpe *vpe;
struct its_vpe *vpe;
struct its_vpe *vpe;
struct its_vpe *vpe;
struct its_vpe *vpe;
struct its_vpe *vpe;
typedef struct its_vpe *(*its_cmd_vbuilder_t)(struct its_node *,
static struct its_vpe *its_build_vinvall_cmd(struct its_node *its,
static struct its_vpe *its_build_vmapp_cmd(struct its_node *its,
struct its_vpe *vpe = valid_vpe(its, desc->its_vmapp_cmd.vpe);
static struct its_vpe *its_build_vmapti_cmd(struct its_node *its,
static struct its_vpe *its_build_vmovi_cmd(struct its_node *its,
static struct its_vpe *its_build_vmovp_cmd(struct its_node *its,
static int its_alloc_vcpu_sgis(struct its_vpe *vpe, int idx)
static int its_send_vpe_cmd(struct its_vpe *vpe, struct its_cmd_info *info)
int its_make_vpe_non_resident(struct its_vpe *vpe, bool db)
int its_make_vpe_resident(struct its_vpe *vpe, bool g0en, bool g1en)
int its_commit_vpe(struct its_vpe *vpe)
int its_invall_vpe(struct its_vpe *vpe)
struct its_vpe its_vpe;
struct its_vpe;
struct its_vpe *vpe;
int its_make_vpe_resident(struct its_vpe *vpe, bool g0en, bool g1en);
int its_make_vpe_non_resident(struct its_vpe *vpe, bool db);
int its_commit_vpe(struct its_vpe *vpe);
int its_invall_vpe(struct its_vpe *vpe);
struct its_vpe **vpes;