|
@@ -87,6 +87,8 @@ struct cachepolicy {
|
|
#define s2_policy(policy) 0
|
|
#define s2_policy(policy) 0
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+unsigned long kimage_voffset __ro_after_init;
|
|
|
|
+
|
|
static struct cachepolicy cache_policies[] __initdata = {
|
|
static struct cachepolicy cache_policies[] __initdata = {
|
|
{
|
|
{
|
|
.policy = "uncached",
|
|
.policy = "uncached",
|
|
@@ -1635,4 +1637,7 @@ void __init paging_init(const struct machine_desc *mdesc)
|
|
|
|
|
|
empty_zero_page = virt_to_page(zero_page);
|
|
empty_zero_page = virt_to_page(zero_page);
|
|
__flush_dcache_page(NULL, empty_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);
|
|
}
|
|
}
|