⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 copy_page.s

📁 该文件是rt_linux
💻 S
字号:
	#include <linux/linkage.h>	#include <linux/config.h>	#ifdef CONFIG_PREEMPT	#warning "check your fpu context saving!"	#endif/* * Copy a page.  *		 * rdi destination page * rsi source page *		 * src/dst must be aligned to 16 bytes. *  * Warning: in case of super lazy FP save this needs to be preempt_stop	 */		.globl copy_page	.p2aligncopy_page:	prefetchnta (%rsi) 	prefetchnta 64(%rsi)	    	movq %rsp,%rax	subq $16*4,%rsp	andq $~15,%rsp			movdqa %xmm0,(%rsp) 	movdqa %xmm1,16(%rsp) 	movdqa %xmm2,32(%rsp) 	movdqa %xmm3,48(%rsp)		movl   $(4096/128)-2,%ecx	movl   $128,%edxloop:	prefetchnta (%rsi) 	prefetchnta 64(%rsi) loop_no_prefetch:		movdqa (%rsi),%xmm0 	 			 	movdqa 16(%rsi),%xmm1	movdqa 32(%rsi),%xmm2 	 			 	movdqa 48(%rsi),%xmm3 	 			 	movntdq %xmm0,(%rdi)	 	movntdq %xmm1,16(%rdi)	 	movntdq %xmm2,32(%rdi)	 	movntdq %xmm3,48(%rdi)		movdqa 64(%rsi),%xmm0 	 			 	movdqa 80(%rsi),%xmm1	movdqa 96(%rsi),%xmm2 	 			 	movdqa 112(%rsi),%xmm3 	 			 	movntdq %xmm0,64(%rdi)	 	movntdq %xmm1,80(%rdi)	 	movntdq %xmm2,96(%rdi)	 	movntdq %xmm3,112(%rdi)	addq   %rdx,%rdi		addq   %rdx,%rsi	decl   %ecx	jns    loop	cmpl   $-1,%ecx	je     loop_no_prefetch		sfence	movdqa (%rsp),%xmm0	movdqa 16(%rsp),%xmm1	movdqa 32(%rsp),%xmm2	movdqa 48(%rsp),%xmm3	movq   %rax,%rsp	ret

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -