diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:00 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:00 -0500 |
commit | d50efc6c40620b2e11648cac64ebf4a824e40382 (patch) | |
tree | daf951117c86f2d4875216eee9e708a0c01c9e4b /lib/rwsem.c | |
parent | 3a556b26a2718e48aa2b6ce06ea4875ddcd0778e (diff) |
x86: fix UML and -regparm=3
introduce the "asmregparm" calling convention: for functions
implemented in assembly with a fixed regparm input parameters
calling convention.
mark the semaphore and rwsem slowpath functions with that.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'lib/rwsem.c')
-rw-r--r-- | lib/rwsem.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/rwsem.c b/lib/rwsem.c index 7d02700a4b0e..3e3365e5665e 100644 --- a/lib/rwsem.c +++ b/lib/rwsem.c | |||
@@ -187,7 +187,7 @@ rwsem_down_failed_common(struct rw_semaphore *sem, | |||
187 | /* | 187 | /* |
188 | * wait for the read lock to be granted | 188 | * wait for the read lock to be granted |
189 | */ | 189 | */ |
190 | struct rw_semaphore fastcall __sched * | 190 | asmregparm struct rw_semaphore __sched * |
191 | rwsem_down_read_failed(struct rw_semaphore *sem) | 191 | rwsem_down_read_failed(struct rw_semaphore *sem) |
192 | { | 192 | { |
193 | struct rwsem_waiter waiter; | 193 | struct rwsem_waiter waiter; |
@@ -201,7 +201,7 @@ rwsem_down_read_failed(struct rw_semaphore *sem) | |||
201 | /* | 201 | /* |
202 | * wait for the write lock to be granted | 202 | * wait for the write lock to be granted |
203 | */ | 203 | */ |
204 | struct rw_semaphore fastcall __sched * | 204 | asmregparm struct rw_semaphore __sched * |
205 | rwsem_down_write_failed(struct rw_semaphore *sem) | 205 | rwsem_down_write_failed(struct rw_semaphore *sem) |
206 | { | 206 | { |
207 | struct rwsem_waiter waiter; | 207 | struct rwsem_waiter waiter; |
@@ -216,7 +216,7 @@ rwsem_down_write_failed(struct rw_semaphore *sem) | |||
216 | * handle waking up a waiter on the semaphore | 216 | * handle waking up a waiter on the semaphore |
217 | * - up_read/up_write has decremented the active part of count if we come here | 217 | * - up_read/up_write has decremented the active part of count if we come here |
218 | */ | 218 | */ |
219 | struct rw_semaphore fastcall *rwsem_wake(struct rw_semaphore *sem) | 219 | asmregparm struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem) |
220 | { | 220 | { |
221 | unsigned long flags; | 221 | unsigned long flags; |
222 | 222 | ||
@@ -236,7 +236,7 @@ struct rw_semaphore fastcall *rwsem_wake(struct rw_semaphore *sem) | |||
236 | * - caller incremented waiting part of count and discovered it still negative | 236 | * - caller incremented waiting part of count and discovered it still negative |
237 | * - just wake up any readers at the front of the queue | 237 | * - just wake up any readers at the front of the queue |
238 | */ | 238 | */ |
239 | struct rw_semaphore fastcall *rwsem_downgrade_wake(struct rw_semaphore *sem) | 239 | asmregparm struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem) |
240 | { | 240 | { |
241 | unsigned long flags; | 241 | unsigned long flags; |
242 | 242 | ||