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

📄 viscopy.s

📁 优龙2410linux2.6.8内核源代码
💻 S
📖 第 1 页 / 共 3 页
字号:
			add %o2, 4)				! Store	andcc		%o2, -128, %g7				! IEU1	Group2:	be,pn		%xcc, 3f				! CTI	 andcc		%o0, 4, %g0				! IEU1	Group	be,pn		%xcc, 82f + 4				! CTI	Group#else /* !REGS_64BIT */5:	andcc		%o2, -128, %g7				! IEU1	be,a,pn		%xcc, 41f				! CTI	 andcc		%o2, 0x70, %g7				! IEU1	Group#endif /* !REGS_64BIT */5:	MOVE_BIGCHUNK(o1, o0, 0x00, g1, g3, g5, o5)	MOVE_BIGCHUNK(o1, o0, 0x20, g1, g3, g5, o5)	MOVE_BIGCHUNK(o1, o0, 0x40, g1, g3, g5, o5)	MOVE_BIGCHUNK(o1, o0, 0x60, g1, g3, g5, o5)	EXT(5b,35f,VIScopyfixup1)35:	subcc		%g7, 128, %g7				! IEU1	Group	add		%o1, 128, %o1				! IEU0	bne,pt		%xcc, 5b				! CTI	 add		%o0, 128, %o0				! IEU0	Group3:	andcc		%o2, 0x70, %g7				! IEU1	Group41:	be,pn		%xcc, 80f				! CTI	 andcc		%o2, 8, %g0				! IEU1	Group#ifdef __KERNEL__79:	sethi		%hi(80f), %o5				! IEU0	sll		%g7, 1, %g5				! IEU0	Group	add		%o1, %g7, %o1				! IEU1	srl		%g7, 1, %g2				! IEU0  Group	sub		%o5, %g5, %o5				! IEU1	sub		%o5, %g2, %o5				! IEU0  Group	jmpl		%o5 + %lo(80f), %g0			! CTI	Group brk forced	 add		%o0, %g7, %o0				! IEU0	Group#else								! Clk1 8-(								! Clk2 8-(								! Clk3 8-(								! Clk4 8-(79:	rd		%pc, %o5				! PDU	Group	sll		%g7, 1, %g5				! IEU0	Group	add		%o1, %g7, %o1				! IEU1	sub		%o5, %g5, %o5				! IEU0  Group	jmpl		%o5 + %lo(80f - 79b), %g0		! CTI	Group brk forced	 add		%o0, %g7, %o0				! IEU0	Group#endif36:	MOVE_LASTCHUNK(o1, o0, 0x60, g2, g3, g5, o5)	MOVE_LASTCHUNK(o1, o0, 0x50, g2, g3, g5, o5)	MOVE_LASTCHUNK(o1, o0, 0x40, g2, g3, g5, o5)	MOVE_LASTCHUNK(o1, o0, 0x30, g2, g3, g5, o5)	MOVE_LASTCHUNK(o1, o0, 0x20, g2, g3, g5, o5)	MOVE_LASTCHUNK(o1, o0, 0x10, g2, g3, g5, o5)	MOVE_LASTCHUNK(o1, o0, 0x00, g2, g3, g5, o5)	EXT(36b,80f,VIScopyfixup2)80:	be,pt		%xcc, 81f				! CTI	 andcc		%o2, 4, %g0				! IEU1#ifdef REGS_64BIT	ASI_SETSRC_NOBLK					! LSU	Group	EX(LDX		[%o1] ASINORMAL, %g2,			and %o2, 0xf)				! Load	Group	add		%o0, 8, %o0				! IEU0	ASI_SETDST_NOBLK					! LSU	Group	EX(STW		%g2, [%o0 - 0x4] ASINORMAL,			and %o2, 0xf)				! Store	Group	add		%o1, 8, %o1				! IEU1	srlx		%g2, 32, %g2				! IEU0	Group	EX2(STW		%g2, [%o0 - 0x8] ASINORMAL,			and %o2, 0xf, %o2,			sub %o2, 4)				! Store#else /* !REGS_64BIT */	lduw		[%o1], %g2				! Load	Group	add		%o0, 8, %o0				! IEU0	lduw		[%o1 + 0x4], %g3			! Load	Group	add		%o1, 8, %o1				! IEU0	stw		%g2, [%o0 - 0x8]			! Store	Group	stw		%g3, [%o0 - 0x4]			! Store	Group#endif /* !REGS_64BIT */81:	be,pt		%xcc, 1f				! CTI	 andcc		%o2, 2, %g0				! IEU1	Group	ASI_SETSRC_NOBLK					! LSU	Group	EX(LDUW		[%o1] ASINORMAL, %g2,			and %o2, 0x7)				! Load	Group	add		%o1, 4, %o1				! IEU0	ASI_SETDST_NOBLK					! LSU	Group	EX(STW		%g2, [%o0] ASINORMAL,			and %o2, 0x7)				! Store	Group	add		%o0, 4, %o0				! IEU01:	be,pt		%xcc, 1f				! CTI	 andcc		%o2, 1, %g0				! IEU1	Group	ASI_SETSRC_NOBLK					! LSU	Group	EX(LDUH		[%o1] ASINORMAL, %g2,			and %o2, 0x3)				! Load	Group	add		%o1, 2, %o1				! IEU0	ASI_SETDST_NOBLK					! LSU	Group	EX(STH		%g2, [%o0] ASINORMAL,			and %o2, 0x3)				! Store	Group	add		%o0, 2, %o0				! IEU01:	be,pt		%xcc, normal_retl			! CTI	 nop							! IEU1	ASI_SETSRC_NOBLK					! LSU	Group	EX(LDUB		[%o1] ASINORMAL, %g2,			add %g0, 1)				! Load	Group	ASI_SETDST_NOBLK					! LSU	Group	EX(STB		%g2, [%o0] ASINORMAL,			add %g0, 1)				! Store	Group + bubblenormal_retl:	NORMAL_RETL#ifdef REGS_64BIT82:	MOVE_BIGALIGNCHUNK(o1, o0, 0x00, g1, g3, g5, o5)	MOVE_BIGALIGNCHUNK(o1, o0, 0x40, g1, g3, g5, o5)	EXT(82b,37f,VIScopyfixup3)37:	subcc		%g7, 128, %g7				! IEU1	Group	add		%o1, 128, %o1				! IEU0	bne,pt		%xcc, 82b				! CTI	 add		%o0, 128, %o0				! IEU0	Group	andcc		%o2, 0x70, %g7				! IEU1	be,pn		%xcc, 84f				! CTI	 andcc		%o2, 8, %g0				! IEU1	Group#ifdef __KERNEL__83:	srl		%g7, 1, %g5				! IEU0	sethi		%hi(84f), %o5				! IEU0	Group	add		%g7, %g5, %g5				! IEU1	add		%o1, %g7, %o1				! IEU0	Group	sub		%o5, %g5, %o5				! IEU1	jmpl		%o5 + %lo(84f), %g0			! CTI	Group brk forced	 add		%o0, %g7, %o0				! IEU0	Group#else								! Clk1 8-(								! Clk2 8-(								! Clk3 8-(								! Clk4 8-(83:	rd		%pc, %o5				! PDU	Group	add		%o1, %g7, %o1				! IEU0	Group	sub		%o5, %g7, %o5				! IEU1	jmpl		%o5 + %lo(84f - 83b), %g0		! CTI	Group brk forced	 add		%o0, %g7, %o0				! IEU0	Group#endif38:	MOVE_LASTALIGNCHUNK(o1, o0, 0x60, g2, g3)	MOVE_LASTALIGNCHUNK(o1, o0, 0x50, g2, g3)	MOVE_LASTALIGNCHUNK(o1, o0, 0x40, g2, g3)	MOVE_LASTALIGNCHUNK(o1, o0, 0x30, g2, g3)	MOVE_LASTALIGNCHUNK(o1, o0, 0x20, g2, g3)	MOVE_LASTALIGNCHUNK(o1, o0, 0x10, g2, g3)	MOVE_LASTALIGNCHUNK(o1, o0, 0x00, g2, g3)	EXT(38b,84f,VIScopyfixup4)84:	be,pt		%xcc, 85f				! CTI	Group	 andcc		%o2, 4, %g0				! IEU1	ASI_SETSRC_NOBLK					! LSU	Group	EX(LDX		[%o1] ASINORMAL, %g2,			and %o2, 0xf)				! Load	Group	add		%o0, 8, %o0				! IEU0	ASI_SETDST_NOBLK					! LSU	Group	add		%o1, 8, %o1				! IEU0	Group	EX(STX		%g2, [%o0 - 0x8] ASINORMAL,			and %o2, 0xf)				! Store85:	be,pt		%xcc, 1f				! CTI	 andcc		%o2, 2, %g0				! IEU1	Group	ASI_SETSRC_NOBLK					! LSU	Group	EX(LDUW		[%o1] ASINORMAL, %g2,			and %o2, 0x7)				! Load	Group	add		%o0, 4, %o0				! IEU0	ASI_SETDST_NOBLK					! LSU	Group	add		%o1, 4, %o1				! IEU0	Group	EX(STW		%g2, [%o0 - 0x4] ASINORMAL,			and %o2, 0x7)				! Store1:	be,pt		%xcc, 1f				! CTI	 andcc		%o2, 1, %g0				! IEU1	Group	ASI_SETSRC_NOBLK					! LSU	Group	EX(LDUH		[%o1] ASINORMAL, %g2,			and %o2, 0x3)				! Load	Group	add		%o0, 2, %o0				! IEU0	ASI_SETDST_NOBLK					! LSU	Group	add		%o1, 2, %o1				! IEU0	Group	EX(STH		%g2, [%o0 - 0x2] ASINORMAL,			and %o2, 0x3)				! Store1:	be,pt		%xcc, 1f				! CTI	 nop							! IEU0	Group	ASI_SETSRC_NOBLK					! LSU	Group	EX(LDUB		[%o1] ASINORMAL, %g2,			add %g0, 1)				! Load	Group	ASI_SETDST_NOBLK					! LSU	Group	EX(STB		%g2, [%o0] ASINORMAL,			add %g0, 1)				! Store	Group + bubble1:	NORMAL_RETL#endif	/* REGS_64BIT */memcpy_noVIS_misaligned:	brz,pt			%g2, 2f				! CTI	Group	 mov			8, %g1				! IEU0	sub			%g1, %g2, %g2			! IEU0	Group	sub			%o2, %g2, %o2			! IEU0	Group1:	ASI_SETSRC_NOBLK					! LSU	Group	EX(LDUB			[%o1] ASINORMAL, %g5,				add %o2, %g2)			! Load	Group	add			%o1, 1, %o1			! IEU0	add			%o0, 1, %o0			! IEU1	ASI_SETDST_NOBLK					! LSU	Group	subcc			%g2, 1, %g2			! IEU1	Group	bne,pt			%xcc, 1b			! CTI	 EX2(STB		%g5, [%o0 - 1] ASINORMAL,				add %o2, %g2, %o2,				add %o2, 1)			! Store2:#ifdef __KERNEL__	VISEntry#endif	andn			%o2, 7, %g5 			! IEU0	Group	and			%o2, 7, %o2			! IEU1	fmovd			%f0, %f2			! FPU	ASI_SETSRC_NOBLK					! LSU	Group	alignaddr		%o1, %g0, %g1			! GRU	Group	EXO2(LDDF		[%g1] ASINORMAL, %f4)		! Load	Group1:	EX(LDDF			[%g1 + 0x8] ASINORMAL, %f6,				add %o2, %g5)			! Load	Group	add			%g1, 0x8, %g1			! IEU0	Group	subcc			%g5, 8, %g5			! IEU1	ASI_SETDST_NOBLK					! LSU	Group	faligndata		%f4, %f6, %f0			! GRU	Group	EX2(STDF		%f0, [%o0] ASINORMAL,				add %o2, %g5, %o2,				add %o2, 8)			! Store	add			%o1, 8, %o1			! IEU0	Group	be,pn			%xcc, end_cruft			! CTI	 add			%o0, 8, %o0			! IEU1	ASI_SETSRC_NOBLK					! LSU	Group	EX(LDDF			[%g1 + 0x8] ASINORMAL, %f4,				add %o2, %g5)			! Load	Group	add			%g1, 8, %g1			! IEU0	subcc			%g5, 8, %g5			! IEU1	ASI_SETDST_NOBLK					! LSU	Group	faligndata		%f6, %f4, %f0			! GRU	Group	EX2(STDF		%f0, [%o0] ASINORMAL,				add %o2, %g5, %o2,				add %o2, 8)			! Store	add			%o1, 8, %o1			! IEU0	ASI_SETSRC_NOBLK					! LSU	Group	bne,pn			%xcc, 1b			! CTI	Group	 add			%o0, 8, %o0			! IEU0end_cruft:	brz,pn			%o2, fpu_retl			! CTI	Group#ifndef __KERNEL__	 nop							! IEU0#else	 ASI_SETSRC_NOBLK					! LSU	Group#endif	EXO2(LDUB	[%o1] ASINORMAL, %g5)			! LOAD	add		%o1, 1, %o1				! IEU0	add		%o0, 1, %o0				! IEU1	ASI_SETDST_NOBLK					! LSU	Group	subcc		%o2, 1, %o2				! IEU1	bne,pt		%xcc, vis_slp				! CTI	 EX(STB		%g5, [%o0 - 1] ASINORMAL,			add %o2, 1)				! Store	Groupfpu_retl:	FPU_RETL#ifdef __KERNEL__		.section	.fixup		.align		4VIScopyfixup_reto2:		mov		%o2, %o1VIScopyfixup_ret:		/* If this is copy_from_user(), zero out the rest of the		 * kernel buffer.		 */		ldub		[%g6 + TI_CURRENT_DS], %o4		andcc		asi_src, 0x1, %g0		be,pt		%icc, 1f		 VISExit		andcc		asi_dest, 0x1, %g0		bne,pn		%icc, 1f		 nop		save		%sp, -160, %sp		mov		%i0, %o0		call		__bzero		 mov		%i1, %o1		restore1:		mov		%o1, %o0		retl		 wr		%o4, %g0, %asiVIScopyfixup1:	subcc		%g2, 18, %g2		add		%o0, 32, %o0		bgeu,a,pt	%icc, VIScopyfixup1		 sub		%g7, 32, %g7		sub		%o0, 32, %o0		rd		%pc, %g5		add		%g2, (18 + 16), %g2		ldub		[%g5 + %g2], %g2		ba,a,pt		%xcc, 2f.byte		0, 0, 0, 0, 0, 0, 0, 4, 4, 8, 12, 12, 16, 20, 20, 24, 28, 28		.align		4VIScopyfixup2:	mov		(7 * 16), %g71:		subcc		%g2, 10, %g2		bgeu,a,pt	%icc, 1b		 sub		%g7, 16, %g7		sub		%o0, %g7, %o0		rd		%pc, %g5		add		%g2, (10 + 16), %g2		ldub		[%g5 + %g2], %g2		ba,a,pt		%xcc, 4f.byte		0, 0, 0, 0, 0, 4, 4, 8, 12, 12		.align		4VIScopyfixup3:	subcc		%g2, 10, %g2		add		%o0, 32, %o0		bgeu,a,pt	%icc, VIScopyfixup3		 sub		%g7, 32, %g7		sub		%o0, 32, %o0		rd		%pc, %g5		add		%g2, (10 + 16), %g2		ldub		[%g5 + %g2], %g2		ba,a,pt		%xcc, 2f.byte		0, 0, 0, 0, 0, 0, 0, 8, 16, 24		.align		42:		and		%o2, 0x7f, %o2		sub		%g7, %g2, %g7		ba,pt		%xcc, VIScopyfixup_ret		 add		%g7, %o2, %o1VIScopyfixup4:	mov		(7 * 16), %g73:		subcc		%g2, 6, %g2		bgeu,a,pt	%icc, 3b		 sub		%g7, 16, %g7		sub		%o0, %g7, %o0		rd		%pc, %g5		add		%g2, (6 + 16), %g2		ldub		[%g5 + %g2], %g2		ba,a,pt		%xcc, 4f.byte		0, 0, 0, 0, 0, 8		.align		44:		and		%o2, 0xf, %o2		sub		%g7, %g2, %g7		ba,pt		%xcc, VIScopyfixup_ret		 add		%g7, %o2, %o1VIScopyfixup_vis2:		sub		%o2, 0x40, %o2VIScopyfixup_vis0:		add		%o2, 0x80, %o2VIScopyfixup_vis1:		add		%g7, %g3, %g7		ba,pt		%xcc, VIScopyfixup_ret		 add		%o2, %g7, %o1VIScopyfixup_vis4:		add		%g3, 8, %g3VIScopyfixup_vis3:		add		%g3, 8, %g3		ba,pt		%xcc, VIScopyfixup_ret		 add		%o2, %g3, %o1#endif#ifdef __KERNEL__		.text		.align		32		.globl		__memmove		.type		__memmove,@function		.globl		memmove		.type		memmove,@functionmemmove:__memmove:	cmp		%o0, %o1		blu,pt		%xcc, memcpy_private		 sub		%o0, %o1, %g5		add		%o1, %o2, %g3		cmp		%g3, %o0		bleu,pt		%xcc, memcpy_private		 add		%o1, %o2, %g5		add		%o0, %o2, %o5		sub		%g5, 1, %o1		sub		%o5, 1, %o01:		ldub		[%o1], %g5		subcc		%o2, 1, %o2		sub		%o1, 1, %o1		stb		%g5, [%o0]		bne,pt		%icc, 1b		 sub		%o0, 1, %o0		retl		 clr		%o0#endif

⌨️ 快捷键说明

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