Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 79c2cc7b authored by Anton Blanchard's avatar Anton Blanchard Committed by Linus Torvalds
Browse files

[PATCH] ppc64: add ioprio syscalls



- Clean up sys32_getpriority comment.
- Add ioprio syscalls, and sign extend 32bit versions.

Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 4416f396
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1124,9 +1124,11 @@ _GLOBAL(sys_call_table32)
	.llong .compat_sys_mq_getsetattr
	.llong .compat_sys_kexec_load
	.llong .sys32_add_key
	.llong .sys32_request_key
	.llong .sys32_request_key	/* 270 */
	.llong .compat_sys_keyctl
	.llong .compat_sys_waitid
	.llong .sys32_ioprio_set
	.llong .sys32_ioprio_get

	.balign 8
_GLOBAL(sys_call_table)
@@ -1403,3 +1405,5 @@ _GLOBAL(sys_call_table)
	.llong .sys_request_key		/* 270 */
	.llong .sys_keyctl
	.llong .sys_waitid
	.llong .sys_ioprio_set
	.llong .sys_ioprio_get
+17 −10
Original line number Diff line number Diff line
@@ -822,16 +822,6 @@ asmlinkage long sys32_getpgid(u32 pid)
}


/* Note: it is necessary to treat which and who as unsigned ints,
 * with the corresponding cast to a signed int to insure that the 
 * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
 * and the register representation of a signed int (msr in 64-bit mode) is performed.
 */
asmlinkage long sys32_getpriority(u32 which, u32 who)
{
	return sys_getpriority((int)which, (int)who);
}


/* Note: it is necessary to treat pid as an unsigned int,
 * with the corresponding cast to a signed int to insure that the 
@@ -1023,6 +1013,11 @@ asmlinkage long sys32_setpgid(u32 pid, u32 pgid)
	return sys_setpgid((int)pid, (int)pgid);
}

long sys32_getpriority(u32 which, u32 who)
{
	/* sign extend which and who */
	return sys_getpriority((int)which, (int)who);
}

long sys32_setpriority(u32 which, u32 who, u32 niceval)
{
@@ -1030,6 +1025,18 @@ long sys32_setpriority(u32 which, u32 who, u32 niceval)
	return sys_setpriority((int)which, (int)who, (int)niceval);
}

long sys32_ioprio_get(u32 which, u32 who)
{
	/* sign extend which and who */
	return sys_ioprio_get((int)which, (int)who);
}

long sys32_ioprio_set(u32 which, u32 who, u32 ioprio)
{
	/* sign extend which, who and ioprio */
	return sys_ioprio_set((int)which, (int)who, (int)ioprio);
}

/* Note: it is necessary to treat newmask as an unsigned int,
 * with the corresponding cast to a signed int to insure that the 
 * proper conversion (sign extension) between the register representation of a signed int (msr in 32-bit mode)
+3 −1
Original line number Diff line number Diff line
@@ -283,8 +283,10 @@
#define __NR_request_key	270
#define __NR_keyctl		271
#define __NR_waitid		272
#define __NR_ioprio_set		273
#define __NR_ioprio_get		274

#define __NR_syscalls		273
#define __NR_syscalls		275
#ifdef __KERNEL__
#define NR_syscalls	__NR_syscalls
#endif