summaryrefslogtreecommitdiff
path: root/kvm_x86host.h
diff options
context:
space:
mode:
authorBryan Cantrill <bryan@joyent.com>2011-04-09 13:52:14 -0700
committerBryan Cantrill <bryan@joyent.com>2011-04-09 13:52:14 -0700
commit99a4ea32a54269cac99db97e6d2a0c4fdb2288ae (patch)
treef72d90b50d9bb68c720cb1fddddf0859b3b5d13b /kvm_x86host.h
parent5a4d889bd6a5847bf7bb070e4691e9b82a15cd75 (diff)
downloadillumos-kvm-99a4ea32a54269cac99db97e6d2a0c4fdb2288ae.tar.gz
HVM-43 add ::kvm_gpa2qva to translate guest physical to QEMU virtual
Diffstat (limited to 'kvm_x86host.h')
-rw-r--r--kvm_x86host.h47
1 files changed, 7 insertions, 40 deletions
diff --git a/kvm_x86host.h b/kvm_x86host.h
index dc8e268..4b65f4b 100644
--- a/kvm_x86host.h
+++ b/kvm_x86host.h
@@ -900,48 +900,15 @@ static unsigned long get_desc_base(const struct desc_struct *desc)
}
extern unsigned long segment_base(uint16_t selector);
+extern unsigned long kvm_read_tr_base(void);
-static unsigned long kvm_read_tr_base(void)
-{
- unsigned short tr;
- __asm__("str %0" : "=g"(tr));
- return segment_base(tr);
-}
-
-#ifdef CONFIG_X86_64
-static unsigned long read_msr(unsigned long msr)
-{
- uint64_t value;
-
- rdmsrl(msr, value);
- return value;
-}
-#endif
-
-static void kvm_fx_save(struct i387_fxsave_struct *image)
-{
- __asm__("fxsave (%0)":: "r" (image));
-}
+extern unsigned long read_msr(unsigned long msr);
-static void kvm_fx_restore(struct i387_fxsave_struct *image)
-{
- __asm__("fxrstor (%0)":: "r" (image));
-}
-
-static void kvm_fx_finit(void)
-{
- __asm__("finit");
-}
-
-static uint32_t get_rdx_init_val(void)
-{
- return 0x600; /* P6 family */
-}
-
-static void kvm_inject_gp(struct kvm_vcpu *vcpu, uint32_t error_code)
-{
- kvm_queue_exception_e(vcpu, GP_VECTOR, error_code);
-}
+extern void kvm_fx_save(struct i387_fxsave_struct *image);
+extern void kvm_fx_restore(struct i387_fxsave_struct *image);
+extern void kvm_fx_finit(void);
+extern uint32_t get_rdx_init_val(void);
+extern void kvm_inject_gp(struct kvm_vcpu *vcpu, uint32_t error_code);
#define TSS_IOPB_BASE_OFFSET 0x66
#define TSS_BASE_SIZE 0x68