1 #ifndef KVM__KVM_CPU_H 2 #define KVM__KVM_CPU_H 3 4 #include "kvm/kvm-cpu-arch.h" 5 #include <stdbool.h> 6 7 struct kvm_cpu_task { 8 void (*func)(struct kvm_cpu *vcpu, void *data); 9 void *data; 10 }; 11 12 int kvm_cpu__init(struct kvm *kvm); 13 int kvm_cpu__exit(struct kvm *kvm); 14 struct kvm_cpu *kvm_cpu__arch_init(struct kvm *kvm, unsigned long cpu_id); 15 void kvm_cpu__delete(struct kvm_cpu *vcpu); 16 void kvm_cpu__reset_vcpu(struct kvm_cpu *vcpu); 17 void kvm_cpu__setup_cpuid(struct kvm_cpu *vcpu); 18 void kvm_cpu__enable_singlestep(struct kvm_cpu *vcpu); 19 void kvm_cpu__run(struct kvm_cpu *vcpu); 20 int kvm_cpu__start(struct kvm_cpu *cpu); 21 bool kvm_cpu__handle_exit(struct kvm_cpu *vcpu); 22 int kvm_cpu__get_endianness(struct kvm_cpu *vcpu); 23 24 int kvm_cpu__get_debug_fd(void); 25 void kvm_cpu__set_debug_fd(int fd); 26 void kvm_cpu__show_code(struct kvm_cpu *vcpu); 27 void kvm_cpu__show_registers(struct kvm_cpu *vcpu); 28 void kvm_cpu__show_page_tables(struct kvm_cpu *vcpu); 29 void kvm_cpu__arch_nmi(struct kvm_cpu *cpu); 30 void kvm_cpu__run_on_all_cpus(struct kvm *kvm, struct kvm_cpu_task *task); 31 32 #endif /* KVM__KVM_CPU_H */ 33