lkml.org 
[lkml]   [2003]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH/RFC] make arch-independent syscalls <long>
Hi,

Based on a thread with Jamie Lokier[1,2], this patch converts
several syscalls from <int> to <long>.

Jamie's list included sys_epoll calls, but Davide has
already modified those.

The rest of Jamie's list was:
sys_set_tid_address
sys_futex
sys_sched_setaffinity
sys_sched_getaffinity
sys_remap_file_pages
sys_lookup_dcookie
sys_pause
and my searching has only added
old_readdir

Comments?

Thanks,
~Randy

[1] http://marc.theaimsgroup.com/?l=linux-kernel&m=104379012431181&w=2
or (same message)
[2] http://www.lkml.org/archive/2003/1/28/231/index.htmlpatch_name: syscalls-long-2560.patch
patch_version: 2003-02-13.22:58:43
author: Randy.Dunlap <rddunlap@osdl.org>
description: _
product: Linux
product_versions: linux-2560
changelog: _
URL: _
requires: _
conflicts: _
diffstat: =
arch/x86_64/ia32/sys_ia32.c | 8 ++++----
fs/dcookies.c | 2 +-
fs/readdir.c | 2 +-
include/linux/futex.h | 2 +-
include/linux/mm.h | 2 +-
kernel/fork.c | 2 +-
kernel/futex.c | 2 +-
kernel/sched.c | 4 ++--
kernel/signal.c | 2 +-
mm/fremap.c | 2 +-
10 files changed, 14 insertions(+), 14 deletions(-)


diff -Naur ./arch/x86_64/ia32/sys_ia32.c%LONG ./arch/x86_64/ia32/sys_ia32.c
--- ./arch/x86_64/ia32/sys_ia32.c%LONG Mon Feb 10 10:38:29 2003
+++ ./arch/x86_64/ia32/sys_ia32.c Thu Feb 13 22:15:24 2003
@@ -2205,8 +2205,8 @@
return -ENOSYS ;
}

-int sys_sched_getaffinity(pid_t pid, unsigned int len, unsigned long *new_mask_ptr);
-int sys_sched_setaffinity(pid_t pid, unsigned int len, unsigned long *new_mask_ptr);
+long sys_sched_getaffinity(pid_t pid, unsigned int len, unsigned long *new_mask_ptr);
+long sys_sched_setaffinity(pid_t pid, unsigned int len, unsigned long *new_mask_ptr);

/* only works on LE */
long sys32_sched_setaffinity(pid_t pid, unsigned int len,
@@ -2239,14 +2239,14 @@
return err;
}

-extern int sys_futex(unsigned long uaddr, int op, int val, struct timespec *t);
+extern long sys_futex(unsigned long uaddr, int op, int val, struct timespec *t);

