Merge tag 'x86_apic_for_6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / arch / x86 / kernel / kvm.c
index 526d4da3dcd46b3e412aa8868753343fb76fbc16..b8ab9ee5896c191611b89ab6aa0a672304bbdb06 100644 (file)
@@ -291,7 +291,7 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_kvm_asyncpf_interrupt)
        struct pt_regs *old_regs = set_irq_regs(regs);
        u32 token;
 
-       ack_APIC_irq();
+       apic_eoi();
 
        inc_irq_stat(irq_hv_callback_count);
 
@@ -332,7 +332,7 @@ static void kvm_register_steal_time(void)
 
 static DEFINE_PER_CPU_DECRYPTED(unsigned long, kvm_apic_eoi) = KVM_PV_EOI_DISABLED;
 
-static notrace void kvm_guest_apic_eoi_write(u32 reg, u32 val)
+static notrace __maybe_unused void kvm_guest_apic_eoi_write(void)
 {
        /**
         * This relies on __test_and_clear_bit to modify the memory
@@ -343,7 +343,7 @@ static notrace void kvm_guest_apic_eoi_write(u32 reg, u32 val)
         */
        if (__test_and_clear_bit(KVM_PV_EOI_BIT, this_cpu_ptr(&kvm_apic_eoi)))
                return;
-       apic->native_eoi_write(APIC_EOI, APIC_EOI_ACK);
+       apic_native_eoi();
 }
 
 static void kvm_guest_cpu_init(void)
@@ -622,10 +622,10 @@ late_initcall(setup_efi_kvm_sev_migration);
 /*
  * Set the IPI entry points
  */
-static void kvm_setup_pv_ipi(void)
+static __init void kvm_setup_pv_ipi(void)
 {
-       apic->send_IPI_mask = kvm_send_ipi_mask;
-       apic->send_IPI_mask_allbutself = kvm_send_ipi_mask_allbutself;
+       apic_update_callback(send_IPI_mask, kvm_send_ipi_mask);
+       apic_update_callback(send_IPI_mask_allbutself, kvm_send_ipi_mask_allbutself);
        pr_info("setup PV IPIs\n");
 }
 
@@ -825,7 +825,7 @@ static void __init kvm_guest_init(void)
        }
 
        if (kvm_para_has_feature(KVM_FEATURE_PV_EOI))
-               apic_set_eoi_write(kvm_guest_apic_eoi_write);
+               apic_update_callback(eoi, kvm_guest_apic_eoi_write);
 
        if (kvm_para_has_feature(KVM_FEATURE_ASYNC_PF_INT) && kvmapf) {
                static_branch_enable(&kvm_async_pf_enabled);