Copy the ssclib_yt object to your arch/x86_64 directory and apply this patch. SscSimulAppMark is declared in spinlock.h (which most files include somehow). diff -Naur -X linux-2.6.13/Documentation/dontdiff linux-2.6.13.orig/arch/x86_64/Makefile linux-2.6.13/arch/x86_64/Makefile --- linux-2.6.13.orig/arch/x86_64/Makefile 2005-08-28 16:41:01.000000000 -0700 +++ linux-2.6.13/arch/x86_64/Makefile 2005-09-08 10:41:23.000000000 -0700 @@ -50,7 +50,7 @@ # prevent gcc from generating any FP code by mistake CFLAGS += $(call cc-option,-mno-sse -mno-mmx -mno-sse2 -mno-3dnow,) -head-y := arch/x86_64/kernel/head.o arch/x86_64/kernel/head64.o arch/x86_64/kernel/init_task.o +head-y := arch/x86_64/kernel/head.o arch/x86_64/kernel/head64.o arch/x86_64/kernel/init_task.o arch/x86_64/ssclib_yt.o libs-y += arch/x86_64/lib/ core-y += arch/x86_64/kernel/ \ diff -Naur -X linux-2.6.13/Documentation/dontdiff linux-2.6.13.orig/include/asm-x86_64/spinlock.h linux-2.6.13/include/asm-x86_64/spinlock.h --- linux-2.6.13.orig/include/asm-x86_64/spinlock.h 2005-08-28 16:41:01.000000000 -0700 +++ linux-2.6.13/include/asm-x86_64/spinlock.h 2005-09-08 10:33:35.000000000 -0700 @@ -58,6 +58,8 @@ "jmp 1b\n" \ LOCK_SECTION_END +extern void SscSimulAppMark(uint64_t val); + /* * This works. Despite all the confusion. * (except on PPro SMP or if we are using OOSTORE) @@ -80,6 +82,7 @@ __asm__ __volatile__( spin_unlock_string ); + SscSimulAppMark(0); } #else @@ -124,6 +127,7 @@ __asm__ __volatile__( spin_lock_string :"=m" (lock->lock) : : "memory"); + SscSimulAppMark(1); }