From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Ye Subject: [PATCH v2 0/2] Extend ioreq-server to support page write protection Date: Sat, 23 Aug 2014 03:18:33 +0800 Message-ID: <1408735115-6023-1-git-send-email-wei.ye@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: 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.xen.org Cc: kevin.tian@intel.com, keir@xen.org, ian.campbell@citrix.com, stefano.stabellini@eu.citrix.com, tim@xen.org, ian.jackson@eu.citrix.com, donald.d.dugger@intel.com, Paul.Durrant@citrix.com, zhiyuan.lv@intel.com, JBeulich@suse.com, yang.z.zhang@intel.com, Wei Ye List-Id: xen-devel@lists.xenproject.org Chnages from v1: - Changes the new p2m type name from p2m_ram_wp to p2m_mmio_write_dm. This means that we treat the pages as a special mmio range instead of ram. - Move macros to c file since only this file is using them. - Address various comments from Jan. ioreq-server is proposed to forward PIO and MMIO request to multiple device models according to the io range. XenGT (Intel Graphics Virtualization technology, please refer to https://01.org/xen/blogs/srclarkx/2013/graphics-virtualization- xengt) driver reside in Dom0 as a virtual graphics device model also need to trap and emulate the guest's write operation to some specific memory pages, like the memory pages used by guest graphics driver as PPGTT(per-process graphics translation table). We add an new p2m type "p2m_mmio_write_dm" to trap the page write operation. Page of this new p2m type is read only and for write, the request will go to device model via ioreq-server. Wei Ye (2): x86: add p2m_mmio_write_dm ioreq-server: Support scatter page forwarding tools/libxc/xc_domain.c | 32 ++++++ tools/libxc/xenctrl.h | 18 ++++ xen/arch/x86/hvm/hvm.c | 212 +++++++++++++++++++++++++++++++++++++- xen/arch/x86/mm/p2m-ept.c | 1 + xen/arch/x86/mm/p2m-pt.c | 1 + xen/include/asm-x86/hvm/domain.h | 9 ++ xen/include/asm-x86/p2m.h | 1 + xen/include/public/hvm/hvm_op.h | 12 +++ 8 files changed, 285 insertions(+), 1 deletion(-) -- 1.7.9.5