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 kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel