···122122 /* DS: data, read/write, 4 GB, base 0 */123123 [GDT_ENTRY_BOOT_DS] = GDT_ENTRY(0xc093, 0, 0xfffff),124124 };125125- struct gdt_ptr gdt;125125+ /* Xen HVM incorrectly stores a pointer to the gdt_ptr, instead126126+ of the gdt_ptr contents. Thus, make it static so it will127127+ stay in memory, at least long enough that we switch to the128128+ proper kernel GDT. */129129+ static struct gdt_ptr gdt;126130127131 gdt.len = sizeof(boot_gdt)-1;128132 gdt.ptr = (u32)&boot_gdt + (ds() << 4);