Lines Matching refs:map

178 void get_timer_map(struct kvm_vcpu *vcpu, struct timer_map *map)
182 map->direct_vtimer = vcpu_hvtimer(vcpu);
183 map->direct_ptimer = vcpu_hptimer(vcpu);
184 map->emul_vtimer = vcpu_vtimer(vcpu);
185 map->emul_ptimer = vcpu_ptimer(vcpu);
187 map->direct_vtimer = vcpu_vtimer(vcpu);
188 map->direct_ptimer = vcpu_ptimer(vcpu);
189 map->emul_vtimer = vcpu_hvtimer(vcpu);
190 map->emul_ptimer = vcpu_hptimer(vcpu);
193 map->direct_vtimer = vcpu_vtimer(vcpu);
194 map->direct_ptimer = vcpu_ptimer(vcpu);
195 map->emul_vtimer = NULL;
196 map->emul_ptimer = NULL;
198 map->direct_vtimer = vcpu_vtimer(vcpu);
199 map->direct_ptimer = NULL;
200 map->emul_vtimer = NULL;
201 map->emul_ptimer = vcpu_ptimer(vcpu);
204 trace_kvm_get_timer_map(vcpu->vcpu_id, map);
228 struct timer_map map;
239 get_timer_map(vcpu, &map);
242 ctx = map.direct_vtimer;
244 ctx = map.direct_ptimer;
574 struct timer_map map;
576 get_timer_map(vcpu, &map);
582 if (!kvm_timer_irq_can_fire(map.direct_vtimer) &&
583 !kvm_timer_irq_can_fire(map.direct_ptimer) &&
584 !kvm_timer_irq_can_fire(map.emul_vtimer) &&
585 !kvm_timer_irq_can_fire(map.emul_ptimer) &&
714 struct timer_map *map)
731 hw = kvm_vgic_get_map(vcpu, timer_irq(map->direct_vtimer));
733 kvm_vgic_unmap_phys_irq(vcpu, timer_irq(map->emul_vtimer));
734 kvm_vgic_unmap_phys_irq(vcpu, timer_irq(map->emul_ptimer));
737 map->direct_vtimer->host_timer_irq,
738 timer_irq(map->direct_vtimer),
742 map->direct_ptimer->host_timer_irq,
743 timer_irq(map->direct_ptimer),
753 if (map->direct_vtimer == vcpu_hvtimer(vcpu)) {
754 struct arch_timer_offset *offs = &map->direct_vtimer->offset;
764 static void timer_set_traps(struct kvm_vcpu *vcpu, struct timer_map *map)
793 if (!has_cntpoff() && timer_get_offset(map->direct_ptimer))
829 struct timer_map map;
834 get_timer_map(vcpu, &map);
838 kvm_timer_vcpu_load_nested_switch(vcpu, &map);
840 kvm_timer_vcpu_load_gic(map.direct_vtimer);
841 if (map.direct_ptimer)
842 kvm_timer_vcpu_load_gic(map.direct_ptimer);
849 timer_restore_state(map.direct_vtimer);
850 if (map.direct_ptimer)
851 timer_restore_state(map.direct_ptimer);
852 if (map.emul_vtimer)
853 timer_emulate(map.emul_vtimer);
854 if (map.emul_ptimer)
855 timer_emulate(map.emul_ptimer);
857 timer_set_traps(vcpu, &map);
880 struct timer_map map;
885 get_timer_map(vcpu, &map);
887 timer_save_state(map.direct_vtimer);
888 if (map.direct_ptimer)
889 timer_save_state(map.direct_ptimer);
900 if (map.emul_vtimer)
901 soft_timer_cancel(&map.emul_vtimer->hrtimer);
902 if (map.emul_ptimer)
903 soft_timer_cancel(&map.emul_ptimer->hrtimer);
941 struct timer_map map;
943 get_timer_map(vcpu, &map);
972 kvm_vgic_reset_mapped_irq(vcpu, timer_irq(map.direct_vtimer));
973 if (map.direct_ptimer)
974 kvm_vgic_reset_mapped_irq(vcpu, timer_irq(map.direct_ptimer));
978 if (map.emul_vtimer)
979 soft_timer_cancel(&map.emul_vtimer->hrtimer);
980 if (map.emul_ptimer)
981 soft_timer_cancel(&map.emul_ptimer->hrtimer);
1172 struct timer_map map;
1175 get_timer_map(vcpu, &map);
1178 if (timer == map.emul_vtimer || timer == map.emul_ptimer)
1225 struct timer_map map;
1227 get_timer_map(vcpu, &map);
1229 if (timer == map.emul_vtimer || timer == map.emul_ptimer) {
1509 struct timer_map map;
1515 /* Without a VGIC we do not map virtual IRQs to physical IRQs */
1528 get_timer_map(vcpu, &map);
1531 map.direct_vtimer->host_timer_irq,
1532 timer_irq(map.direct_vtimer),
1537 if (map.direct_ptimer) {
1539 map.direct_ptimer->host_timer_irq,
1540 timer_irq(map.direct_ptimer),