Lines Matching full:apic
31 * Encode the arbitrary VM ID and the vCPU's default APIC ID, i.e the vCPU ID,
36 * guest physical APIC ID (limited by the size of the physical ID table), and
97 * achieved using AVIC doorbell. KVM disables the APIC access page in avic_activate_vmcb()
101 if (x2avic_enabled && apic_x2apic_mode(svm->vcpu.arch.apic)) { in avic_activate_vmcb()
108 * Flush the TLB, the guest may have inserted a non-APIC in avic_activate_vmcb()
205 /* Allocating physical APIC ID table (4KB) */ in avic_vm_init()
212 /* Allocating logical APIC ID table (4KB) */ in avic_vm_init()
287 if (!vcpu->arch.apic->regs) in avic_init_backing_page()
304 svm->avic_backing_page = virt_to_page(vcpu->arch.apic->regs); in avic_init_backing_page()
306 /* Setting AVIC backing page address in the phy APIC ID table */ in avic_init_backing_page()
342 vcpu->arch.apic->irr_pending = true; in avic_kick_vcpu()
353 * KVM inhibits AVIC if any vCPU ID diverges from the vCPUs APIC ID, in avic_kick_vcpu_by_physical_id()
354 * i.e. APIC ID == vCPU ID. in avic_kick_vcpu_by_physical_id()
381 * For x2APIC, the logical APIC ID is a read-only value that is in avic_kick_vcpu_by_logical_id()
395 * destination APIC ID to vCPU without looping through all vCPUs.
497 struct kvm_lapic *apic = vcpu->arch.apic; in avic_incomplete_ipi_interception() local
519 kvm_apic_send_ipi(apic, icrl, icrh); in avic_incomplete_ipi_interception()
527 avic_kick_target_vcpus(vcpu->kvm, apic, icrl, icrh, index); in avic_incomplete_ipi_interception()
583 flat = kvm_lapic_get_reg(vcpu->arch.apic, APIC_DFR) == APIC_DFR_FLAT; in avic_ldr_write()
601 /* Note: x2AVIC does not use logical APIC ID table */ in avic_invalidate_logical_id_entry()
602 if (apic_x2apic_mode(vcpu->arch.apic)) in avic_invalidate_logical_id_entry()
613 u32 ldr = kvm_lapic_get_reg(vcpu->arch.apic, APIC_LDR); in avic_handle_ldr_update()
614 u32 id = kvm_xapic_id(vcpu->arch.apic); in avic_handle_ldr_update()
617 if (apic_x2apic_mode(vcpu->arch.apic)) in avic_handle_ldr_update()
632 u32 dfr = kvm_lapic_get_reg(vcpu->arch.apic, APIC_DFR); in avic_handle_dfr_update()
929 * 3. APIC virtualization is disabled for the vcpu. in avic_pi_update_irte()
1043 * Physical APIC table and IRTE are consumed iff IsRun{ning} is '1'. in avic_vcpu_load()
1123 * APIC ID, DFR and LDR registers, which would not be trapped in avic_refresh_virtual_apic_mode()
1125 * we need to check and update the AVIC logical APIC ID table in avic_refresh_virtual_apic_mode()