[PATCH] ppc64: add ioprio syscalls

From: Anton Blanchard
Date: Tue Jul 05 2005 - 16:18:11 EST



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

Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>

Index: linux-2.6.git-work/arch/ppc64/kernel/sys_ppc32.c
===================================================================
--- linux-2.6.git-work.orig/arch/ppc64/kernel/sys_ppc32.c 2005-07-06 01:16:21.000000000 +1000
+++ linux-2.6.git-work/arch/ppc64/kernel/sys_ppc32.c 2005-07-06 01:16:35.000000000 +1000
@@ -822,16 +822,6 @@
}


-/* 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 @@
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 @@
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)
Index: linux-2.6.git-work/include/asm-ppc64/unistd.h
===================================================================
--- linux-2.6.git-work.orig/include/asm-ppc64/unistd.h 2005-07-06 01:16:17.000000000 +1000
+++ linux-2.6.git-work/include/asm-ppc64/unistd.h 2005-07-06 01:16:35.000000000 +1000
@@ -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
Index: linux-2.6.git-work/arch/ppc64/kernel/misc.S
===================================================================
--- linux-2.6.git-work.orig/arch/ppc64/kernel/misc.S 2005-07-06 01:04:40.000000000 +1000
+++ linux-2.6.git-work/arch/ppc64/kernel/misc.S 2005-07-06 01:16:35.000000000 +1000
@@ -1124,9 +1124,11 @@
.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 @@
.llong .sys_request_key /* 270 */
.llong .sys_keyctl
.llong .sys_waitid
+ .llong .sys_ioprio_set
+ .llong .sys_ioprio_get
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/