aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/x86_emulate.h
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2007-11-26 15:32:54 +0000
committerKeir Fraser <keir.fraser@citrix.com>2007-11-26 15:32:54 +0000
commitdbccb328c8a573703fdffdfb35323fe11b086b64 (patch)
treebcd3d8a8e9d6bf2c93045aadec1da24ac9d53dba /xen/include/asm-x86/x86_emulate.h
parentcfb9675b686f87cf622cfc56a476f100639331a1 (diff)
downloadxen-dbccb328c8a573703fdffdfb35323fe11b086b64.tar.gz
xen-dbccb328c8a573703fdffdfb35323fe11b086b64.tar.bz2
xen-dbccb328c8a573703fdffdfb35323fe11b086b64.zip
x86_emulate: Emulate CPUID and HLT.
vmx realmode: Fix decode & emulate loop, add hooks for CPUID, HLT and WBINVD. Also do not hook realmode entry off of vmentry failure any more. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/include/asm-x86/x86_emulate.h')
-rw-r--r--xen/include/asm-x86/x86_emulate.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/xen/include/asm-x86/x86_emulate.h b/xen/include/asm-x86/x86_emulate.h
index eab9a513ae..2de071bd7f 100644
--- a/xen/include/asm-x86/x86_emulate.h
+++ b/xen/include/asm-x86/x86_emulate.h
@@ -275,6 +275,18 @@ struct x86_emulate_ops
int (*wbinvd)(
struct x86_emulate_ctxt *ctxt);
+ /* cpuid: Emulate CPUID via given set of EAX-EDX inputs/outputs. */
+ int (*cpuid)(
+ unsigned int *eax,
+ unsigned int *ebx,
+ unsigned int *ecx,
+ unsigned int *edx,
+ struct x86_emulate_ctxt *ctxt);
+
+ /* hlt: Emulate HLT. */
+ int (*hlt)(
+ struct x86_emulate_ctxt *ctxt);
+
/* inject_hw_exception */
int (*inject_hw_exception)(
uint8_t vector,