All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 0/5] pvh: dom0 special memory regions mapping
@ 2015-02-13 18:50 Elena Ufimtseva
  2015-02-13 21:47 ` Andrew Cooper
  0 siblings, 1 reply; 3+ messages in thread
From: Elena Ufimtseva @ 2015-02-13 18:50 UTC (permalink / raw)
  To: xen-devel
  Cc: kevin.tian, tim, jbeulich, yang.z.zhang, boris.ostrovsky,
	roger.pau

This patch set introduces xen boot option dom0_iommu_rwmem for special
memory regions that are not reported by ACPI as RMRRs and are reserved
in e820 map but require iommu mapping RW permissions (per experiment, only R).
The problem was discovered in few systems. See discussion:
http://lists.xenproject.org/archives/html/xen-devel/2015-01/msg02513.html

The patch set fixes the problem booting dom0 in pvh mode on some machines.
It introduces p2m_sys_rw memory type for these special regions and maps
with RW permissions with vtd iommu. The rmrrs regions are kept in
list rwmem_ranges in hvm_arch structure where rmmrs are also reside.
This may not be plausible solution and comments and suggestions are welcome.

The patch set is split in 5 patches:

- iommu: need_iommu set early
	sets need_iommu early so dom0 pvh specific functions can take this
	into account and perform proper iommu mapping;
- p2m: introduce misc type p2m_sys_rw for mmio rw mappings
	p2m_sys_rw type introduces to provide correct mapping permissions and
	distinguish from other types;
- pvh: add rwmem_ranges to keep mapped special regions
	to keep special regions in arch_hvm_iommu.
- pvh: dom0 add rw mapping for dom0_iommu_rwmem boot opt
	sets correct permissions for ept entry corresponding to specified
	region;
- pvh: dom0 boot option to specify iommu rw ranges
	defines boot option and parses it into the list of of rwmem_ranges;

Your comments and suggestions are welcome as there is a room for improvement
and desire to be in sync with other design proposals as rmmrs design.

Elena Ufimtseva (5):
  iommu: need_iommu set early
  p2m: introduce misc type p2m_sys_rw for mmio rw mappings
  pvh: add rwmem_ranges to keep mapped special regions
  pvh: dom0 add rw mapping for dom0_iommu_rwmem boot opt
  pvh: dom0 boot option to specify iommu rw ranges

 xen/arch/x86/domain_build.c         |   50 +++++++++++++++++++++++++++++++
 xen/arch/x86/mm/p2m-ept.c           |    7 +++--
 xen/arch/x86/mm/p2m.c               |    2 +-
 xen/drivers/passthrough/iommu.c     |   55 ++++++++++++++++++++++++++++++++++-
 xen/drivers/passthrough/vtd/iommu.c |    7 +++++
 xen/drivers/passthrough/x86/iommu.c |    1 +
 xen/include/asm-x86/hvm/iommu.h     |    2 ++
 xen/include/asm-x86/p2m.h           |    5 +++-
 xen/include/xen/iommu.h             |    5 ++++
 9 files changed, 128 insertions(+), 6 deletions(-)

-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-02-13 23:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-13 18:50 [PATCH RFC 0/5] pvh: dom0 special memory regions mapping Elena Ufimtseva
2015-02-13 21:47 ` Andrew Cooper
2015-02-13 23:14   ` Elena Ufimtseva

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.