summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2004-03-06 08:48:11 -0800
committerJaroslav Kysela <perex@suse.cz>2004-03-06 08:48:11 -0800
commit20e39386f528478e1da126050db7ec739d760c1b (patch)
treee0b44fa5365f9a6b38619b00755c7b369acba75f /include
parent38ace63203dddd7a039c530c4f34e4591168ed0f (diff)
[PATCH] fastcall / regparm fixes
From: Gerd Knorr <kraxel@suse.de> Current gcc's error out if a function's declaration and definition disagree about the register passing convention. The patch adds a new `fastcall' declatation primitive, and uses that in all the FASTCALL functions which we could find. A number of inconsistencies were fixed up along the way.
Diffstat (limited to 'include')
-rw-r--r--include/asm-i386/linkage.h1
-rw-r--r--include/asm-i386/smp.h1
-rw-r--r--include/asm-um/linkage.h1
-rw-r--r--include/linux/linkage.h1
-rw-r--r--include/linux/sched.h2
-rw-r--r--include/linux/smp.h2
6 files changed, 5 insertions, 3 deletions
diff --git a/include/asm-i386/linkage.h b/include/asm-i386/linkage.h
index 9bca2cdf3c72..e48009fd93c7 100644
--- a/include/asm-i386/linkage.h
+++ b/include/asm-i386/linkage.h
@@ -3,6 +3,7 @@
#define asmlinkage CPP_ASMLINKAGE __attribute__((regparm(0)))
#define FASTCALL(x) x __attribute__((regparm(3)))
+#define fastcall __attribute__((regparm(3)))
#ifdef CONFIG_X86_ALIGNMENT_16
#define __ALIGN .align 16,0x90
diff --git a/include/asm-i386/smp.h b/include/asm-i386/smp.h
index edbf16ce86ab..268dabd46653 100644
--- a/include/asm-i386/smp.h
+++ b/include/asm-i386/smp.h
@@ -38,7 +38,6 @@ extern int cpu_sibling_map[];
extern void smp_flush_tlb(void);
extern void smp_message_irq(int cpl, void *dev_id, struct pt_regs *regs);
-extern void smp_send_reschedule(int cpu);
extern void smp_invalidate_rcv(void); /* Process an NMI */
extern void (*mtrr_hook) (void);
extern void zap_low_mappings (void);
diff --git a/include/asm-um/linkage.h b/include/asm-um/linkage.h
index 1504efe84e24..27011652b015 100644
--- a/include/asm-um/linkage.h
+++ b/include/asm-um/linkage.h
@@ -2,5 +2,6 @@
#define __ASM_LINKAGE_H
#define FASTCALL(x) x __attribute__((regparm(3)))
+#define fastcall __attribute__((regparm(3)))
#endif
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index f85642639950..09955c0ce848 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -37,6 +37,7 @@
#ifndef FASTCALL
#define FASTCALL(x) x
+#define fastcall
#endif
#endif
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 9dd6606bb9cc..72d6edfe401a 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -602,7 +602,7 @@ extern void do_timer(struct pt_regs *);
extern int FASTCALL(wake_up_state(struct task_struct * tsk, unsigned int state));
extern int FASTCALL(wake_up_process(struct task_struct * tsk));
#ifdef CONFIG_SMP
- extern void FASTCALL(kick_process(struct task_struct * tsk));
+ extern void kick_process(struct task_struct *tsk);
#else
static inline void kick_process(struct task_struct *tsk) { }
#endif
diff --git a/include/linux/smp.h b/include/linux/smp.h
index 9f7feff3ee9e..312ec58a4025 100644
--- a/include/linux/smp.h
+++ b/include/linux/smp.h
@@ -30,7 +30,7 @@ extern void smp_send_stop(void);
/*
* sends a 'reschedule' event to another CPU:
*/
-extern void FASTCALL(smp_send_reschedule(int cpu));
+extern void smp_send_reschedule(int cpu);
/*