Hi Avi, I was playing with KVM while booting SuSE Linux 10.1 on it. And I found it was bailing out with #SS fault. I root caused it to the address size override opcode (0x67) from a mov instruction from the boot loader. The attached patch handles the #SS(0) fault with emulation, letting guest can proceed further.
Thanks & Regards, Nitin Open Source Technology Center, Intel Corporation. ------------------------------------------------------------------------- The mind is like a parachute; it works much better when it's open.
commit e7ae040a34ae99ac4eb08701b1a54a7e4315238a
Author: Nitin A Kamble <[EMAIL PROTECTED]>
Date: Wed May 16 21:05:58 2007 -0700
Instruction with address size override prefix opcode 0x67
Cause the #SS fault with 0 error code in VM86 mode.
<Signed-Off-By: Nitin A Kamble <[EMAIL PROTECTED]>
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index b1430e1..7d7edb7 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -1487,7 +1487,9 @@ static int handle_rmode_exception(struct kvm_vcpu *vcpu,
if (!vcpu->rmode.active)
return 0;
- if (vec == GP_VECTOR && err_code == 0)
+ /* Instruction with address size override prefix opcode 0x67
+ Cause the #SS fault with 0 error code in VM86 mode. */
+ if (((vec == GP_VECTOR) || (vec == SS_VECTOR)) && err_code == 0)
if (emulate_instruction(vcpu, NULL, 0, 0) == EMULATE_DONE)
return 1;
return 0;
signature.asc
Description: This is a digitally signed message part
------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
_______________________________________________ kvm-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/kvm-devel
