diff --git a/klibc/README b/klibc/README
index 4ed57a3..25735ad 100644
--- a/klibc/README
+++ b/klibc/README
@@ -34,7 +34,7 @@
 
    The following is the last known status of various architectures:
 
-   alpha:	 Needs sysstub.ph
+   alpha:	 Untested
    arm-thumb:	 Probably OK
    arm26:	 Not yet ported
    arm:		 Working
diff --git a/klibc/arch/alpha/Makefile.inc b/klibc/arch/alpha/Makefile.inc
index 2a1100f..89f5ecb 100644
--- a/klibc/arch/alpha/Makefile.inc
+++ b/klibc/arch/alpha/Makefile.inc
@@ -26,7 +26,9 @@
 	arch/$(ARCH)/__divl.o \
 	arch/$(ARCH)/__reml.o \
 	arch/$(ARCH)/pipe.o \
-	arch/$(ARCH)/setjmp.o
+	arch/$(ARCH)/setjmp.o \
+	arch/$(ARCH)/syscall.o \
+	arch/$(ARCH)/sysdual.o \
 
 ARCHSOOBJS = $(patsubst %.o,%.lo,$(ARCHOBJS))
 
diff --git a/klibc/arch/alpha/syscall.S b/klibc/arch/alpha/syscall.S
new file mode 100644
index 0000000..37c2ae9
--- /dev/null
+++ b/klibc/arch/alpha/syscall.S
@@ -0,0 +1,22 @@
+#
+# arch/alpha/syscall.S
+#
+
+#include <machine/asm.h>
+	
+	.text
+	.align	3
+	.type	__syscall_common,@function
+	.ent	__syscall_common, 0
+	.globl	__syscall_common
+__syscall_common:
+	callsys
+	beq	a3, 1f
+	ldah	a1, errno(zero)
+	lda	v0, -1(zero)
+	stq	a3, errno(a1)
+1:		
+	ret	zero,(ra),1
+
+	.size	__syscall_common,.-__syscall_common
+	.end	__syscall_common
diff --git a/klibc/arch/alpha/sysdual.S b/klibc/arch/alpha/sysdual.S
new file mode 100644
index 0000000..6c9cf51
--- /dev/null
+++ b/klibc/arch/alpha/sysdual.S
@@ -0,0 +1,29 @@
+#
+# arch/alpha/sysdual.S
+#
+
+#
+# Some system calls have an alternate return value in r20 (a4).
+# This system call stub is for system calls where that is
+# the "real" return value.
+#
+
+#include <machine/asm.h>
+	
+	.text
+	.align	3
+	.type	__syscall_dual1,@function
+	.ent	__syscall_dual1, 0
+	.globl	__syscall_dual1
+__syscall_dual1:
+	callsys
+	lda	v0, 0(a4)
+	beq	a3, 1f
+	ldah	a1, errno(zero)
+	lda	v0, -1(zero)
+	stq	a3, errno(a1)
+1:		
+	ret	zero,(ra),1
+
+	.size	__syscall_dual1,.-__syscall_dual1
+	.end	__syscall_dual1
diff --git a/klibc/arch/alpha/sysstub.ph b/klibc/arch/alpha/sysstub.ph
new file mode 100644
index 0000000..a24b6c0
--- /dev/null
+++ b/klibc/arch/alpha/sysstub.ph
@@ -0,0 +1,37 @@
+# -*- perl -*-
+#
+# arch/alpha/sysstub.ph
+#
+# Script to generate system call stubs
+#
+
+# On Alpha, most system calls follow the standard convention, with the
+# system call number in r0 (v0), return an error value in r19 (a3) as
+# well as the return value in r0 (v0).
+#
+# A few system calls are dual-return with the second return value in
+# r20 (a4).
+
+sub make_sysstub($$$$@) {
+    my($fname, $type, $sname, $stype, @args) = @_;
+
+    $stype = $stype || 'common';
+    $stype = 'common' if ( $stype eq 'dual0' );
+
+    open(OUT, '>', "syscalls/${fname}.S");
+    print OUT "#include <asm/unistd.h>\n";
+    print OUT "#include <machine/asm.h>\n";
+    print OUT "\n";
+    print OUT "\t.text\n";
+    print OUT "\t.type ${fname},\@function\n";
+    print OUT "\t.ent\t${fname}, 0\n"; # What is this?
+    print OUT "\t.globl ${fname}\n";
+    print OUT "${fname}:\n";
+    print OUT "\tlda\tv0, __NR_${sname}(zero)\n";
+    print OUT "\tbr __syscall_${stype}\n";
+    print OUT "\t.size\t${fname},.-${fname}\n";
+    print OUT "\t.end\t${fname}\n";
+    close(OUT);
+}
+
+1;
