diff options
author | Andi Kleen <ak@linux.intel.com> | 2013-08-05 18:02:37 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2013-08-06 17:18:23 -0400 |
commit | 1d9090e2fb32c84277cef6e72a21be7f78c929f4 (patch) | |
tree | 89c2cf998589bfb26908794fe22a5d48bebbc80a /arch/x86/kernel/apic | |
parent | 9e1a431de08e2a49ca8dab0edc813c8cb96ba369 (diff) |
x86, asmlinkage: Make all interrupt handlers asmlinkage / __visible
These handlers are all referenced from assembler stubs, so need
to be visible.
The handlers without arguments become asmlinkage, the others __visible
to not force regparms(0) on x86-32.
I put it all into a single patch, please let me know if you want
it it split up.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Link: http://lkml.kernel.org/r/1375740170-7446-4-git-send-email-andi@firstfloor.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/kernel/apic')
-rw-r--r-- | arch/x86/kernel/apic/apic.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c index eca89c53a7f5..a7eb82d9b012 100644 --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c | |||
@@ -913,7 +913,7 @@ static void local_apic_timer_interrupt(void) | |||
913 | * [ if a single-CPU system runs an SMP kernel then we call the local | 913 | * [ if a single-CPU system runs an SMP kernel then we call the local |
914 | * interrupt as well. Thus we cannot inline the local irq ... ] | 914 | * interrupt as well. Thus we cannot inline the local irq ... ] |
915 | */ | 915 | */ |
916 | void __irq_entry smp_apic_timer_interrupt(struct pt_regs *regs) | 916 | __visible void __irq_entry smp_apic_timer_interrupt(struct pt_regs *regs) |
917 | { | 917 | { |
918 | struct pt_regs *old_regs = set_irq_regs(regs); | 918 | struct pt_regs *old_regs = set_irq_regs(regs); |
919 | 919 | ||
@@ -932,7 +932,7 @@ void __irq_entry smp_apic_timer_interrupt(struct pt_regs *regs) | |||
932 | set_irq_regs(old_regs); | 932 | set_irq_regs(old_regs); |
933 | } | 933 | } |
934 | 934 | ||
935 | void __irq_entry smp_trace_apic_timer_interrupt(struct pt_regs *regs) | 935 | __visible void __irq_entry smp_trace_apic_timer_interrupt(struct pt_regs *regs) |
936 | { | 936 | { |
937 | struct pt_regs *old_regs = set_irq_regs(regs); | 937 | struct pt_regs *old_regs = set_irq_regs(regs); |
938 | 938 | ||
@@ -1946,14 +1946,14 @@ static inline void __smp_spurious_interrupt(void) | |||
1946 | "should never happen.\n", smp_processor_id()); | 1946 | "should never happen.\n", smp_processor_id()); |
1947 | } | 1947 | } |
1948 | 1948 | ||
1949 | void smp_spurious_interrupt(struct pt_regs *regs) | 1949 | __visible void smp_spurious_interrupt(struct pt_regs *regs) |
1950 | { | 1950 | { |
1951 | entering_irq(); | 1951 | entering_irq(); |
1952 | __smp_spurious_interrupt(); | 1952 | __smp_spurious_interrupt(); |
1953 | exiting_irq(); | 1953 | exiting_irq(); |
1954 | } | 1954 | } |
1955 | 1955 | ||
1956 | void smp_trace_spurious_interrupt(struct pt_regs *regs) | 1956 | __visible void smp_trace_spurious_interrupt(struct pt_regs *regs) |
1957 | { | 1957 | { |
1958 | entering_irq(); | 1958 | entering_irq(); |
1959 | trace_spurious_apic_entry(SPURIOUS_APIC_VECTOR); | 1959 | trace_spurious_apic_entry(SPURIOUS_APIC_VECTOR); |
@@ -2002,14 +2002,14 @@ static inline void __smp_error_interrupt(struct pt_regs *regs) | |||
2002 | 2002 | ||
2003 | } | 2003 | } |
2004 | 2004 | ||
2005 | void smp_error_interrupt(struct pt_regs *regs) | 2005 | __visible void smp_error_interrupt(struct pt_regs *regs) |
2006 | { | 2006 | { |
2007 | entering_irq(); | 2007 | entering_irq(); |
2008 | __smp_error_interrupt(regs); | 2008 | __smp_error_interrupt(regs); |
2009 | exiting_irq(); | 2009 | exiting_irq(); |
2010 | } | 2010 | } |
2011 | 2011 | ||
2012 | void smp_trace_error_interrupt(struct pt_regs *regs) | 2012 | __visible void smp_trace_error_interrupt(struct pt_regs *regs) |
2013 | { | 2013 | { |
2014 | entering_irq(); | 2014 | entering_irq(); |
2015 | trace_error_apic_entry(ERROR_APIC_VECTOR); | 2015 | trace_error_apic_entry(ERROR_APIC_VECTOR); |