Displaying 3 results from an estimated 3 matches for "enable_apic".
Did you mean:
enable_apicv
2015 Oct 26
3
[kvm-unit-tests PATCH] x86: hyperv_synic: Hyper-V SynIC test
...msr(HV_X64_MSR_SCONTROL, 0);
+ wrmsr(HV_X64_MSR_SIMP, 0);
+ wrmsr(HV_X64_MSR_SIEFP, 0);
+ atomic_inc(&cpus_comp_count);
+}
+
+int main(int ac, char **av)
+{
+
+ if (synic_supported()) {
+ int ncpus, i;
+
+ setup_vm();
+ smp_init();
+ setup_idt();
+ enable_apic();
+
+ synic_prepare_sint_vecs();
+
+ ncpus = cpu_count();
+ if (ncpus > MAX_CPUS) {
+ ncpus = MAX_CPUS;
+ }
+ printf("ncpus = %d\n", ncpus);
+
+ atomic_set(&cpus_comp_count, 0);
+ for (i = 0; i < ncpus; i++) {
+...
2015 Oct 26
3
[kvm-unit-tests PATCH] x86: hyperv_synic: Hyper-V SynIC test
...msr(HV_X64_MSR_SCONTROL, 0);
+ wrmsr(HV_X64_MSR_SIMP, 0);
+ wrmsr(HV_X64_MSR_SIEFP, 0);
+ atomic_inc(&cpus_comp_count);
+}
+
+int main(int ac, char **av)
+{
+
+ if (synic_supported()) {
+ int ncpus, i;
+
+ setup_vm();
+ smp_init();
+ setup_idt();
+ enable_apic();
+
+ synic_prepare_sint_vecs();
+
+ ncpus = cpu_count();
+ if (ncpus > MAX_CPUS) {
+ ncpus = MAX_CPUS;
+ }
+ printf("ncpus = %d\n", ncpus);
+
+ atomic_set(&cpus_comp_count, 0);
+ for (i = 0; i < ncpus; i++) {
+...
2015 Nov 02
0
[kvm-unit-tests PATCH] x86: hyperv_synic: Hyper-V SynIC test
...ed in IRR can be injected
by the processor, and the auto-EOI behavior will be skipped.
The solution is to have userspace enable KVM_CAP_HYPERV_SYNIC through
KVM_ENABLE_CAP, and modify vmx.c to not use apicv on VMs that have it
enabled. This requires some changes to the callbacks that only work if
enable_apicv or !enable_apicv:
if (enable_apicv)
kvm_x86_ops->update_cr8_intercept = NULL;
else {
kvm_x86_ops->hwapic_irr_update = NULL;
kvm_x86_ops->hwapic_isr_update = NULL;
kvm_x86_ops->deliver_posted_interrupt = NULL;...