[xen master] x86/pvh: change the order of the iommu initialization for Dom0

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[xen master] x86/pvh: change the order of the iommu initialization for Dom0

patchbot
commit 173c7803592065d27bf2e60d50e08e197a0efa83
Author:     Roger Pau Monné <[hidden email]>
AuthorDate: Tue Jul 24 15:55:39 2018 +0200
Commit:     Jan Beulich <[hidden email]>
CommitDate: Tue Jul 24 15:55:39 2018 +0200

    x86/pvh: change the order of the iommu initialization for Dom0
   
    The iommu initialization will also create MMIO mappings in the Dom0
    p2m, so the paging memory pool needs to be allocated or else iommu
    initialization will fail.
   
    Move the call to init the iommu after the Dom0 p2m has been setup in
    order to solve this.
   
    Note that issues caused by this wrong ordering have only been seen
    when using shadow paging.
   
    Signed-off-by: Roger Pau Monné <[hidden email]>
    Acked-by: Jan Beulich <[hidden email]>
---
 xen/arch/x86/hvm/dom0_build.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 9a833fa4b9..f0cd63b1ec 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -1093,8 +1093,6 @@ int __init dom0_construct_pvh(struct domain *d, const module_t *image,
 
     printk(XENLOG_INFO "*** Building a PVH Dom%d ***\n", d->domain_id);
 
-    iommu_hwdom_init(d);
-
     rc = pvh_setup_p2m(d);
     if ( rc )
     {
@@ -1102,6 +1100,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 )
--
generated by git-patchbot for /home/xen/git/xen.git#master


_______________________________________________
Xen-changelog mailing list
[hidden email]
https://lists.xenproject.org/xen-changelog