summaryrefslogtreecommitdiff
path: root/kvm_x86impl.h
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2011-06-06 13:56:57 -0700
committerRobert Mustacchi <rm@joyent.com>2011-06-06 13:56:57 -0700
commit219f027a82b44336a57d02b0115d3458caa7b5bc (patch)
tree5dd4634a8a74452257acd62d6ec4c39c398e9093 /kvm_x86impl.h
parent8ad39cb75c0c2640667f6e3323bda4bd7bfb4e4c (diff)
downloadillumos-kvm-219f027a82b44336a57d02b0115d3458caa7b5bc.tar.gz
HVM-305 Need header file equivalent of x86/x86.h
Diffstat (limited to 'kvm_x86impl.h')
-rw-r--r--kvm_x86impl.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/kvm_x86impl.h b/kvm_x86impl.h
new file mode 100644
index 0000000..e4a7811
--- /dev/null
+++ b/kvm_x86impl.h
@@ -0,0 +1,30 @@
+/*
+ * This contains functions that are x86 specific and part of the internal
+ * implementation.
+ */
+#ifndef __KVM_X86_IMPL_H
+#define __KVM_X86_IMPL_H
+
+#include <sys/types.h>
+
+#include "kvm_host.h"
+#include "kvm_x86.h"
+#include "kvm_cache_regs.h"
+
+inline void kvm_clear_exception_queue(struct kvm_vcpu *);
+inline void kvm_queue_interrupt(struct kvm_vcpu *vcpu, uint8_t vector,
+ int soft);
+inline void kvm_clear_interrupt_queue(struct kvm_vcpu *vcpu);
+inline int kvm_event_needs_reinjection(struct kvm_vcpu *vcpu);
+inline int kvm_exception_is_soft(unsigned int nr);
+kvm_cpuid_entry2_t *kvm_find_cpuid_entry(struct kvm_vcpu *vcpu,
+ uint32_t function, uint32_t index);
+inline int is_protmode(struct kvm_vcpu *vcpu);
+inline int is_long_mode(struct kvm_vcpu *vcpu);
+inline int is_pae(struct kvm_vcpu *vcpu);
+inline int is_pse(struct kvm_vcpu *vcpu);
+inline int is_paging(struct kvm_vcpu *vcpu);
+
+caddr_t page_address(page_t *page);
+
+#endif