]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/arm/mm/mmu.c
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[karo-tx-linux.git] / arch / arm / mm / mmu.c
index 347cca9657838bb9f937cbeb8ad9d6bcaae6de6f..31af3cb59a60c56fb7b428486c7d356a2ddd22b4 100644 (file)
@@ -87,6 +87,8 @@ struct cachepolicy {
 #define s2_policy(policy)      0
 #endif
 
+unsigned long kimage_voffset __ro_after_init;
+
 static struct cachepolicy cache_policies[] __initdata = {
        {
                .policy         = "uncached",
@@ -1639,6 +1641,9 @@ void __init paging_init(const struct machine_desc *mdesc)
 
        empty_zero_page = virt_to_page(zero_page);
        __flush_dcache_page(NULL, empty_zero_page);
+
+       /* Compute the virt/idmap offset, mostly for the sake of KVM */
+       kimage_voffset = (unsigned long)&kimage_voffset - virt_to_idmap(&kimage_voffset);
 }
 
 void __init early_mm_init(const struct machine_desc *mdesc)