From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v5 16/16] x86/hvm: track large memory mapped accesses by buffer offset Date: Fri, 3 Jul 2015 16:26:18 +0100 Message-ID: <5596A99A.4040708@citrix.com> References: <1435669558-5421-1-git-send-email-paul.durrant@citrix.com> <1435669558-5421-17-git-send-email-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZB2r9-0008CY-OI for xen-devel@lists.xenproject.org; Fri, 03 Jul 2015 15:26:23 +0000 In-Reply-To: <1435669558-5421-17-git-send-email-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Paul Durrant , xen-devel@lists.xenproject.org Cc: Keir Fraser , Jan Beulich List-Id: xen-devel@lists.xenproject.org On 30/06/15 14:05, Paul Durrant wrote: > The code in hvmemul_do_io() that tracks large reads or writes, to avoid > re-issue of component I/O, is defeated by accesses across a page boundary > because it uses physical address. The code is also only relevant to memory > mapped I/O to or from a buffer. > > This patch re-factors the code and moves it into hvmemul_phys_mmio_access() > where it is relevant and tracks using buffer offset rather than address. > Separate I/O emulations (of which there may be up to three per instruction) > are distinguished by linear address. > > Signed-off-by: Paul Durrant > Cc: Keir Fraser > Cc: Jan Beulich > Cc: Andrew Cooper Reviewed-by: Andrew Cooper