From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v2 00/17] x86/hvm: I/O emulation cleanup and fix Date: Thu, 11 Jun 2015 16:42:44 +0100 Message-ID: <1434037381-10917-1-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Z34dJ-0006Kp-QV for xen-devel@lists.xenproject.org; Thu, 11 Jun 2015 15:43:09 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Paul Durrant List-Id: xen-devel@lists.xenproject.org This patch series re-works much of the code involved in emulation of port and memory mapped I/O for HVM guests. The code has become very convoluted and, at least by inspection, certain emulations will apparently malfunction. The series is broken down into 17 patches (which are also available in my xenbits repo: http://xenbits.xen.org/gitweb/?p=people/pauldu/xen.git on the emulation22 branch) as follows: 0001-x86-hvm-simplify-hvmemul_do_io.patch 0002-x86-hvm-re-name-struct-hvm_mmio_handler-to-hvm_mmio_.patch 0003-x86-hvm-unify-internal-portio-and-mmio-intercepts.patch 0004-x86-hvm-unify-dpci-portio-intercept-with-standard-po.patch 0005-x86-hvm-unify-stdvga-mmio-intercept-with-standard-mm.patch 0006-x86-hvm-revert-82ed8716b-fix-direct-PCI-port-I-O-emu.patch 0007-x86-hvm-only-call-hvm_io_assist-from-hvm_wait_for_io.patch 0008-x86-hvm-split-I-O-completion-handling-from-state-mod.patch 0009-x86-hvm-remove-hvm_io_pending-check-in-hvmemul_do_io.patch 0010-x86-hvm-remove-HVMIO_dispatched-I-O-state.patch 0011-x86-hvm-remove-hvm_io_state-enumeration.patch 0012-x86-hvm-use-ioreq_t-to-track-in-flight-state.patch 0013-x86-hvm-only-acquire-RAM-pages-for-emulation-when-we.patch 0014-x86-hvm-remove-extraneous-parameter-from-hvmtrace_io.patch 0015-x86-hvm-make-sure-translated-MMIO-reads-or-writes-fa.patch 0016-x86-hvm-remove-multiple-open-coded-chunking-loops.patch 0017-x86-hvm-track-large-memory-mapped-accesses-by-buffer.patch v2: - Removed bogus assertion from patch 16 - Re-worked patch 17 after basic testing of back-port onto XenServer