[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 0/5] pvh: dom0 special memory regions mapping
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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |