reset.cgs

来自「这个是LINUX下的GDB调度工具的源码」· CGS 代码 · 共 82 行

CGS
82
字号
# frv testcase to generate reset interrupts# mach: fr500 fr550 fr400# sim: --memory-region 0xff000000,64	.include "testutils.inc"	start	.global resetreset:	and_spr_immed	0xfffffffb,psr	; turn off PSR.S	set_gr_immed	0xfeff0500,gr10	; address of reset register	set_spr_immed	0x7fffffff,lcr	set_bctrlr_0_0  gr0; Can't recover from hardware interrupt with enough state intact to verify it;	set_spr_addr	ok1,lr;	set_mem_immed	0x3,gr10	; cause hardware reset;	dcf		@(gr10,gr0)	; Wait for store to happen;	fail;;ok1:	; reset should branch to reset address which should then branch here;	test_mem_immed	0x00000200,gr10;	set_spr_addr	ok2,lr;	set_mem_immed	0x2,gr10	; cause hardware reset;	dcf		@(gr10,gr0)	; Wait for store to happen;	fail;	ok2:	; reset should branch to reset address which should then branch here;	test_mem_immed	0x00000200,gr10	set_spr_addr	ok3,lr	set_mem_immed	0x1,gr10	; cause software reset	dcf		@(gr10,gr0)	; Wait for store to happen	fail	ok3:	; reset should branch to reset address which should then branch here	test_mem_immed	0x00000100,gr10	test_spr_bits	0x4,2,1,psr	; psr.s is set	test_spr_bits	0x2,1,0,psr	; psr.ps not set	set_spr_addr	bad,lr	set_mem_immed	0x0,gr10	; no reset	test_mem_immed	0x0,gr10	; now retest with HSR0.SA set	set_mem_immed	0,gr0	set_gr_addr	0xff000000,gr11	set_bctrlr_0_0  gr11	or_spr_immed	0x00001000,hsr0	; set HSR0.SA; Can't recover from hardware interrupt with enough state intact to verify it;	set_spr_addr	ok4,lr;	dcf		@(gr10,gr0)	; Wait for store to happen;	set_mem_immed	0x3,gr10	; cause hardware reset;	fail;;ok4:	; reset should branch to reset address which should then branch here;	test_mem_immed	0x00000200,gr10;	set_spr_addr	ok5,lr;	set_mem_immed	0x2,gr10	; cause hardware reset;	dcf		@(gr10,gr0)	; Wait for store to happen;	fail;	ok5:	; reset should branch to reset address which should then branch here;	test_mem_immed	0x00000200,gr10	set_spr_addr	ok6,lr	set_mem_immed	0x1,gr10	; cause software reset	dcf		@(gr10,gr0)	; Wait for store to happen	fail	ok6:	; reset should branch to reset address which should then branch here	test_mem_immed	0x00000100,gr10	test_spr_bits	0x4,2,1,psr	; psr.s is set	test_spr_bits	0x2,1,1,psr	; psr.ps is set	set_spr_addr	bad,lr	set_mem_immed	0x0,gr10	; no reset	test_mem_immed	0x0,gr10	passbad:	; Should never get here	fail

⌨️ 快捷键说明

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