|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 4/4] x86/dom0: re-order DMA remapping enabling for PVH Dom0
Make sure the reserved regions are setup before enabling the DMA remapping in
the IOMMU, by calling dom0_setup_permissions before iommu_hwdom_init. Also, in
order to workaround IOMMU issues seen on pre-Haswell Intel hardware, make sure
the DMA remapping is enabled after populating Dom0 p2m.
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
Cc: Jan Beulich <jbeulich@xxxxxxxx>
Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
xen/arch/x86/hvm/dom0_build.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 52eb738249..61073c66c6 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -587,13 +587,6 @@ static int __init pvh_setup_cpus(struct domain *d, paddr_t
entry,
return rc;
}
- rc = dom0_setup_permissions(d);
- if ( rc )
- {
- panic("Unable to setup Dom0 permissions: %d\n", rc);
- return rc;
- }
-
update_domain_wallclock_time(d);
clear_bit(_VPF_down, &v->pause_flags);
@@ -1059,7 +1052,12 @@ int __init dom0_construct_pvh(struct domain *d, const
module_t *image,
printk("** Building a PVH Dom0 **\n");
- iommu_hwdom_init(d);
+ rc = dom0_setup_permissions(d);
+ if ( rc )
+ {
+ printk("Unable to setup Dom0 permissions: %d\n", rc);
+ return rc;
+ }
rc = pvh_setup_p2m(d);
if ( rc )
@@ -1068,6 +1066,8 @@ int __init dom0_construct_pvh(struct domain *d, const
module_t *image,
return rc;
}
+ iommu_hwdom_init(d);
+
rc = pvh_load_kernel(d, image, image_headroom, initrd,
bootstrap_map(image),
cmdline, &entry, &start_info);
if ( rc )
--
2.11.0 (Apple Git-81)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |