Re: [Xen-devel] [PATCH v2] xen: get rid of paravirt op adjust_exception_frame

From: Andrew Cooper
Date: Tue Aug 01 2017 - 19:55:28 EST


On 01/08/2017 20:45, Andy Lutomirski wrote:
> Also, IMO it would be nice to fully finish the job. Remaining steps are:
>
> 1. Unsuck the SYSCALL entries on Xen PV.
> 2. Unsuck the SYENTER entry on Xen PV.
> 3. Make a xen_nmi that's actually correct (should be trivial)
>
> #1 is here:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git/commit/?h=x86/entry_syscall&id=14fee348e3e86c994400d68085217d1232a637d6

If the

/* Zero-extending 32-bit regs, do not remove */
movl %eax, %eax

comments are to be believed, then the entry logic needs reordering
slightly to:

GLOBAL(entry_*_compat_after_hwframe)
movl %eax, %eax /* Zero-extending 32-bit regs, do not remove */
pushq %rax /* pt_regs->orig_ax */

~Andrew

(It is unfortunate this can't be simplified to pushq %eax)