asmlinkage long
sys32_futex(unsigned long uaddr, int op, int val, struct compat_timespec *utime32)
{
struct timespec t;
mm_segment_t oldfs = get_fs();
- int err;
+ long err;

if (utime32) {
if (verify_area(VERIFY_READ, utime32, sizeof(*utime32)))
diff -Naur ./include/linux/futex.h%LONG ./include/linux/futex.h
--- ./include/linux/futex.h%LONG Mon Feb 10 10:38:44 2003
+++ ./include/linux/futex.h Thu Feb 13 21:25:29 2003
@@ -6,6 +6,6 @@
#define FUTEX_WAKE (1)
#define FUTEX_FD (2)

-extern asmlinkage int sys_futex(unsigned long uaddr, int op, int val, struct timespec *utime);
+extern asmlinkage long sys_futex(unsigned long uaddr, int op, int val, struct timespec *utime);

#endif
diff -Naur ./include/linux/mm.h%LONG ./include/linux/mm.h
--- ./include/linux/mm.h%LONG Mon Feb 10 10:37:57 2003
+++ ./include/linux/mm.h Thu Feb 13 21:47:06 2003
@@ -419,7 +419,7 @@
extern int handle_mm_fault(struct mm_struct *mm,struct vm_area_struct *vma, unsigned long address, int write_access);
extern int make_pages_present(unsigned long addr, unsigned long end);
extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write);
-extern int sys_remap_file_pages(unsigned long start, unsigned long size, unsigned long prot, unsigned long pgoff, unsigned long nonblock);
+extern long sys_remap_file_pages(unsigned long start, unsigned long size, unsigned long prot, unsigned long pgoff, unsigned long nonblock);


extern struct page * follow_page(struct mm_struct *mm, unsigned long address, int write);
diff -Naur ./fs/dcookies.c%LONG ./fs/dcookies.c
--- ./fs/dcookies.c%LONG Mon Feb 10 10:37:55 2003
+++ ./fs/dcookies.c Thu Feb 13 21:40:48 2003
@@ -142,7 +142,7 @@
/* And here is where the userspace process can look up the cookie value
* to retrieve the path.
*/
-asmlinkage int sys_lookup_dcookie(u64 cookie64, char * buf, size_t len)
+asmlinkage long sys_lookup_dcookie(u64 cookie64, char * buf, size_t len)
{
unsigned long cookie = (unsigned long)cookie64;
int err = -EINVAL;
diff -Naur ./fs/readdir.c%LONG ./fs/readdir.c
--- ./fs/readdir.c%LONG Mon Feb 10 10:38:31 2003
+++ ./fs/readdir.c Thu Feb 13 22:50:16 2003
@@ -80,7 +80,7 @@
return 0;
}

-asmlinkage int old_readdir(unsigned int fd, void * dirent, unsigned int count)
+asmlinkage long old_readdir(unsigned int fd, void * dirent, unsigned int count)
{
int error;
struct file * file;
diff -Naur ./kernel/fork.c%LONG ./kernel/fork.c
--- ./kernel/fork.c%LONG Mon Feb 10 10:37:58 2003
+++ ./kernel/fork.c Thu Feb 13 21:21:07 2003
@@ -715,7 +715,7 @@
p->flags = new_flags;
}

-asmlinkage int sys_set_tid_address(int *tidptr)
+asmlinkage long sys_set_tid_address(int *tidptr)
{
current->clear_child_tid = tidptr;

diff -Naur ./kernel/futex.c%LONG ./kernel/futex.c
--- ./kernel/futex.c%LONG Mon Feb 10 10:38:05 2003
+++ ./kernel/futex.c Thu Feb 13 21:31:22 2003
@@ -437,7 +437,7 @@
return ret;
}

-asmlinkage int sys_futex(unsigned long uaddr, int op, int val, struct timespec *utime)
+asmlinkage long sys_futex(unsigned long uaddr, int op, int val, struct timespec *utime)
{
unsigned long pos_in_page;
int ret;
diff -Naur ./kernel/sched.c%LONG ./kernel/sched.c
--- ./kernel/sched.c%LONG Mon Feb 10 10:38:49 2003
+++ ./kernel/sched.c Thu Feb 13 22:16:05 2003
@@ -1773,7 +1773,7 @@
* @len: length in bytes of the bitmask pointed to by user_mask_ptr
* @user_mask_ptr: user-space pointer to the new cpu mask
*/
-asmlinkage int sys_sched_setaffinity(pid_t pid, unsigned int len,
+asmlinkage long sys_sched_setaffinity(pid_t pid, unsigned int len,
unsigned long *user_mask_ptr)
{
unsigned long new_mask;
@@ -1825,7 +1825,7 @@
* @len: length in bytes of the bitmask pointed to by user_mask_ptr
* @user_mask_ptr: user-space pointer to hold the current cpu mask
*/
-asmlinkage int sys_sched_getaffinity(pid_t pid, unsigned int len,
+asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len,
unsigned long *user_mask_ptr)
{
unsigned int real_len;
diff -Naur ./kernel/signal.c%LONG ./kernel/signal.c
--- ./kernel/signal.c%LONG Mon Feb 10 10:38:26 2003
+++ ./kernel/signal.c Thu Feb 13 21:43:45 2003
@@ -2168,7 +2168,7 @@

#ifndef HAVE_ARCH_SYS_PAUSE

-asmlinkage int
+asmlinkage long
sys_pause(void)
{
current->state = TASK_INTERRUPTIBLE;
diff -Naur ./mm/fremap.c%LONG ./mm/fremap.c
--- ./mm/fremap.c%LONG Mon Feb 10 10:37:56 2003
+++ ./mm/fremap.c Thu Feb 13 21:52:58 2003
@@ -110,7 +110,7 @@
* or use PROT_NONE in the original linear mapping and add a special
* SIGBUS pagefault handler to reinstall zapped mappings.
*/
-int sys_remap_file_pages(unsigned long start, unsigned long size,
+long sys_remap_file_pages(unsigned long start, unsigned long size,
unsigned long prot, unsigned long pgoff, unsigned long flags)
{
struct mm_struct *mm = current->mm;
\
 
 \ /
  Last update: 2005-03-22 13:33    [W:0.133 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site