Re: [patch V4 part 5 05/31] x86/entry: Switch XEN/PV hypercall entry to IDTENTRY

From: Thomas Gleixner
Date: Thu May 07 2020 - 04:30:49 EST


Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> writes:
>> - if (register_callback(CALLBACKTYPE_event, xen_hypervisor_callback) ||
>> + if (register_callback(CALLBACKTYPE_event,
>> + asm_exc_xen_hypervisor_callback) ||
>
>
> This ...
>
>
>> register_callback(CALLBACKTYPE_failsafe, xen_failsafe_callback))
>> BUG();
...
>> @@ -347,7 +348,7 @@ cpu_initialize_context(unsigned int cpu,
>> ctxt->gs_base_kernel = per_cpu_offset(cpu);
>> #endif
>> ctxt->event_callback_eip =
>> - (unsigned long)xen_hypervisor_callback;
>> + (unsigned long)asm_exc_xen_hypervisor_callback;
>
>
> ... and this should be xen_asm_exc_xen_hypervisor_callback (we need to
> pop %rcx and %r11).
>
>
> And then Xen PV guest boots.

Ooops. Thanks for tracking this down!