m5op_alpha.S revision 275
19380SAndreas.Sandberg@ARM.com#include <machine/asm.h>
29380SAndreas.Sandberg@ARM.com#include <regdef.h>
39380SAndreas.Sandberg@ARM.com
49380SAndreas.Sandberg@ARM.com#define m5_op 0x01
59380SAndreas.Sandberg@ARM.com#define arm_func 0x00
69380SAndreas.Sandberg@ARM.com#define quiesce_func 0x01
79380SAndreas.Sandberg@ARM.com#define ivlb_func 0x10
89380SAndreas.Sandberg@ARM.com#define ivle_func 0x11
99380SAndreas.Sandberg@ARM.com#define m5exit_func 0x20
109380SAndreas.Sandberg@ARM.com#define initparam_func 0x30
119380SAndreas.Sandberg@ARM.com#define resetstats_func 0x40
129380SAndreas.Sandberg@ARM.com
139380SAndreas.Sandberg@ARM.com#define INST(op, ra, rb, func) \
149380SAndreas.Sandberg@ARM.com	.long (((op) << 26) | ((ra) << 21) | ((rb) << 16) | (func))
159380SAndreas.Sandberg@ARM.com
169380SAndreas.Sandberg@ARM.com#define	ARM(reg) INST(m5_op, reg, 0, arm_func)
179380SAndreas.Sandberg@ARM.com#define QUIESCE() INST(m5_op, 0, 0, quiesce_func)
189380SAndreas.Sandberg@ARM.com#define IVLB(reg) INST(m5_op, reg, 0, ivlb_func)
199380SAndreas.Sandberg@ARM.com#define IVLE(reg) INST(m5_op, reg, 0, ivle_func)
209380SAndreas.Sandberg@ARM.com#define M5_EXIT() INST(m5_op, 0, 0, m5exit_func)
219380SAndreas.Sandberg@ARM.com#define INITPARAM(reg) INST(m5_op, reg, 0, initparam_func)
229380SAndreas.Sandberg@ARM.com#define RESETSTATS() INST(m5_op, 0, 0, resetstats_func)
239380SAndreas.Sandberg@ARM.com
249380SAndreas.Sandberg@ARM.com	.set noreorder
259380SAndreas.Sandberg@ARM.com
269380SAndreas.Sandberg@ARM.com	.align 4
279380SAndreas.Sandberg@ARM.comLEAF(arm)
289380SAndreas.Sandberg@ARM.com	ARM(16)
299380SAndreas.Sandberg@ARM.com	RET
309380SAndreas.Sandberg@ARM.comEND(arm)
319380SAndreas.Sandberg@ARM.com
329380SAndreas.Sandberg@ARM.com	.align 4
339380SAndreas.Sandberg@ARM.comLEAF(quiesce)
349380SAndreas.Sandberg@ARM.com	QUIESCE()
359380SAndreas.Sandberg@ARM.com	RET
369380SAndreas.Sandberg@ARM.comEND(quiesce)
379380SAndreas.Sandberg@ARM.com
389380SAndreas.Sandberg@ARM.com	.align 4
399380SAndreas.Sandberg@ARM.comLEAF(ivlb)
409380SAndreas.Sandberg@ARM.com	IVLB(16)
419380SAndreas.Sandberg@ARM.com	RET
4211682Sandreas.hansson@arm.comEND(ivlb)
4311682Sandreas.hansson@arm.com
4413916Sodanrc@yahoo.com.br	.align 4
4511682Sandreas.hansson@arm.comLEAF(ivle)
469380SAndreas.Sandberg@ARM.com	IVLE(16)
479380SAndreas.Sandberg@ARM.com	RET
489380SAndreas.Sandberg@ARM.comEND(ivle)
499380SAndreas.Sandberg@ARM.com
509380SAndreas.Sandberg@ARM.com	.align 4
519380SAndreas.Sandberg@ARM.comLEAF(m5exit)
529380SAndreas.Sandberg@ARM.com	M5_EXIT()
539380SAndreas.Sandberg@ARM.com	RET
549380SAndreas.Sandberg@ARM.comEND(m5exit)
559380SAndreas.Sandberg@ARM.com
569380SAndreas.Sandberg@ARM.com    .align 4
579380SAndreas.Sandberg@ARM.comLEAF(initparam)
589380SAndreas.Sandberg@ARM.com    INITPARAM(0)
599380SAndreas.Sandberg@ARM.com    RET
609380SAndreas.Sandberg@ARM.comEND(initparam)
619380SAndreas.Sandberg@ARM.com
629380SAndreas.Sandberg@ARM.com    .align 4
6313916Sodanrc@yahoo.com.brLEAF(resetstats)
649380SAndreas.Sandberg@ARM.com    RESETSTATS()
659380SAndreas.Sandberg@ARM.com    RET
669380SAndreas.Sandberg@ARM.comEND(resetstats)