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

* Re: [PATCH RFC 0/5] pvh: dom0 special memory regions mapping
  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
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Cooper @ 2015-02-13 21:47 UTC (permalink / raw)
  To: Elena Ufimtseva, xen-devel
  Cc: kevin.tian, tim, jbeulich, yang.z.zhang, boris.ostrovsky,
	roger.pau

On 13/02/15 18:50, Elena Ufimtseva wrote:
> 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

Please use something like git-send-email to properly thread these 6
emails together into a single thread, rather than having 6 individual
email threads floating about on the list.

~Andrew

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

* Re: [PATCH RFC 0/5] pvh: dom0 special memory regions mapping
  2015-02-13 21:47 ` Andrew Cooper
@ 2015-02-13 23:14   ` Elena Ufimtseva
  0 siblings, 0 replies; 3+ messages in thread
From: Elena Ufimtseva @ 2015-02-13 23:14 UTC (permalink / raw)
  To: Andrew Cooper
  Cc: kevin.tian, tim, xen-devel, jbeulich, yang.z.zhang,
	boris.ostrovsky, roger.pau

On Fri, Feb 13, 2015 at 09:47:56PM +0000, Andrew Cooper wrote:
> On 13/02/15 18:50, Elena Ufimtseva wrote:
> > 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
> 
> Please use something like git-send-email to properly thread these 6
> emails together into a single thread, rather than having 6 individual
> email threads floating about on the list.
> 
> ~Andrew

Sorry, I did send it with incorrect threading.

Elena

^ 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.