From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Vivier Subject: Re: [PATCH 0/5] Split the emulator: decode & execute Date: Mon, 17 Sep 2007 18:14:57 +0200 Message-ID: <46EEA801.20404@bull.net> References: <46D5A151.80000@bull.net> <46E3E3D4.1050206@qumranet.com> <46EAB36E.2060004@bull.net> <46EABD97.5060503@qumranet.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1387825862==" Cc: kvm-devel To: Avi Kivity Return-path: In-Reply-To: <46EABD97.5060503-atKUWr5tajBWk0Htik3J/w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --===============1387825862== Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigB3D472EAFB65B4E5BD8B5E6D" This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigB3D472EAFB65B4E5BD8B5E6D Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Avi Kivity wrote: > Laurent Vivier wrote: >> Avi Kivity wrote: >> =20 >>> Laurent Vivier wrote: >>> =20 >>>> These patches split the emulator in two parts: one to decode the >>>> instruction, >>>> the other to execute it. The decode part is then called only when ne= eded. >>>> >>>> =20 >>>> =20 >>> Patchset looks good, but fails booting FC6 x86-64 on Intel. It may b= e a >>> merge error (did not apply cleanly due to other changes). I pushed t= his >>> as a 'split-emulator' branch on the kvm.git repository. >>> >>> =20 >> I think I found the bug (not a merge error...): I just supposed that a= n >> instruction fetch cannot failed. >> >> =20 >=20 > Interesting. I don't see how an instruction fetch can fail on > uniprocessor. Can you give details of the failure? >=20 > Instruction fetches can fail on SMP so a fix is certainly needed. OK, I spoke too fast. x86_decode_insn() fails because it is not able to decode: 0xffffffff8110b7ef <__copy_user_nocache+47>: movnti %r11,(%rdi) or 0xffffffff8110b7ef <__copy_user_nocache+47>: 0x4c 0x0f 0xc3 0= x1f 0x4c is decoded as a REX prefix. 0x0f is decoded as a Two-byte opcode but 0xc3 is unknown in twobyte_table, so we exit because of an unrecogniz= ed opcode ("Cannot emulate"). Some comments ? Laurent --=20 ------------- Laurent.Vivier-6ktuUTfB/bM@public.gmane.org -------------- "Software is hard" - Donald Knuth --------------enigB3D472EAFB65B4E5BD8B5E6D Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.7 (GNU/Linux) iD8DBQFG7qgF9Kffa9pFVzwRAiw/AKCuxXVYDJqB8tX8HOYTFvUeaseGqACdGi4F nPbTaLFCqrKLav89NQ/OQbo= =HGdw -----END PGP SIGNATURE----- --------------enigB3D472EAFB65B4E5BD8B5E6D-- --===============1387825862== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ --===============1387825862== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kvm-devel mailing list kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/kvm-devel --===============1387825862==--