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 -resend 09/27] x86: entry, annotate interrupt symbols properly
Date: Thu, 10 May 2018 10:06:26 +0200 [thread overview]
Message-ID: <20180510080644.19752-10-jslaby@suse.cz> (raw)
In-Reply-To: <20180510080644.19752-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_CODE_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..9997cbb940ec 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_CODE_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_CODE_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..0380041a5357 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_CODE_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_CODE_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-10 8:13 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-10 8:06 [PATCH -resend 00/27] New macros for assembler symbols Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 01/27] linkage: new " Jiri Slaby
2018-05-10 8:06 ` Jiri Slaby
2018-05-14 3:04 ` Randy Dunlap
2018-05-14 3:04 ` Randy Dunlap
2018-05-14 12:54 ` Jiri Slaby
2018-05-14 12:54 ` Jiri Slaby
2018-05-14 8:03 ` Ingo Molnar
2018-05-14 8:03 ` Ingo Molnar
2018-05-10 8:06 ` [PATCH -resend 02/27] x86: assembly, use SYM_DATA for data Jiri Slaby
2018-05-14 8:05 ` Ingo Molnar
2018-05-15 6:39 ` Ingo Molnar
2018-05-18 9:17 ` Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 03/27] x86: assembly, annotate relocate_kernel Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 04/27] x86: entry, annotate THUNKs Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 05/27] x86: assembly, annotate local pseudo-functions Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 06/27] x86: crypto, annotate local functions Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 07/27] x86: boot, " Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 08/27] x86: assembly, annotate aliases Jiri Slaby
2018-05-10 8:06 ` Jiri Slaby
2018-05-10 8:06 ` Jiri Slaby [this message]
2018-05-10 8:06 ` [PATCH -resend 10/27] x86: head, annotate data appropriatelly Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 11/27] x86: boot, " Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 12/27] x86: um, " Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 13/27] x86: xen-pvh, " Jiri Slaby
2018-05-10 8:06 ` Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 14/27] x86: purgatory, start using annotations Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 15/27] x86: assembly, do not annotate functions by GLOBAL Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 16/27] x86: assembly, use SYM_CODE_INNER_LABEL instead of GLOBAL Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 17/27] x86: realmode, use SYM_DATA_* " Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 18/27] x86: assembly, remove GLOBAL macro Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 19/27] x86: assembly, make some functions local Jiri Slaby
2018-05-10 8:06 ` Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 20/27] x86: ftrace, mark function_hook as function Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 21/27] x86_64: assembly, add ENDs to some functions and relabel with SYM_CODE_* Jiri Slaby
2018-05-10 8:06 ` Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 22/27] x86_64: assembly, change all ENTRY+END to SYM_CODE_* Jiri Slaby
2018-05-10 8:06 ` Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 23/27] x86_64: assembly, change all ENTRY+ENDPROC to SYM_FUNC_* Jiri Slaby
2018-05-10 8:06 ` Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 24/27] x86_32: assembly, add ENDs to some functions and relabel with SYM_CODE_* Jiri Slaby
2018-05-10 8:06 ` Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 25/27] x86_32: assembly, change all ENTRY+END to SYM_CODE_* Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 26/27] x86_32: assembly, change all ENTRY+ENDPROC to SYM_FUNC_* Jiri Slaby
2018-05-10 8:06 ` [PATCH -resend 27/27] x86: assembly, replace WEAK uses Jiri Slaby
2018-05-14 8:10 ` [PATCH -resend 00/27] New macros for assembler symbols Ingo Molnar
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=20180510080644.19752-10-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.