diff options
author | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:33:00 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:33:00 +0100 |
commit | d50efc6c40620b2e11648cac64ebf4a824e40382 (patch) | |
tree | daf951117c86f2d4875216eee9e708a0c01c9e4b /lib | |
parent | 3a556b26a2718e48aa2b6ce06ea4875ddcd0778e (diff) | |
download | lwn-d50efc6c40620b2e11648cac64ebf4a824e40382.tar.gz lwn-d50efc6c40620b2e11648cac64ebf4a824e40382.zip |
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')
-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, /* * wait for the read lock to be granted */ -struct rw_semaphore fastcall __sched * +asmregparm struct rw_semaphore __sched * rwsem_down_read_failed(struct rw_semaphore *sem) { struct rwsem_waiter waiter; @@ -201,7 +201,7 @@ rwsem_down_read_failed(struct rw_semaphore *sem) /* * wait for the write lock to be granted */ -struct rw_semaphore fastcall __sched * +asmregparm struct rw_semaphore __sched * rwsem_down_write_failed(struct rw_semaphore *sem) { struct rwsem_waiter waiter; @@ -216,7 +216,7 @@ rwsem_down_write_failed(struct rw_semaphore *sem) * handle waking up a waiter on the semaphore * - up_read/up_write has decremented the active part of count if we come here */ -struct rw_semaphore fastcall *rwsem_wake(struct rw_semaphore *sem) +asmregparm struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem) { unsigned long flags; @@ -236,7 +236,7 @@ struct rw_semaphore fastcall *rwsem_wake(struct rw_semaphore *sem) * - caller incremented waiting part of count and discovered it still negative * - just wake up any readers at the front of the queue */ -struct rw_semaphore fastcall *rwsem_downgrade_wake(struct rw_semaphore *sem) +asmregparm struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem) { unsigned long flags; |