From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v3 2/9] x86: move common_interrupt to entry.S Date: Mon, 28 Apr 2014 10:25:54 +0100 Message-ID: <535E1EA2.7070005@citrix.com> References: <1398654879-5934-1-git-send-email-feng.wu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1398654879-5934-1-git-send-email-feng.wu@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Feng Wu Cc: kevin.tian@intel.com, ian.campbell@citrix.com, eddie.dong@intel.com, xen-devel@lists.xen.org, JBeulich@suse.com, jun.nakajima@intel.com List-Id: xen-devel@lists.xenproject.org On 28/04/14 04:14, Feng Wu wrote: > This patch moves label common_interrupt from asm_defns.h to entry.S > > Signed-off-by: Feng Wu I am fairly sure the __asm__(".section .text"); was bogus, given no obvious special case hacks play with the sections of this file. Reviewed-by: Andrew Cooper > --- > xen/arch/x86/i8259.c | 4 ---- > xen/arch/x86/x86_64/entry.S | 6 ++++++ > xen/include/asm-x86/x86_64/asm_defns.h | 9 --------- > 3 files changed, 6 insertions(+), 13 deletions(-) > > diff --git a/xen/arch/x86/i8259.c b/xen/arch/x86/i8259.c > index 6fdcce8..cd4d097 100644 > --- a/xen/arch/x86/i8259.c > +++ b/xen/arch/x86/i8259.c > @@ -33,10 +33,6 @@ > * interrupt-controller happy. > */ > > -__asm__(".section .text"); > - > -BUILD_COMMON_IRQ() > - > #define IRQ_NAME(nr) VEC##nr##_interrupt > > #define BI(nr) \ > diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S > index 3ea4683..1c81852 100644 > --- a/xen/arch/x86/x86_64/entry.S > +++ b/xen/arch/x86/x86_64/entry.S > @@ -465,6 +465,12 @@ ENTRY(dom_crash_sync_extable) > xorl %edi,%edi > jmp asm_domain_crash_synchronous /* Does not return */ > > +ENTRY(common_interrupt) > + SAVE_ALL > + movq %rsp,%rdi > + callq do_IRQ > + jmp ret_from_intr > + > /* No special register assumptions. */ > ENTRY(ret_from_intr) > GET_CURRENT(%rbx) > diff --git a/xen/include/asm-x86/x86_64/asm_defns.h b/xen/include/asm-x86/x86_64/asm_defns.h > index bf63ac1..cb5669d 100644 > --- a/xen/include/asm-x86/x86_64/asm_defns.h > +++ b/xen/include/asm-x86/x86_64/asm_defns.h > @@ -208,15 +208,6 @@ > #define REX64_PREFIX "rex64/" > #endif > > -#define BUILD_COMMON_IRQ() \ > -__asm__( \ > - "\n" __ALIGN_STR"\n" \ > - "common_interrupt:\n\t" \ > - STR(SAVE_ALL) "\n\t" \ > - "movq %rsp,%rdi\n\t" \ > - "callq " STR(do_IRQ) "\n\t" \ > - "jmp ret_from_intr\n"); > - > #define BUILD_IRQ(nr) \ > "pushq $0\n\t" \ > "movl $"#nr",4(%rsp)\n\t" \