From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [RFC PATCH v3 0/4] Real mode interrupt injection Date: Mon, 16 Aug 2010 17:29:23 +0300 Message-ID: <20100816142923.GA21482@redhat.com> References: <1281908823-4505-1-git-send-email-m.gamal005@gmail.com> <4C693ACA.9090702@redhat.com> <4C694821.1020108@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Mohammed Gamal , kvm@vger.kernel.org, mtosatti@redhat.com To: Avi Kivity Return-path: Received: from mx1.redhat.com ([209.132.183.28]:63097 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752474Ab0HPO30 (ORCPT ); Mon, 16 Aug 2010 10:29:26 -0400 Content-Disposition: inline In-Reply-To: <4C694821.1020108@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Mon, Aug 16, 2010 at 05:16:01PM +0300, Avi Kivity wrote: > On 08/16/2010 04:28 PM, Mohammed Gamal wrote: > > > >>I debugged this for a bit - emulate_int_real() is completely broken. > >> emulate_push() doesn't push anything, it only schedules a push; running > >>these back-to-back will result in only the last push to be executed. > >> > >So we need write back the decode cache after each push. Or let > >emulate_push() change the emulation context directly. Please CMIIW > > I wrote a push_std() that uses ->write_std() instead of > ->write_emulated() and can be used back-to-back. Long term we'll > need a write queue but for the short term this will do. > Why not just call writeback() after the emulate_push()? emulate_pusha() does it. -- Gleb.