scc6809: bits for syscalls
authorAlan Cox <alan@linux.intel.com>
Wed, 29 Jun 2016 11:40:06 +0000 (12:40 +0100)
committerAlan Cox <alan@linux.intel.com>
Wed, 29 Jun 2016 11:40:06 +0000 (12:40 +0100)
Library/libs/fuzix-scc6809/Makefile [new file with mode: 0644]
Library/libs/fuzix-scc6809/syscall6809.s [new file with mode: 0644]

diff --git a/Library/libs/fuzix-scc6809/Makefile b/Library/libs/fuzix-scc6809/Makefile
new file mode 100644 (file)
index 0000000..a09baf2
--- /dev/null
@@ -0,0 +1,120 @@
+# Autogenerated by tools/syscall-scc6809
+CROSS_AS=lxas09
+CROSS_LD=lxld09
+CROSS_AR=lxar
+ASYS=syscall$(PLATFORM).s
+ASRCS = syscall__exit.s
+ASRCS += syscall_open.s
+ASRCS += syscall_close.s
+ASRCS += syscall_rename.s
+ASRCS += syscall_mknod.s
+ASRCS += syscall_link.s
+ASRCS += syscall_unlink.s
+ASRCS += syscall_read.s
+ASRCS += syscall_write.s
+ASRCS += syscall__lseek.s
+ASRCS += syscall_chdir.s
+ASRCS += syscall_sync.s
+ASRCS += syscall_access.s
+ASRCS += syscall_chmod.s
+ASRCS += syscall_chown.s
+ASRCS += syscall__stat.s
+ASRCS += syscall__fstat.s
+ASRCS += syscall_dup.s
+ASRCS += syscall_getpid.s
+ASRCS += syscall_getppid.s
+ASRCS += syscall_getuid.s
+ASRCS += syscall_umask.s
+ASRCS += syscall__getfsys.s
+ASRCS += syscall_execve.s
+ASRCS += syscall__getdirent.s
+ASRCS += syscall_setuid.s
+ASRCS += syscall_setgid.s
+ASRCS += syscall__time.s
+ASRCS += syscall__stime.s
+ASRCS += syscall_ioctl.s
+ASRCS += syscall_brk.s
+ASRCS += syscall_sbrk.s
+ASRCS += syscall__fork.s
+ASRCS += syscall_mount.s
+ASRCS += syscall_umount.s
+ASRCS += syscall_signal.s
+ASRCS += syscall_dup2.s
+ASRCS += syscall__pause.s
+ASRCS += syscall_alarm.s
+ASRCS += syscall_kill.s
+ASRCS += syscall_pipe.s
+ASRCS += syscall_getgid.s
+ASRCS += syscall_times.s
+ASRCS += syscall_utime.s
+ASRCS += syscall_geteuid.s
+ASRCS += syscall_getegid.s
+ASRCS += syscall_chroot.s
+ASRCS += syscall_fcntl.s
+ASRCS += syscall_fchdir.s
+ASRCS += syscall_fchmod.s
+ASRCS += syscall_fchown.s
+ASRCS += syscall_mkdir.s
+ASRCS += syscall_rmdir.s
+ASRCS += syscall_setpgrp.s
+ASRCS += syscall__uname.s
+ASRCS += syscall_waitpid.s
+ASRCS += syscall__profil.s
+ASRCS += syscall_uadmin.s
+ASRCS += syscall_nice.s
+ASRCS += syscall__sigdisp.s
+ASRCS += syscall_flock.s
+ASRCS += syscall_getpgrp.s
+ASRCS += syscall_yield.s
+ASRCS += syscall_acct.s
+ASRCS += syscall_memalloc.s
+ASRCS += syscall_memfree.s
+ASRCS += syscall__nosys66.s
+ASRCS += syscall__nosys67.s
+ASRCS += syscall__nosys68.s
+ASRCS += syscall__nosys69.s
+ASRCS += syscall__nosys70.s
+ASRCS += syscall__nosys71.s
+ASRCS += syscall__select.s
+ASRCS += syscall_setgroups.s
+ASRCS += syscall_getgroups.s
+ASRCS += syscall_getrlimit.s
+ASRCS += syscall_setrlimit.s
+ASRCS += syscall_setpgid.s
+ASRCS += syscall_setsid.s
+ASRCS += syscall_getsid.s
+ASRCS += syscall__nosys80.s
+ASRCS += syscall__nosys81.s
+ASRCS += syscall__nosys82.s
+ASRCS += syscall__nosys83.s
+ASRCS += syscall__nosys84.s
+ASRCS += syscall__nosys85.s
+ASRCS += syscall__nosys86.s
+ASRCS += syscall__nosys87.s
+ASRCS += syscall__nosys88.s
+ASRCS += syscall__nosys89.s
+ASRCS += syscall_socket.s
+ASRCS += syscall_listen.s
+ASRCS += syscall_bind.s
+ASRCS += syscall_connect.s
+ASRCS += syscall__accept.s
+ASRCS += syscall__getsockaddrs.s
+ASRCS += syscall__sendto.s
+ASRCS += syscall__recvfrom.s
+ASRCS += syscall__shutdown.s
+
+
+ASRCALL = $(ASRCS) $(ASYS)
+
+AOBJS = $(ASRCALL:.s=.o)
+
+syslib.lib: $(AOBJS)
+       echo $(AOBJS) >syslib.l
+       $(CROSS_AR) rc syslib.lib $(AOBJS)
+
+$(AOBJS): %.o: %.s
+       $(CROSS_AS) $(ASOPTS) -o $*.o $<
+
+clean:
+       rm -f $(AOBJS) $(ASRCS) syslib.lib syslib.l *~
+
diff --git a/Library/libs/fuzix-scc6809/syscall6809.s b/Library/libs/fuzix-scc6809/syscall6809.s
new file mode 100644 (file)
index 0000000..947249e
--- /dev/null
@@ -0,0 +1,12 @@
+       .globl __syscall
+       .globl _errno
+
+       .text
+
+__syscall:
+       swi
+       cmpd #0                 ; D holds errno, if any
+       beq @noerr
+       std _errno              ; X is -1 in this case
+@noerr:
+       rts