You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
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>
This commit is contained in:
+4
-4
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user