]> rtime.felk.cvut.cz Git - jailhouse.git/blobdiff - hypervisor/arch/x86/include/asm/vcpu.h
Merge remote-tracking branch 'kiszka/master'
[jailhouse.git] / hypervisor / arch / x86 / include / asm / vcpu.h
index 6a5f5d3064f1fc20c897eac65c5f1bc6c286c6a0..f1d7a4d2937916cf85219630c71b4bd62f4b3f93 100644 (file)
 #ifndef _JAILHOUSE_ASM_VCPU_H
 #define _JAILHOUSE_ASM_VCPU_H
 
-#include <jailhouse/entry.h>
+#include <jailhouse/cell.h>
 #include <jailhouse/cell-config.h>
+#include <jailhouse/entry.h>
 #include <jailhouse/paging.h>
-#include <jailhouse/types.h>
-#include <asm/cell.h>
 #include <asm/percpu.h>
 #include <asm/processor.h>
 
@@ -67,10 +66,9 @@ int vcpu_init(struct per_cpu *cpu_data);
 void vcpu_exit(struct per_cpu *cpu_data);
 
 void __attribute__((noreturn)) vcpu_activate_vmm(struct per_cpu *cpu_data);
-void __attribute__((noreturn))
-vcpu_deactivate_vmm(struct registers *guest_regs);
+void __attribute__((noreturn)) vcpu_deactivate_vmm(void);
 
-void vcpu_handle_exit(struct registers *guest_regs, struct per_cpu *cpu_data);
+void vcpu_handle_exit(struct per_cpu *cpu_data);
 
 void vcpu_park(void);
 
@@ -106,16 +104,19 @@ bool vcpu_get_guest_paging_structs(struct guest_paging_structures *pg_structs);
 
 void vcpu_vendor_set_guest_pat(unsigned long val);
 
-void vcpu_handle_hypercall(struct registers *guest_regs);
+void vcpu_handle_hypercall(void);
+
+bool vcpu_handle_io_access(void);
+bool vcpu_handle_mmio_access(void);
 
-bool vcpu_handle_io_access(struct registers *guest_regs);
-bool vcpu_handle_mmio_access(struct registers *guest_regs);
+bool vcpu_handle_msr_read(void);
+bool vcpu_handle_msr_write(void);
 
-bool vcpu_handle_msr_read(struct registers *guest_regs);
-bool vcpu_handle_msr_write(struct registers *guest_regs);
+void vcpu_handle_cpuid(void);
 
-bool vcpu_handle_xsetbv(struct registers *guest_regs);
+bool vcpu_handle_xsetbv(void);
 
-void vcpu_reset(struct registers *guest_regs);
+void vcpu_reset(unsigned int sipi_vector);
+void vcpu_vendor_reset(unsigned int sipi_vector);
 
 #endif