#endif
}
-void __cpuinit cpu_gdt_init(struct Xgt_desc_struct *gdt_descr)
+static void __cpuinit cpu_gdt_init(const struct Xgt_desc_struct *gdt_descr)
{
unsigned long frames[16];
unsigned long va;
make_lowmem_page_readonly(
(void *)va, XENFEAT_writable_descriptor_tables);
}
- if (HYPERVISOR_set_gdt(frames, gdt_descr->size / 8))
+ if (HYPERVISOR_set_gdt(frames, (gdt_descr->size + 1) / 8))
BUG();
}
xen_new_user_pt(__pa_symbol(__user_pgd(init_level4_pgt)));
}
-void __cpuinit cpu_gdt_init(struct desc_ptr *gdt_descr)
+static void __cpuinit cpu_gdt_init(const struct desc_ptr *gdt_descr)
{
unsigned long frames[16];
unsigned long va;
make_page_readonly(
(void *)va, XENFEAT_writable_descriptor_tables);
}
- if (HYPERVISOR_set_gdt(frames, gdt_descr->size /
+ if (HYPERVISOR_set_gdt(frames, (gdt_descr->size + 1) /
sizeof (struct desc_struct)))
BUG();
}
asm volatile("movq %0,%%cr3" :: "r" (__pa_symbol(&init_level4_pgt)));
}
-void __init cpu_gdt_init(struct desc_ptr *gdt_descr)
+static void __cpuinit cpu_gdt_init(const struct desc_ptr *gdt_descr)
{
asm volatile("lgdt %0" :: "m" (*gdt_descr));
asm volatile("lidt %0" :: "m" (idt_descr));