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)