From: Andrew Cooper <andrew.cooper3@citrix.com> To: Xen-devel <xen-devel@lists.xen.org> Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Andy Lutomirski <luto@amacapital.net> Subject: [PATCH 1/2] xen/x86: Don't hold TRAPBOUNCE_flags in %cl during create_bounce_frame Date: Wed, 16 Mar 2016 20:05:48 +0000 [thread overview] Message-ID: <1458158749-21846-2-git-send-email-andrew.cooper3@citrix.com> (raw) In-Reply-To: <1458158749-21846-1-git-send-email-andrew.cooper3@citrix.com> TRAPBOUNCE_flags are always available via a displacement from %rdx. This allows all of %rcx to be used as a scratch register. No functional change. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Jan Beulich <JBeulich@suse.com> --- xen/arch/x86/x86_64/compat/entry.S | 5 ++--- xen/arch/x86/x86_64/entry.S | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S index 927439d..36a8eae 100644 --- a/xen/arch/x86/x86_64/compat/entry.S +++ b/xen/arch/x86/x86_64/compat/entry.S @@ -263,11 +263,10 @@ compat_create_bounce_frame: movl UREGS_rsp+8(%rsp),%esi .Lft4: mov UREGS_ss+8(%rsp),%fs 2: - movb TRAPBOUNCE_flags(%rdx),%cl subl $3*4,%esi movq VCPU_vcpu_info(%rbx),%rax pushq COMPAT_VCPUINFO_upcall_mask(%rax) - testb $TBF_INTERRUPT,%cl + testb $TBF_INTERRUPT,TRAPBOUNCE_flags(%rdx) setnz %ch # TBF_INTERRUPT -> set upcall mask orb %ch,COMPAT_VCPUINFO_upcall_mask(%rax) popq %rax @@ -284,7 +283,7 @@ compat_create_bounce_frame: .Lft6: movl %eax,%fs:2*4(%rsi) # EFLAGS movl UREGS_rip+8(%rsp),%eax .Lft7: movl %eax,%fs:(%rsi) # EIP - testb $TBF_EXCEPTION_ERRCODE,%cl + testb $TBF_EXCEPTION_ERRCODE,TRAPBOUNCE_flags(%rdx) jz 1f subl $4,%esi movl TRAPBOUNCE_error_code(%rdx),%eax diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S index dd7f114..221de01 100644 --- a/xen/arch/x86/x86_64/entry.S +++ b/xen/arch/x86/x86_64/entry.S @@ -343,7 +343,6 @@ UNLIKELY_START(g, create_bounce_frame_bad_sp) lea UNLIKELY_DISPATCH_LABEL(create_bounce_frame_bad_sp)(%rip), %rdi jmp asm_domain_crash_synchronous /* Does not return */ __UNLIKELY_END(create_bounce_frame_bad_sp) - movb TRAPBOUNCE_flags(%rdx),%cl subq $40,%rsi movq UREGS_ss+8(%rsp),%rax ASM_STAC @@ -352,7 +351,7 @@ __UNLIKELY_END(create_bounce_frame_bad_sp) .Lft3: movq %rax,24(%rsi) # RSP movq VCPU_vcpu_info(%rbx),%rax pushq VCPUINFO_upcall_mask(%rax) - testb $TBF_INTERRUPT,%cl + testb $TBF_INTERRUPT,TRAPBOUNCE_flags(%rdx) setnz %ch # TBF_INTERRUPT -> set upcall mask orb %ch,VCPUINFO_upcall_mask(%rax) popq %rax @@ -369,7 +368,7 @@ __UNLIKELY_END(create_bounce_frame_bad_sp) .Lft5: movq %rax,16(%rsi) # RFLAGS movq UREGS_rip+8(%rsp),%rax .Lft6: movq %rax,(%rsi) # RIP - testb $TBF_EXCEPTION_ERRCODE,%cl + testb $TBF_EXCEPTION_ERRCODE,TRAPBOUNCE_flags(%rdx) jz 1f subq $8,%rsi movl TRAPBOUNCE_error_code(%rdx),%eax -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-03-16 20:05 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-03-16 20:05 [PATCH 0/2] XSA-171 Followup work Andrew Cooper 2016-03-16 20:05 ` Andrew Cooper [this message] 2016-03-16 20:05 ` [PATCH 2/2] xen/x86: Introduce a new VMASSIST for architectural behaviour of iopl Andrew Cooper 2016-03-17 10:25 ` Jan Beulich 2016-03-17 10:45 ` Andrew Cooper 2016-03-17 11:00 ` Jan Beulich 2016-03-17 11:05 ` Andrew Cooper
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1458158749-21846-2-git-send-email-andrew.cooper3@citrix.com \ --to=andrew.cooper3@citrix.com \ --cc=luto@amacapital.net \ --cc=xen-devel@lists.xen.org \ --subject='Re: [PATCH 1/2] xen/x86: Don'\''t hold TRAPBOUNCE_flags in %cl during create_bounce_frame' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).