search for: hv_vcpu

Displaying 8 results from an estimated 8 matches for "hv_vcpu".

Did you mean: hv_cpu
2015 Oct 09
0
[PATCH 2/2] kvm/x86: Hyper-V kvm exit
.../x86/kvm/hyperv.c +++ b/arch/x86/kvm/hyperv.c @@ -91,6 +91,20 @@ static int synic_set_sint(struct kvm_vcpu_hv_synic *synic, int sint, u64 data) return 0; } +static void synic_exit(struct kvm_vcpu_hv_synic *synic, u32 msr) +{ + struct kvm_vcpu *vcpu = synic_to_vcpu(synic); + struct kvm_vcpu_hv *hv_vcpu = &vcpu->arch.hyperv; + + hv_vcpu->exit.type = KVM_EXIT_HYPERV_SYNIC; + hv_vcpu->exit.u.synic.msr = msr; + hv_vcpu->exit.u.synic.control = synic->control; + hv_vcpu->exit.u.synic.evt_page = synic->evt_page; + hv_vcpu->exit.u.synic.msg_page = synic->msg_page; + + kvm_m...
2015 Oct 16
0
[PATCH 9/9] kvm/x86: Hyper-V kvm exit
...x86/kvm/hyperv.c @@ -129,6 +129,20 @@ static void kvm_hv_notify_acked_sint(struct kvm_vcpu *vcpu, u32 sint) srcu_read_unlock(&kvm->irq_srcu, idx); } +static void synic_exit(struct kvm_vcpu_hv_synic *synic, u32 msr) +{ + struct kvm_vcpu *vcpu = synic_to_vcpu(synic); + struct kvm_vcpu_hv *hv_vcpu = &vcpu->arch.hyperv; + + hv_vcpu->exit.type = KVM_EXIT_HYPERV_SYNIC; + hv_vcpu->exit.u.synic.msr = msr; + hv_vcpu->exit.u.synic.control = synic->control; + hv_vcpu->exit.u.synic.evt_page = synic->evt_page; + hv_vcpu->exit.u.synic.msg_page = synic->msg_page; + + kvm_m...
2015 Oct 09
5
[PATCH 0/2] Hyper-V synthetic interrupt controller
This patchset implements the KVM part of the synthetic interrupt controller (synic) which is a building block of the Hyper-V paravirtualized device bus (vmbus). Synic is a lapic extension, which is controlled via MSRs and maintains for each vCPU - 16 synthetic interrupt "lines" (SINT's); each can be configured to trigger a specific interrupt vector optionally with auto-EOI
2015 Oct 09
5
[PATCH 0/2] Hyper-V synthetic interrupt controller
This patchset implements the KVM part of the synthetic interrupt controller (synic) which is a building block of the Hyper-V paravirtualized device bus (vmbus). Synic is a lapic extension, which is controlled via MSRs and maintains for each vCPU - 16 synthetic interrupt "lines" (SINT's); each can be configured to trigger a specific interrupt vector optionally with auto-EOI
2015 Oct 16
10
[PATCH v2 0/9] Hyper-V synthetic interrupt controller
This patchset implements the KVM part of the synthetic interrupt controller (SynIC) which is a building block of the Hyper-V paravirtualized device bus (vmbus). SynIC is a lapic extension, which is controlled via MSRs and maintains for each vCPU - 16 synthetic interrupt "lines" (SINT's); each can be configured to trigger a specific interrupt vector optionally with auto-EOI
2015 Oct 16
10
[PATCH v2 0/9] Hyper-V synthetic interrupt controller
This patchset implements the KVM part of the synthetic interrupt controller (SynIC) which is a building block of the Hyper-V paravirtualized device bus (vmbus). SynIC is a lapic extension, which is controlled via MSRs and maintains for each vCPU - 16 synthetic interrupt "lines" (SINT's); each can be configured to trigger a specific interrupt vector optionally with auto-EOI
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...return len; + } + +#if 0 + if (lg->dma_is_pending) + lg->dma_is_pending = 0; +#endif + + ret = run_guest(vcpu, user); + if (ret != -EINTR) + ret = -ENOENT; + return ret; +} + +struct lguest_vcpu *allocate_vcpu(struct lguest_guest_info *linfo) +{ + struct lguest_vcpu *vcpu; + unsigned long hv_vcpu; + int ret; + + vcpu = (void*)__get_free_pages(GFP_KERNEL, lguest_vcpu_order); + if (!vcpu) + return NULL; + memset(vcpu, 0, sizeof(*vcpu)); + + ret = hvvm_map_pages(vcpu, lguest_vcpu_pages, &hv_vcpu); + if (ret < 0) + goto out; + + ret = lguest_map_hv_pages(linfo, hv_vcpu, lguest_vcpu_pag...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...return len; + } + +#if 0 + if (lg->dma_is_pending) + lg->dma_is_pending = 0; +#endif + + ret = run_guest(vcpu, user); + if (ret != -EINTR) + ret = -ENOENT; + return ret; +} + +struct lguest_vcpu *allocate_vcpu(struct lguest_guest_info *linfo) +{ + struct lguest_vcpu *vcpu; + unsigned long hv_vcpu; + int ret; + + vcpu = (void*)__get_free_pages(GFP_KERNEL, lguest_vcpu_order); + if (!vcpu) + return NULL; + memset(vcpu, 0, sizeof(*vcpu)); + + ret = hvvm_map_pages(vcpu, lguest_vcpu_pages, &hv_vcpu); + if (ret < 0) + goto out; + + ret = lguest_map_hv_pages(linfo, hv_vcpu, lguest_vcpu_pag...