>>> On 09.05.18 at 22:33, <boris.ostrov...@oracle.com> wrote: > @@ -64,6 +67,17 @@ ENTRY(pvh_start_xen) > mov %eax,%es > mov %eax,%ss > > + /* Set base address in stack canary descriptor. */ > + movl _pa(gdt_start),%eax > + movl $_pa(canary),%ecx > + movw %cx, (PVH_GDT_ENTRY_CANARY * 8) + 0(%eax) > + shrl $16, %ecx > + movb %cl, (PVH_GDT_ENTRY_CANARY * 8) + 2(%eax) > + movb %ch, (PVH_GDT_ENTRY_CANARY * 8) + 5(%eax)
Is this meaningful / correct for the 64-bit case? I'd rather expect you to write the GS base address MSR there. Jan