[uClibc-cvs] uClibc/libc/sysdeps/linux/i960 mmap.S, NONE, 1.1 _mmap.S, 1.1, NONE
Erik Andersen
andersen at uclibc.org
Wed Jan 21 23:27:44 UTC 2004
- Previous message: [uClibc-cvs] uClibc/libc/sysdeps/linux/common __rt_sigtimedwait.c, NONE, 1.1 __socketcall.c, NONE, 1.1 __syscall_fcntl.c, NONE, 1.1 __syscall_fcntl64.c, NONE, 1.1 __syscall_ipc.c, NONE, 1.1 __syscall_rt_sigaction.c, NONE, 1.1 __syscall_sigaction.c, NONE, 1.1 access.c, NONE, 1.1 acct.c, NONE, 1.1 adjtimex.c, NONE, 1.1 alarm.c, NONE, 1.1 bdflush.c, NONE, 1.1 capget.c, NONE, 1.1 capset.c, NONE, 1.1 chdir.c, NONE, 1.1 chmod.c, NONE, 1.1 chown.c, NONE, 1.1 chroot.c, NONE, 1.1 close.c, NONE, 1.1 delete_module.c, NONE, 1.1 dup.c, NONE, 1.1 dup2.c, NONE, 1.1 execve.c, NONE, 1.1 fchdir.c, NONE, 1.1 fchmod.c, NONE, 1.1 fchown.c, NONE, 1.1 fdatasync.c, NONE, 1.1 flock.c, NONE, 1.1 fork.c, NONE, 1.1 fstat.c, NONE, 1.1 fstat64.c, NONE, 1.1 fstatfs.c, NONE, 1.1 fsync.c, NONE, 1.1 ftruncate.c, NONE, 1.1 get_kernel_syms.c, NONE, 1.1 getegid.c, NONE, 1.1 geteuid.c, NONE, 1.1 getgid.c, NONE, 1.1 getgroups.c, NONE, 1.1 getitimer.c, NONE, 1.1 getpgid.c, NONE, 1.1 getpgrp.c, NONE, 1.1 getpid.c, NONE, 1.1 getppid.c, NONE, 1.1 getpriority.c, NONE, 1.1 getresgid.c, NONE, 1.1 getresuid.c, NONE, 1.1 getrlimit.c, NONE, 1.1 getrusage.c, NONE, 1.1 getsid.c, NONE, 1.1 gettimeofday.c, NONE, 1.1 getuid.c, NONE, 1.1 init_module.c, NONE, 1.1 ioperm.c, NONE, 1.1 iopl.c, NONE, 1.1 kill.c, NONE, 1.1 klogctl.c, NONE, 1.1 lchown.c, NONE, 1.1 link.c, NONE, 1.1 lseek.c, NONE, 1.1 lstat.c, NONE, 1.1 lstat64.c, NONE, 1.1 madvise.c, NONE, 1.1 mkdir.c, NONE, 1.1 mknod.c, 1.3, 1.4 mlock.c, NONE, 1.1 mlockall.c, NONE, 1.1 mmap.c, NONE, 1.1 modify_ldt.c, NONE, 1.1 mount.c, NONE, 1.1 mprotect.c, NONE, 1.1 mremap.c, NONE, 1.1 msync.c, NONE, 1.1 munlock.c, NONE, 1.1 munlockall.c, NONE, 1.1 munmap.c, NONE, 1.1 nanosleep.c, NONE, 1.1 nice.c, NONE, 1.1 open.c, NONE, 1.1 pause.c, NONE, 1.1 personality.c, NONE, 1.1 pipe.c, NONE, 1.1 pivot_root.c, NONE, 1.1 prctl.c, NONE, 1.1 query_module.c, NONE, 1.1 quotactl.c, NONE, 1.1 read.c, NONE, 1.1 readlink.c, NONE, 1.1 readv.c, NONE, 1.1 reboot.c, NONE, 1.1 rename.c, NONE, 1.1 rmdir.c, NONE, 1.1 sched_get_priority_max.c, NONE, 1.1 sched_get_priority_min.c, NONE, 1.1 sched_getparam.c, NONE, 1.1 sched_getscheduler.c, NONE, 1.1 sched_rr_get_interval.c, NONE, 1.1 sched_setparam.c, NONE, 1.1 sched_setscheduler.c, NONE, 1.1 sched_yield.c, NONE, 1.1 select.c, NONE, 1.1 sendfile.c, NONE, 1.1 setdomainname.c, NONE, 1.1 setfsgid.c, NONE, 1.1 setfsuid.c, NONE, 1.1 setgid.c, NONE, 1.1 setgroups.c, NONE, 1.1 sethostname.c, NONE, 1.1 setitimer.c, NONE, 1.1 setpgid.c, NONE, 1.1 setpriority.c, NONE, 1.1 setregid.c, NONE, 1.1 setresgid.c, NONE, 1.1 setresuid.c, NONE, 1.1 setreuid.c, NONE, 1.1 setrlimit.c, NONE, 1.1 setsid.c, NONE, 1.1 settimeofday.c, NONE, 1.1 setuid.c, 1.2, 1.3 sigaltstack.c, NONE, 1.1 sigpending.c, NONE, 1.1 sigprocmask.c, NONE, 1.1 sigsuspend.c, NONE, 1.1 stat.c, NONE, 1.1 stat64.c, NONE, 1.1 statfs.c, NONE, 1.1 stime.c, NONE, 1.1 swapoff.c, NONE, 1.1 swapon.c, NONE, 1.1 symlink.c, NONE, 1.1 syscalls.h, NONE, 1.1 sysctl.c, NONE, 1.1 sysfs.c, NONE, 1.1 sysinfo.c, NONE, 1.1 time.c, NONE, 1.1 times.c, NONE, 1.1 truncate.c, NONE, 1.1 umask.c, NONE, 1.1 umount.c, NONE, 1.1 umount2.c, NONE, 1.1 uname.c, NONE, 1.1 unlink.c, NONE, 1.1 uselib.c, NONE, 1.1 ustat.c, NONE, 1.1 utime.c, NONE, 1.1 utimes.c, NONE, 1.1 vhangup.c, NONE, 1.1 wait4.c, NONE, 1.1 write.c, NONE, 1.1 writev.c, NONE, 1.1 Makefile, 1.96, 1.97 _exit.c, 1.1, 1.2 ioctl.c, 1.1, 1.2 ssp.c, 1.1, 1.2 xstatconv.h, 1.2, 1.3 list_syscalls.sh, 1.1, NONE str_syscalls.sh, 1.5, NONE syscalls.c, 1.128, NONE unified_syscall_i386.h, 1.6, NONE
- Next message: [uClibc-cvs] uClibc/libc/sysdeps/linux/microblaze mmap.c, NONE, 1.1 _mmap.c, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /var/cvs/uClibc/libc/sysdeps/linux/i960
In directory nail:/tmp/cvs-serv30526/sysdeps/linux/i960
Added Files:
mmap.S
Removed Files:
_mmap.S
Log Message:
Split up syscalls.c, since it had grown to be quite large and ugly.
-Erik
--- _mmap.S DELETED ---
--- NEW FILE: mmap.S ---
#
# __mmap.S, part of the i960 support for the uClibc library.
#
# Copyright (C) 2002 by Okiok Data Ltd. http://www.okiok.com/
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU Library General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option) any
# later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
# details.
#
# You should have received a copy of the GNU Library General Public License
# along with this program; if not, write to the Free Software Foundation, Inc.,
# at 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Derived from an old port of uC-libc to the i960 by Keith Adams (kma at cse.ogi.edu).
#
#include <sys/syscall.h>
/* This is a plain system call. The 6 arguments are already set up correctly */
/* void * mmap(void *start, size_t length, int prot , int flags, int fd, off_t offset) */
.globl _mmap
_mmap:
mov g13, r3
ldconst __NR_mmap, g13
calls 0
mov r3, g13
/* We now need to check if the return value is a small negative integer. */
/* This is somewhat tricky as the return code (normally an address) is an */
/* unsigned type, or an ordinal in i960 assembler. */
/* We'll use the fact that, integers from -256 to -1 are ordinals 0xFFFFFF00 to 0xFFFFFFFF. */
/* So by checking that the return address is in the top range of the ordinals, we'll */
/* in fact be checking if it's not an encoded negated erro code. */
/* The range -256 to -1 should be enough since that in uClinux 2.0.39, there are */
/* 124 system calls for the i960. */
ldconst 0xFFFFFF00, r3 /* This is the integer's -256 representation */
cmpobl g0, r3, 1f /* Something smaller than this means it's out of the range, and a valid address */
subi g0, 0, r3 /* If it's an errno, save its negated (now positive) value in _errno. */
st r3, _errno
subi 1, 0, g0 /* And return -1. */
1:
ret
- Previous message: [uClibc-cvs] uClibc/libc/sysdeps/linux/common __rt_sigtimedwait.c, NONE, 1.1 __socketcall.c, NONE, 1.1 __syscall_fcntl.c, NONE, 1.1 __syscall_fcntl64.c, NONE, 1.1 __syscall_ipc.c, NONE, 1.1 __syscall_rt_sigaction.c, NONE, 1.1 __syscall_sigaction.c, NONE, 1.1 access.c, NONE, 1.1 acct.c, NONE, 1.1 adjtimex.c, NONE, 1.1 alarm.c, NONE, 1.1 bdflush.c, NONE, 1.1 capget.c, NONE, 1.1 capset.c, NONE, 1.1 chdir.c, NONE, 1.1 chmod.c, NONE, 1.1 chown.c, NONE, 1.1 chroot.c, NONE, 1.1 close.c, NONE, 1.1 delete_module.c, NONE, 1.1 dup.c, NONE, 1.1 dup2.c, NONE, 1.1 execve.c, NONE, 1.1 fchdir.c, NONE, 1.1 fchmod.c, NONE, 1.1 fchown.c, NONE, 1.1 fdatasync.c, NONE, 1.1 flock.c, NONE, 1.1 fork.c, NONE, 1.1 fstat.c, NONE, 1.1 fstat64.c, NONE, 1.1 fstatfs.c, NONE, 1.1 fsync.c, NONE, 1.1 ftruncate.c, NONE, 1.1 get_kernel_syms.c, NONE, 1.1 getegid.c, NONE, 1.1 geteuid.c, NONE, 1.1 getgid.c, NONE, 1.1 getgroups.c, NONE, 1.1 getitimer.c, NONE, 1.1 getpgid.c, NONE, 1.1 getpgrp.c, NONE, 1.1 getpid.c, NONE, 1.1 getppid.c, NONE, 1.1 getpriority.c, NONE, 1.1 getresgid.c, NONE, 1.1 getresuid.c, NONE, 1.1 getrlimit.c, NONE, 1.1 getrusage.c, NONE, 1.1 getsid.c, NONE, 1.1 gettimeofday.c, NONE, 1.1 getuid.c, NONE, 1.1 init_module.c, NONE, 1.1 ioperm.c, NONE, 1.1 iopl.c, NONE, 1.1 kill.c, NONE, 1.1 klogctl.c, NONE, 1.1 lchown.c, NONE, 1.1 link.c, NONE, 1.1 lseek.c, NONE, 1.1 lstat.c, NONE, 1.1 lstat64.c, NONE, 1.1 madvise.c, NONE, 1.1 mkdir.c, NONE, 1.1 mknod.c, 1.3, 1.4 mlock.c, NONE, 1.1 mlockall.c, NONE, 1.1 mmap.c, NONE, 1.1 modify_ldt.c, NONE, 1.1 mount.c, NONE, 1.1 mprotect.c, NONE, 1.1 mremap.c, NONE, 1.1 msync.c, NONE, 1.1 munlock.c, NONE, 1.1 munlockall.c, NONE, 1.1 munmap.c, NONE, 1.1 nanosleep.c, NONE, 1.1 nice.c, NONE, 1.1 open.c, NONE, 1.1 pause.c, NONE, 1.1 personality.c, NONE, 1.1 pipe.c, NONE, 1.1 pivot_root.c, NONE, 1.1 prctl.c, NONE, 1.1 query_module.c, NONE, 1.1 quotactl.c, NONE, 1.1 read.c, NONE, 1.1 readlink.c, NONE, 1.1 readv.c, NONE, 1.1 reboot.c, NONE, 1.1 rename.c, NONE, 1.1 rmdir.c, NONE, 1.1 sched_get_priority_max.c, NONE, 1.1 sched_get_priority_min.c, NONE, 1.1 sched_getparam.c, NONE, 1.1 sched_getscheduler.c, NONE, 1.1 sched_rr_get_interval.c, NONE, 1.1 sched_setparam.c, NONE, 1.1 sched_setscheduler.c, NONE, 1.1 sched_yield.c, NONE, 1.1 select.c, NONE, 1.1 sendfile.c, NONE, 1.1 setdomainname.c, NONE, 1.1 setfsgid.c, NONE, 1.1 setfsuid.c, NONE, 1.1 setgid.c, NONE, 1.1 setgroups.c, NONE, 1.1 sethostname.c, NONE, 1.1 setitimer.c, NONE, 1.1 setpgid.c, NONE, 1.1 setpriority.c, NONE, 1.1 setregid.c, NONE, 1.1 setresgid.c, NONE, 1.1 setresuid.c, NONE, 1.1 setreuid.c, NONE, 1.1 setrlimit.c, NONE, 1.1 setsid.c, NONE, 1.1 settimeofday.c, NONE, 1.1 setuid.c, 1.2, 1.3 sigaltstack.c, NONE, 1.1 sigpending.c, NONE, 1.1 sigprocmask.c, NONE, 1.1 sigsuspend.c, NONE, 1.1 stat.c, NONE, 1.1 stat64.c, NONE, 1.1 statfs.c, NONE, 1.1 stime.c, NONE, 1.1 swapoff.c, NONE, 1.1 swapon.c, NONE, 1.1 symlink.c, NONE, 1.1 syscalls.h, NONE, 1.1 sysctl.c, NONE, 1.1 sysfs.c, NONE, 1.1 sysinfo.c, NONE, 1.1 time.c, NONE, 1.1 times.c, NONE, 1.1 truncate.c, NONE, 1.1 umask.c, NONE, 1.1 umount.c, NONE, 1.1 umount2.c, NONE, 1.1 uname.c, NONE, 1.1 unlink.c, NONE, 1.1 uselib.c, NONE, 1.1 ustat.c, NONE, 1.1 utime.c, NONE, 1.1 utimes.c, NONE, 1.1 vhangup.c, NONE, 1.1 wait4.c, NONE, 1.1 write.c, NONE, 1.1 writev.c, NONE, 1.1 Makefile, 1.96, 1.97 _exit.c, 1.1, 1.2 ioctl.c, 1.1, 1.2 ssp.c, 1.1, 1.2 xstatconv.h, 1.2, 1.3 list_syscalls.sh, 1.1, NONE str_syscalls.sh, 1.5, NONE syscalls.c, 1.128, NONE unified_syscall_i386.h, 1.6, NONE
- Next message: [uClibc-cvs] uClibc/libc/sysdeps/linux/microblaze mmap.c, NONE, 1.1 _mmap.c, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the uClibc-cvs
mailing list