Lines Matching full:gpc

40 	struct gfn_to_pfn_cache *gpc = &kvm->arch.xen.shinfo_cache;  in kvm_xen_shared_info_init()  local
48 read_lock_irq(&gpc->lock); in kvm_xen_shared_info_init()
49 while (!kvm_gpc_check(gpc, PAGE_SIZE)) { in kvm_xen_shared_info_init()
50 read_unlock_irq(&gpc->lock); in kvm_xen_shared_info_init()
52 ret = kvm_gpc_refresh(gpc, PAGE_SIZE); in kvm_xen_shared_info_init()
56 read_lock_irq(&gpc->lock); in kvm_xen_shared_info_init()
76 struct shared_info *shinfo = gpc->khva; in kvm_xen_shared_info_init()
83 struct compat_shared_info *shinfo = gpc->khva; in kvm_xen_shared_info_init()
99 read_unlock_irq(&gpc->lock); in kvm_xen_shared_info_init()
365 * Attempt to obtain the GPC lock on *both* (if there are two) in kvm_xen_update_runstate_guest()
393 * struct in the guest (via the GPC). in kvm_xen_update_runstate_guest()
434 * 64-bit mode, the second GPC won't have been set up. in kvm_xen_update_runstate_guest()
464 * via one GPC or the other. in kvm_xen_update_runstate_guest()
587 struct gfn_to_pfn_cache *gpc = &v->arch.xen.vcpu_info_cache; in kvm_xen_inject_pending_events() local
598 read_lock_irqsave(&gpc->lock, flags); in kvm_xen_inject_pending_events()
599 while (!kvm_gpc_check(gpc, sizeof(struct vcpu_info))) { in kvm_xen_inject_pending_events()
600 read_unlock_irqrestore(&gpc->lock, flags); in kvm_xen_inject_pending_events()
602 if (kvm_gpc_refresh(gpc, sizeof(struct vcpu_info))) in kvm_xen_inject_pending_events()
605 read_lock_irqsave(&gpc->lock, flags); in kvm_xen_inject_pending_events()
608 /* Now gpc->khva is a valid kernel address for the vcpu_info */ in kvm_xen_inject_pending_events()
610 struct vcpu_info *vi = gpc->khva; in kvm_xen_inject_pending_events()
622 struct compat_vcpu_info *vi = gpc->khva; in kvm_xen_inject_pending_events()
634 kvm_gpc_mark_dirty_in_slot(gpc); in kvm_xen_inject_pending_events()
635 read_unlock_irqrestore(&gpc->lock, flags); in kvm_xen_inject_pending_events()
644 struct gfn_to_pfn_cache *gpc = &v->arch.xen.vcpu_info_cache; in __kvm_xen_has_interrupt() local
661 read_lock_irqsave(&gpc->lock, flags); in __kvm_xen_has_interrupt()
662 while (!kvm_gpc_check(gpc, sizeof(struct vcpu_info))) { in __kvm_xen_has_interrupt()
663 read_unlock_irqrestore(&gpc->lock, flags); in __kvm_xen_has_interrupt()
676 if (kvm_gpc_refresh(gpc, sizeof(struct vcpu_info))) { in __kvm_xen_has_interrupt()
683 read_lock_irqsave(&gpc->lock, flags); in __kvm_xen_has_interrupt()
686 rc = ((struct vcpu_info *)gpc->khva)->evtchn_upcall_pending; in __kvm_xen_has_interrupt()
687 read_unlock_irqrestore(&gpc->lock, flags); in __kvm_xen_has_interrupt()
938 /* Either map the second page, or deactivate the second GPC */ in kvm_xen_vcpu_set_attr()
1373 struct gfn_to_pfn_cache *gpc = &kvm->arch.xen.shinfo_cache; in wait_pending_event() local
1380 read_lock_irqsave(&gpc->lock, flags); in wait_pending_event()
1381 if (!kvm_gpc_check(gpc, PAGE_SIZE)) in wait_pending_event()
1386 struct shared_info *shinfo = gpc->khva; in wait_pending_event()
1389 struct compat_shared_info *shinfo = gpc->khva; in wait_pending_event()
1401 read_unlock_irqrestore(&gpc->lock, flags); in wait_pending_event()
1730 struct gfn_to_pfn_cache *gpc = &kvm->arch.xen.shinfo_cache; in kvm_xen_set_evtchn_fast() local
1755 read_lock_irqsave(&gpc->lock, flags); in kvm_xen_set_evtchn_fast()
1756 if (!kvm_gpc_check(gpc, PAGE_SIZE)) in kvm_xen_set_evtchn_fast()
1760 struct shared_info *shinfo = gpc->khva; in kvm_xen_set_evtchn_fast()
1765 struct compat_shared_info *shinfo = gpc->khva; in kvm_xen_set_evtchn_fast()
1786 read_unlock_irqrestore(&gpc->lock, flags); in kvm_xen_set_evtchn_fast()
1787 gpc = &vcpu->arch.xen.vcpu_info_cache; in kvm_xen_set_evtchn_fast()
1789 read_lock_irqsave(&gpc->lock, flags); in kvm_xen_set_evtchn_fast()
1790 if (!kvm_gpc_check(gpc, sizeof(struct vcpu_info))) { in kvm_xen_set_evtchn_fast()
1801 struct vcpu_info *vcpu_info = gpc->khva; in kvm_xen_set_evtchn_fast()
1807 struct compat_vcpu_info *vcpu_info = gpc->khva; in kvm_xen_set_evtchn_fast()
1823 read_unlock_irqrestore(&gpc->lock, flags); in kvm_xen_set_evtchn_fast()
1870 struct gfn_to_pfn_cache *gpc = &kvm->arch.xen.shinfo_cache; in kvm_xen_set_evtchn() local
1878 rc = kvm_gpc_refresh(gpc, PAGE_SIZE); in kvm_xen_set_evtchn()