aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-04-01 10:40:54 +0100
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-04-01 10:40:54 +0100
commit75a5d014e3899c4b0457f72e2e22a0c58bcaa087 (patch)
treeb87b3c4fbf231d0719097867617fa3200afac12e
parent76d1c06d0996af696fddddaeb04025426e0db5fe (diff)
downloadxen-75a5d014e3899c4b0457f72e2e22a0c58bcaa087.tar.gz
xen-75a5d014e3899c4b0457f72e2e22a0c58bcaa087.tar.bz2
xen-75a5d014e3899c4b0457f72e2e22a0c58bcaa087.zip
[SVM] Do not update seg.base in realmode while obtaining the io
addr for ins/outs. Signed-off-by: Tom Woller <thomas.woller@amd.com>
-rw-r--r--xen/arch/x86/hvm/svm/svm.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 77ba3f8089..bc2e743df4 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1163,16 +1163,12 @@ static unsigned int check_for_null_selector(struct vmcb_struct *vmcb,
seg = vmcb->ds;
break;
default:
- if (dir == IOREQ_READ)
+ if (dir == IOREQ_READ) /* IN/INS instruction? */
seg = vmcb->es;
else
seg = vmcb->ds;
}
- /* In real Mode */
- if (real)
- seg.base = seg.sel << 4;
-
if (base)
*base = seg.base;