On 26.02.2024 13:55, Andrew Cooper wrote:
> restore_all_guest() does a lot of manipulation of the stack after popping the
> GPRs, and uses raw %rsp displacements to do so.  Also, almost all entrypaths
> use raw %rsp displacements prior to pushing GPRs.
> 
> Provide better mnemonics, to aid readability and reduce the chance of errors
> when editing.
> 
> No functional change.  The resulting binary is identical.
> 
> Signed-off-by: Andrew Cooper <[email protected]>

Reviewed-by: Jan Beulich <[email protected]>
with one small request:

> --- a/xen/arch/x86/x86_64/asm-offsets.c
> +++ b/xen/arch/x86/x86_64/asm-offsets.c
> @@ -51,6 +51,23 @@ void __dummy__(void)
>      OFFSET(UREGS_kernel_sizeof, struct cpu_user_regs, es);
>      BLANK();
>  
> +    /*
> +     * EFRAME_* is for the entry/exit logic where %rsp is pointing at
> +     * UREGS_error_code and GPRs are still guest values.
> +     */

"still/already" or some such to match "entry/exit"?

Jan

Reply via email to