All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jslaby@suse.cz>
To: mingo@redhat.com
Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
	Jiri Slaby <jslaby@suse.cz>, Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	x86@kernel.org
Subject: [PATCH v6 10/28] x86/asm/entry: annotate interrupt symbols properly
Date: Fri, 18 May 2018 11:17:03 +0200	[thread overview]
Message-ID: <20180518091721.7604-11-jslaby@suse.cz> (raw)
In-Reply-To: <20180518091721.7604-1-jslaby@suse.cz>

* annotate functions properly by SYM_CODE_START, SYM_CODE_START_LOCAL*
  and SYM_CODE_END -- these are not C-like functions, so we have to
  annotate them using CODE.
* use SYM_INNER_LABEL* for labels being in the middle of other functions

[v4] alignments preserved

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: <x86@kernel.org>
---
 arch/x86/entry/entry_32.S | 15 ++++++++-------
 arch/x86/entry/entry_64.S |  9 ++++-----
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S
index 030fbeba5f4a..4b80b2fb4de1 100644
--- a/arch/x86/entry/entry_32.S
+++ b/arch/x86/entry/entry_32.S
@@ -340,7 +340,7 @@ ret_from_intr:
 	cmpl	$USER_RPL, %eax
 	jb	resume_kernel			# not returning to v8086 or userspace
 
-ENTRY(resume_userspace)
+SYM_INNER_LABEL_ALIGN(resume_userspace, SYM_L_LOCAL)
 	DISABLE_INTERRUPTS(CLBR_ANY)
 	TRACE_IRQS_OFF
 	movl	%esp, %eax
@@ -579,10 +579,11 @@ restore_all:
 	INTERRUPT_RETURN
 
 .section .fixup, "ax"
-ENTRY(iret_exc	)
+SYM_CODE_START(iret_exc)
 	pushl	$0				# no error code
 	pushl	$do_iret_error
 	jmp	common_exception
+SYM_CODE_END(iret_exc)
 .previous
 	_ASM_EXTABLE(.Lirq_return, iret_exc)
 
@@ -674,7 +675,7 @@ END(irq_entries_start)
  * so IRQ-flags tracing has to follow that:
  */
 	.p2align CONFIG_X86_L1_CACHE_SHIFT
-common_interrupt:
+SYM_CODE_START_LOCAL(common_interrupt)
 	ASM_CLAC
 	addl	$-0x80, (%esp)			/* Adjust vector into the [-256, -1] range */
 	SAVE_ALL
@@ -683,7 +684,7 @@ common_interrupt:
 	movl	%esp, %eax
 	call	do_IRQ
 	jmp	ret_from_intr
-ENDPROC(common_interrupt)
+SYM_CODE_END(common_interrupt)
 
 #define BUILD_INTERRUPT3(name, nr, fn)	\
 ENTRY(name)				\
@@ -835,7 +836,7 @@ ENTRY(xen_hypervisor_callback)
 
 	jmp	xen_iret_crit_fixup
 
-ENTRY(xen_do_upcall)
+SYM_INNER_LABEL_ALIGN(xen_do_upcall, SYM_L_GLOBAL)
 1:	mov	%esp, %eax
 	call	xen_evtchn_do_upcall
 #ifndef CONFIG_PREEMPT
@@ -920,7 +921,7 @@ ENTRY(page_fault)
 	jmp common_exception
 END(page_fault)
 
-common_exception:
+SYM_CODE_START_LOCAL_NOALIGN(common_exception)
 	/* the function address is in %gs's slot on the stack */
 	pushl	%fs
 	pushl	%es
@@ -950,7 +951,7 @@ common_exception:
 	movl	%esp, %eax			# pt_regs pointer
 	CALL_NOSPEC %edi
 	jmp	ret_from_exception
-END(common_exception)
+SYM_CODE_END(common_exception)
 
 ENTRY(debug)
 	/*
diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index 80045cb2f44c..e0798c044055 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -637,7 +637,7 @@ END(interrupt_entry)
 	 * then jump to common_interrupt.
 	 */
 	.p2align CONFIG_X86_L1_CACHE_SHIFT
-common_interrupt:
+SYM_CODE_START_LOCAL(common_interrupt)
 	addq	$-0x80, (%rsp)			/* Adjust vector to [-256, -1] range */
 	call	interrupt_entry
 	UNWIND_HINT_REGS indirect=1
@@ -733,7 +733,7 @@ GLOBAL(restore_regs_and_return_to_kernel)
 	 */
 	INTERRUPT_RETURN
 
