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
next prev 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.