summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/ppc/mmap.c
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2001-01-04 20:04:45 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2001-01-04 20:04:45 +0000
commit02fec4701cee79f875c1d02b8b4aee09380dbcb8 (patch)
treef4f291aedbb2e60ee58351481858a8cd3ec80b6b /mdk-stage1/dietlibc/ppc/mmap.c
parent9887fe04751edf39e8389f2c3ec3f020b5e1c17d (diff)
downloaddrakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.gz
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.bz2
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.xz
drakx-backup-do-not-use-02fec4701cee79f875c1d02b8b4aee09380dbcb8.zip
integrate dietlibc/stdio per default for cdrom and disk only installs
Diffstat (limited to 'mdk-stage1/dietlibc/ppc/mmap.c')
-rw-r--r--mdk-stage1/dietlibc/ppc/mmap.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/ppc/mmap.c b/mdk-stage1/dietlibc/ppc/mmap.c
new file mode 100644
index 000000000..25d2926b2
--- /dev/null
+++ b/mdk-stage1/dietlibc/ppc/mmap.c
@@ -0,0 +1,37 @@
+#include <linux/types.h>
+#include <linux/unistd.h>
+
+int mmap(void*start,size_t length,int prot,int flags,int fd,off_t offset) {
+ unsigned long __sc_ret, __sc_err;
+ {
+ register unsigned long __sc_0 __asm__ ("r0");
+ register unsigned long __sc_3 __asm__ ("r3");
+ register unsigned long __sc_4 __asm__ ("r4");
+ register unsigned long __sc_5 __asm__ ("r5");
+ register unsigned long __sc_6 __asm__ ("r6");
+ register unsigned long __sc_7 __asm__ ("r7");
+ register unsigned long __sc_8 __asm__ ("r8");
+
+ __sc_3 = (unsigned long) (start);
+ __sc_4 = (unsigned long) (length);
+ __sc_5 = (unsigned long) (prot);
+ __sc_6 = (unsigned long) (flags);
+ __sc_7 = (unsigned long) (fd);
+ __sc_8 = (unsigned long) (offset);
+ __sc_0 = __NR_mmap;
+ __asm__ __volatile__
+ ("sc \n\t"
+ "mfcr %1 "
+ : "=&r" (__sc_3), "=&r" (__sc_0)
+ : "0" (__sc_3), "1" (__sc_0),
+ "r" (__sc_4),
+ "r" (__sc_5),
+ "r" (__sc_6),
+ "r" (__sc_7),
+ "r" (__sc_8)
+ : __syscall_clobbers);
+ __sc_ret = __sc_3;
+ __sc_err = __sc_0;
+ }
+ __syscall_return (int);
+}