patch-2.4.20 linux-2.4.20/arch/x86_64/lib/clear_page.S
Next file: linux-2.4.20/arch/x86_64/lib/copy_page.S
Previous file: linux-2.4.20/arch/x86_64/lib/bitstr.c
Back to the patch index
Back to the overall index
-  Lines: 35
-  Date:
Thu Nov 28 15:53:12 2002
-  Orig file: 
linux-2.4.19/arch/x86_64/lib/clear_page.S
-  Orig date: 
Wed Dec 31 16:00:00 1969
diff -urN linux-2.4.19/arch/x86_64/lib/clear_page.S linux-2.4.20/arch/x86_64/lib/clear_page.S
@@ -0,0 +1,34 @@
+	#include <linux/linkage.h>
+
+/*
+ * Zero a page. 	
+ * rdi	page
+ */			
+ENTRY(clear_page)
+	xorl   %eax,%eax
+	movl   $4096/128,%ecx
+	movl   $128,%edx
+loop:
+#define PUT(x) movq %rax,x*8(%rdi) 
+	PUT(0)
+	PUT(1)
+	PUT(2)
+	PUT(3)
+	PUT(4)
+	PUT(5)
+	PUT(6)
+	PUT(7)
+	PUT(8)
+	PUT(9)
+	PUT(10)
+	PUT(11)
+	PUT(12)
+	PUT(13)
+	PUT(14)
+	PUT(15)
+	addq    %rdx,%rdi
+	decl	%ecx
+	jnz	loop
+	sfence	
+	ret
+	    	
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)