Index: trunk/m5-stable/src/sim/syscall_emul.hh
===================================================================
--- trunk/m5-stable/src/sim/syscall_emul.hh	(revision 5)
+++ trunk/m5-stable/src/sim/syscall_emul.hh	(revision 6)
@@ -61,6 +61,7 @@
 #include "mem/page_table.hh"
 #include "sim/process.hh"
 
+
 ///
 /// System call descriptor.
 ///
Index: trunk/m5-stable/src/arch/sparc/linux/syscalls.cc
===================================================================
--- trunk/m5-stable/src/arch/sparc/linux/syscalls.cc	(revision 5)
+++ trunk/m5-stable/src/arch/sparc/linux/syscalls.cc	(revision 6)
@@ -34,6 +34,8 @@
 class LiveProcess;
 class ThreadContext;
 
+using namespace BigEndianGuest;
+
 namespace SparcISA {
 
 /// Target uname() handler.
@@ -515,7 +517,7 @@
     /* 118 */ SyscallDesc("getsockopt", unimplementedFunc),
     /* 119 */ SyscallDesc("getcwd", unimplementedFunc),
     /* 120 */ SyscallDesc("readv", unimplementedFunc),
-    /* 121 */ SyscallDesc("writev", unimplementedFunc),
+    /* 121 */ SyscallDesc("writev", writevFunc<SparcLinux>),
     /* 122 */ SyscallDesc("settimeofday", unimplementedFunc),
     /* 123 */ SyscallDesc("fchown", unimplementedFunc),
     /* 124 */ SyscallDesc("fchmod", unimplementedFunc),
Index: trunk/m5-stable/src/arch/sparc/linux/linux.hh
===================================================================
--- trunk/m5-stable/src/arch/sparc/linux/linux.hh	(revision 5)
+++ trunk/m5-stable/src/arch/sparc/linux/linux.hh	(revision 6)
@@ -56,6 +56,11 @@
         uint64_t __unused4[2];
     } tgt_stat;
 
+	typedef struct {
+		uint64_t iov_base; // void *
+		uint64_t iov_len; // __kernel_size_t
+	} tgt_iovec;
+
     static OpenFlagTransTable openFlagTable[];
 
     static const int TGT_O_RDONLY       = 0x00000000;   //!< O_RDONLY