-ENTRY(native_iret)
+SYM_INNER_LABEL_ALIGN(native_iret, SYM_L_GLOBAL)
 	UNWIND_HINT_IRET_REGS
 	/*
 	 * Are we returning to a stack segment from the LDT?  Note: in
@@ -744,8 +744,7 @@ ENTRY(native_iret)
 	jnz	native_irq_return_ldt
 #endif
 
-.global native_irq_return_iret
-native_irq_return_iret:
+SYM_INNER_LABEL(native_irq_return_iret, SYM_L_GLOBAL)
 	/*
 	 * This may fault.  Non-paranoid faults on return to userspace are
 	 * handled by fixup_bad_iret.  These include #SS, #GP, and #NP.
@@ -827,7 +826,7 @@ native_irq_return_ldt:
 	 */
 	jmp	native_irq_return_iret
 #endif
-END(common_interrupt)
+SYM_CODE_END(common_interrupt)
 
 /*
  * APIC interrupts.
-- 
2.16.3

  parent reply	other threads:[~2018-05-18  9:24 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-18  9:16 [PATCH v6 00/28] New macros for assembler symbols Jiri Slaby
2018-05-18  9:16 ` [PATCH v6 01/28] linkage: new " Jiri Slaby
2018-05-18  9:16   ` Jiri Slaby
2018-05-18  9:16 ` [PATCH v6 02/28] x86/asm/suspend: drop ENTRY from local data Jiri Slaby
2018-05-18 10:03   ` Rafael J. Wysocki
2018-05-19 19:42   ` Pavel Machek
2018-05-18  9:16 ` [PATCH v6 03/28] x86/asm/suspend: use SYM_DATA for data Jiri Slaby
2018-05-18 10:03   ` Rafael J. Wysocki
2018-05-19 19:42   ` Pavel Machek
2018-05-18  9:16 ` [PATCH v6 04/28] x86/asm: annotate relocate_kernel Jiri Slaby
2018-05-18  9:16 ` [PATCH v6 05/28] x86/asm/entry: annotate THUNKs Jiri Slaby
2018-05-18  9:16 ` [PATCH v6 06/28] x86/asm: annotate local pseudo-functions Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 07/28] x86/asm/crypto: annotate local functions Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 08/28] x86/boot/compressed: " Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 09/28] x86/asm: annotate aliases Jiri Slaby
2018-05-18  9:17   ` Jiri Slaby
2018-05-18  9:17 ` Jiri Slaby [this message]
2018-05-18  9:17 ` [PATCH v6 11/28] x86/asm/head: annotate data appropriatelly Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 12/28] x86/boot/compressed: " Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 13/28] um: " Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 14/28] xen/pvh: " Jiri Slaby
2018-05-18  9:17   ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 15/28] x86/asm/purgatory: start using annotations Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 16/28] x86/asm: do not annotate functions by GLOBAL Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 17/28] x86/asm: use SYM_INNER_LABEL instead of GLOBAL Jiri Slaby
2018-05-18 19:41   ` Andy Lutomirski
2018-05-19  7:44     ` Ingo Molnar
2018-05-21  7:13     ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 18/28] x86/asm/realmode: use SYM_DATA_* " Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 19/28] x86/asm: kill the last GLOBAL user and remove the macro Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 20/28] x86/asm: make some functions local Jiri Slaby
2018-05-18  9:17   ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 21/28] x86/asm/ftrace: mark function_hook as function Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 22/28] x86_64/asm: add ENDs to some functions and relabel with SYM_CODE_* Jiri Slaby
2018-05-18  9:17   ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 23/28] x86_64/asm: change all ENTRY+END to SYM_CODE_* Jiri Slaby
2018-05-18  9:17   ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 24/28] x86_64/asm: change all ENTRY+ENDPROC to SYM_FUNC_* Jiri Slaby
2018-05-18  9:17   ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 25/28] x86_32/asm: add ENDs to some functions and relabel with SYM_CODE_* Jiri Slaby
2018-05-18  9:17 ` Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 26/28] x86_32/asm: change all ENTRY+END to SYM_CODE_* Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 27/28] x86_32/asm: change all ENTRY+ENDPROC to SYM_FUNC_* Jiri Slaby
2018-05-18  9:17 ` [PATCH v6 28/28] x86/asm: replace WEAK uses by SYM_INNER_LABEL Jiri Slaby

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=20180518091721.7604-11-jslaby@suse.cz \
    --to=jslaby@suse.cz \
    --cc=hpa@zytor.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.