We can obtain a reference on demand now.
CC: Valentine Sinitsyn <valentine.sinitsyn@gmail.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
APIC_ICR_SH_NONE);
}
-void apic_irq_handler(struct per_cpu *cpu_data)
+void apic_irq_handler(void)
{
+ struct per_cpu *cpu_data = this_cpu_data();
+
cpu_data->num_clear_apic_irqs++;
if (cpu_data->num_clear_apic_irqs > 256)
/*
push %r10
push %r11
- mov %rsp,%rdi
- and $PAGE_MASK,%rdi
call \func
pop %r11
void apic_send_nmi_ipi(struct per_cpu *target_data);
void apic_send_irq(struct apic_irq_message irq_msg);
-void apic_irq_handler(struct per_cpu *cpu_data);
+void apic_irq_handler(void);
bool apic_handle_icr_write(struct per_cpu *cpu_data, u32 lo_val, u32 hi_val);
void vcpu_park(struct per_cpu *cpu_data);
-void vcpu_nmi_handler(struct per_cpu *cpu_data);
+void vcpu_nmi_handler(void);
void vcpu_tlb_flush(void);
vcpu_tlb_flush();
}
-void vcpu_nmi_handler(struct per_cpu *cpu_data)
+void vcpu_nmi_handler(void)
{
}
}
}
-void vcpu_nmi_handler(struct per_cpu *cpu_data)
+void vcpu_nmi_handler(void)
{
u32 pin_based_ctrl;
- if (cpu_data->vmx_state != VMCS_READY)
+ if (this_cpu_data()->vmx_state != VMCS_READY)
return;
pin_based_ctrl = vmcs_read32(PIN_BASED_VM_EXEC_CONTROL);