> On Jul 11, 2018, at 4:29 AM, Joerg Roedel <j...@8bytes.org> wrote:
>
> From: Joerg Roedel <jroe...@suse.de>
> We want x86_tss.sp0 point to the entry stack later to use
> it as a trampoline stack for other kernel entry points
> besides SYSENTER.
Makes sense: sp0 will be the entry stack. But:
>
>
> /* Offset from the sysenter stack to tss.sp0 */
> - DEFINE(TSS_entry_stack, offsetof(struct cpu_entry_area, tss.x86_tss.sp0)
> -
> + DEFINE(TSS_entry_stack, offsetof(struct cpu_entry_area, tss.x86_tss.sp1)
> -
> offsetofend(struct cpu_entry_area, entry_stack_page.stack));
>
The code reads differently. Did you perhaps mean TSS_task_stack?
Also, the “top of task stack” is a bit weird on 32-bit due to vm86. Can you
document *exactly* what goes in sp1?