xen/p2m: An early bootup variant of set_phys_to_machine
[deliverable/linux.git] / arch / x86 / xen / p2m.c
index 952edefcedb356d4e331c2794a5e978728d33d4c..ffd08c414e91a7cc9f4a507b4ca3bbad9b823523 100644 (file)
@@ -570,6 +570,21 @@ static bool __init early_alloc_p2m(unsigned long pfn)
        }
        return true;
 }
+bool __init early_set_phys_to_machine(unsigned long pfn, unsigned long mfn)
+{
+       if (unlikely(!__set_phys_to_machine(pfn, mfn)))  {
+               if (!early_alloc_p2m(pfn))
+                       return false;
+
+               if (!early_alloc_p2m_middle(pfn, false /* boundary crossover OK!*/))
+                       return false;
+
+               if (!__set_phys_to_machine(pfn, mfn))
+                       return false;
+       }
+
+       return true;
+}
 unsigned long __init set_phys_range_identity(unsigned long pfn_s,
                                      unsigned long pfn_e)
 {
This page took 0.024076 seconds and 5 git commands to generate.