|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-3.4-testing] x86_emulate: Fix build by backporting
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1250695973 -3600
# Node ID 2d6c4cc6a2a9e48218fe31d443f8937a3a88bf3f
# Parent 9d2750197fb94b9b411115a37d8ef7d798b81d7a
x86_emulate: Fix build by backporting in_longmode() from xen-unstable.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
xen/arch/x86/x86_emulate/x86_emulate.c | 26 +++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 deletion(-)
diff -r 9d2750197fb9 -r 2d6c4cc6a2a9 xen/arch/x86/x86_emulate/x86_emulate.c
--- a/xen/arch/x86/x86_emulate/x86_emulate.c Wed Aug 19 16:28:03 2009 +0100
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c Wed Aug 19 16:32:53 2009 +0100
@@ -280,7 +280,17 @@ struct operand {
};
/* MSRs. */
-#define MSR_TSC 0x10
+#define MSR_TSC 0x00000010
+#define MSR_SYSENTER_CS 0x00000174
+#define MSR_SYSENTER_ESP 0x00000175
+#define MSR_SYSENTER_EIP 0x00000176
+#define MSR_EFER 0xc0000080
+#define EFER_SCE (1u<<0)
+#define EFER_LMA (1u<<10)
+#define MSR_STAR 0xc0000081
+#define MSR_LSTAR 0xc0000082
+#define MSR_CSTAR 0xc0000083
+#define MSR_FMASK 0xc0000084
/* Control register flags. */
#define CR0_PE (1<<0)
@@ -942,6 +952,20 @@ in_protmode(
}
static int
+in_longmode(
+ struct x86_emulate_ctxt *ctxt,
+ struct x86_emulate_ops *ops)
+{
+ uint64_t efer;
+
+ if (ops->read_msr == NULL)
+ return -1;
+
+ ops->read_msr(MSR_EFER, &efer, ctxt);
+ return !!(efer & EFER_LMA);
+}
+
+static int
realmode_load_seg(
enum x86_segment seg,
uint16_t sel,
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-3.4-testing] x86_emulate: Fix build by backporting in_longmode() from xen-unstable.,
Xen patchbot-3.4-testing <=
|
|
|
|
|