On Mon, 2007-11-19 at 14:06 -0800, Roland McGrath wrote:
> This changes the 64-bit kernel's support for the 32-bit sysenter
> instruction to use stored fields rather than constants for the
> user-mode return address, as the 32-bit kernel does.  This adds a
> sysenter_return field to struct thread_info, as 32-bit has.  There
> is no observable effect from this yet.  It makes the assembly code
> independent of the 32-bit vDSO mapping address, paving the way for
> making the vDSO address vary as it does on the 32-bit kernel.

I hope you won't carry the dependency of COMPAT_VDSO over to 64-bit when
that happens.

> @@ -104,7 +103,7 @@ ENTRY(ia32_sysenter_target)
>       pushfq
>       CFI_ADJUST_CFA_OFFSET 8
>       /*CFI_REL_OFFSET rflags,0*/
> -     movl    $VSYSCALL32_SYSEXIT, %r10d
> +     movl    8*3-THREAD_SIZE+threadinfo_sysenter_return(%rsp), %r10d

8*3-THREAD_SIZE is not very intuitive.  Can you add a comment on the
math?

Zach

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to