m5op_sparc.S revision 4090
14090Ssaidi@eecs.umich.edu/* 24090Ssaidi@eecs.umich.edu * Copyright (c) 2003-2006 The Regents of The University of Michigan 34090Ssaidi@eecs.umich.edu * All rights reserved. 44090Ssaidi@eecs.umich.edu * 54090Ssaidi@eecs.umich.edu * Redistribution and use in source and binary forms, with or without 64090Ssaidi@eecs.umich.edu * modification, are permitted provided that the following conditions are 74090Ssaidi@eecs.umich.edu * met: redistributions of source code must retain the above copyright 84090Ssaidi@eecs.umich.edu * notice, this list of conditions and the following disclaimer; 94090Ssaidi@eecs.umich.edu * redistributions in binary form must reproduce the above copyright 104090Ssaidi@eecs.umich.edu * notice, this list of conditions and the following disclaimer in the 114090Ssaidi@eecs.umich.edu * documentation and/or other materials provided with the distribution; 124090Ssaidi@eecs.umich.edu * neither the name of the copyright holders nor the names of its 134090Ssaidi@eecs.umich.edu * contributors may be used to endorse or promote products derived from 144090Ssaidi@eecs.umich.edu * this software without specific prior written permission. 154090Ssaidi@eecs.umich.edu * 164090Ssaidi@eecs.umich.edu * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 174090Ssaidi@eecs.umich.edu * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 184090Ssaidi@eecs.umich.edu * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 194090Ssaidi@eecs.umich.edu * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 204090Ssaidi@eecs.umich.edu * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 214090Ssaidi@eecs.umich.edu * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 224090Ssaidi@eecs.umich.edu * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 234090Ssaidi@eecs.umich.edu * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 244090Ssaidi@eecs.umich.edu * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 254090Ssaidi@eecs.umich.edu * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 264090Ssaidi@eecs.umich.edu * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 274090Ssaidi@eecs.umich.edu * 284090Ssaidi@eecs.umich.edu * Authors: Nathan Binkert 294090Ssaidi@eecs.umich.edu * Ali Saidi 304090Ssaidi@eecs.umich.edu */ 314090Ssaidi@eecs.umich.edu 324090Ssaidi@eecs.umich.edu#define m5_op 0x2 334090Ssaidi@eecs.umich.edu#define m5_op3 0x37 344090Ssaidi@eecs.umich.edu 354090Ssaidi@eecs.umich.edu#include "m5ops.h" 364090Ssaidi@eecs.umich.edu 374090Ssaidi@eecs.umich.edu#define INST(func, rs1, rs2, rd) \ 384090Ssaidi@eecs.umich.edu .long (m5_op) << 30 | (rd) << 25 | (m5_op3) << 19 | (func) << 7 | \ 394090Ssaidi@eecs.umich.edu (rs1) << 14 | (rs2) << 0; 404090Ssaidi@eecs.umich.edu 414090Ssaidi@eecs.umich.edu 424090Ssaidi@eecs.umich.edu#define LEAF(func) \ 434090Ssaidi@eecs.umich.edu .section ".text"; \ 444090Ssaidi@eecs.umich.edu .align 4; \ 454090Ssaidi@eecs.umich.edu .global func; \ 464090Ssaidi@eecs.umich.edu .type func, #function; \ 474090Ssaidi@eecs.umich.edufunc: 484090Ssaidi@eecs.umich.edu 494090Ssaidi@eecs.umich.edu#define END(func) \ 504090Ssaidi@eecs.umich.edu .size func, (.-func) 514090Ssaidi@eecs.umich.edu 524090Ssaidi@eecs.umich.edu#define M5EXIT INST(exit_func, 0, 0, 0) 534090Ssaidi@eecs.umich.edu#define PANIC INST(panic_func, 0, 0, 0) 544090Ssaidi@eecs.umich.edu 554090Ssaidi@eecs.umich.eduLEAF(m5_exit) 564090Ssaidi@eecs.umich.edu retl 574090Ssaidi@eecs.umich.edu M5EXIT 584090Ssaidi@eecs.umich.eduEND(m5_exit) 594090Ssaidi@eecs.umich.edu 604090Ssaidi@eecs.umich.eduLEAF(m5_panic) 614090Ssaidi@eecs.umich.edu retl 624090Ssaidi@eecs.umich.edu PANIC 634090Ssaidi@eecs.umich.eduEND(m5_panic) 644090Ssaidi@eecs.umich.edu 654090Ssaidi@eecs.umich.edu 664090Ssaidi@eecs.umich.edu/* !!!!!! All code below here just panics !!!!!! */ 674090Ssaidi@eecs.umich.eduLEAF(arm) 684090Ssaidi@eecs.umich.edu retl 694090Ssaidi@eecs.umich.edu PANIC 704090Ssaidi@eecs.umich.eduEND(arm) 714090Ssaidi@eecs.umich.edu 724090Ssaidi@eecs.umich.eduLEAF(quiesce) 734090Ssaidi@eecs.umich.edu retl 744090Ssaidi@eecs.umich.edu PANIC 754090Ssaidi@eecs.umich.eduEND(quiesce) 764090Ssaidi@eecs.umich.edu 774090Ssaidi@eecs.umich.eduLEAF(quiesceNs) 784090Ssaidi@eecs.umich.edu retl 794090Ssaidi@eecs.umich.edu PANIC 804090Ssaidi@eecs.umich.eduEND(quiesceNs) 814090Ssaidi@eecs.umich.edu 824090Ssaidi@eecs.umich.eduLEAF(quiesceCycle) 834090Ssaidi@eecs.umich.edu retl 844090Ssaidi@eecs.umich.edu PANIC 854090Ssaidi@eecs.umich.eduEND(quiesceCycle) 864090Ssaidi@eecs.umich.edu 874090Ssaidi@eecs.umich.eduLEAF(quiesceTime) 884090Ssaidi@eecs.umich.edu retl 894090Ssaidi@eecs.umich.edu PANIC 904090Ssaidi@eecs.umich.eduEND(quiesceTime) 914090Ssaidi@eecs.umich.edu 924090Ssaidi@eecs.umich.eduLEAF(m5_initparam) 934090Ssaidi@eecs.umich.edu retl 944090Ssaidi@eecs.umich.edu PANIC 954090Ssaidi@eecs.umich.eduEND(m5_initparam) 964090Ssaidi@eecs.umich.edu 974090Ssaidi@eecs.umich.eduLEAF(m5_loadsymbol) 984090Ssaidi@eecs.umich.edu retl 994090Ssaidi@eecs.umich.edu PANIC 1004090Ssaidi@eecs.umich.eduEND(m5_loadsymbol) 1014090Ssaidi@eecs.umich.edu 1024090Ssaidi@eecs.umich.eduLEAF(m5_reset_stats) 1034090Ssaidi@eecs.umich.edu retl 1044090Ssaidi@eecs.umich.edu PANIC 1054090Ssaidi@eecs.umich.eduEND(m5_reset_stats) 1064090Ssaidi@eecs.umich.edu 1074090Ssaidi@eecs.umich.eduLEAF(m5_dump_stats) 1084090Ssaidi@eecs.umich.edu retl 1094090Ssaidi@eecs.umich.edu PANIC 1104090Ssaidi@eecs.umich.eduEND(m5_dump_stats) 1114090Ssaidi@eecs.umich.edu 1124090Ssaidi@eecs.umich.eduLEAF(m5_dumpreset_stats) 1134090Ssaidi@eecs.umich.edu retl 1144090Ssaidi@eecs.umich.edu PANIC 1154090Ssaidi@eecs.umich.eduEND(m5_dumpreset_stats) 1164090Ssaidi@eecs.umich.edu 1174090Ssaidi@eecs.umich.eduLEAF(m5_checkpoint) 1184090Ssaidi@eecs.umich.edu retl 1194090Ssaidi@eecs.umich.edu PANIC 1204090Ssaidi@eecs.umich.eduEND(m5_checkpoint) 1214090Ssaidi@eecs.umich.edu 1224090Ssaidi@eecs.umich.eduLEAF(m5_readfile) 1234090Ssaidi@eecs.umich.edu retl 1244090Ssaidi@eecs.umich.edu PANIC 1254090Ssaidi@eecs.umich.eduEND(m5_readfile) 1264090Ssaidi@eecs.umich.edu 1274090Ssaidi@eecs.umich.eduLEAF(m5_debugbreak) 1284090Ssaidi@eecs.umich.edu retl 1294090Ssaidi@eecs.umich.edu PANIC 1304090Ssaidi@eecs.umich.eduEND(m5_debugbreak) 1314090Ssaidi@eecs.umich.edu 1324090Ssaidi@eecs.umich.eduLEAF(m5_switchcpu) 1334090Ssaidi@eecs.umich.edu retl 1344090Ssaidi@eecs.umich.edu PANIC 1354090Ssaidi@eecs.umich.eduEND(m5_switchcpu) 1364090Ssaidi@eecs.umich.edu 1374090Ssaidi@eecs.umich.eduLEAF(m5_addsymbol) 1384090Ssaidi@eecs.umich.edu retl 1394090Ssaidi@eecs.umich.edu PANIC 1404090Ssaidi@eecs.umich.eduEND(m5_addsymbol) 1414090Ssaidi@eecs.umich.edu 1424090Ssaidi@eecs.umich.eduLEAF(m5_anbegin) 1434090Ssaidi@eecs.umich.edu retl 1444090Ssaidi@eecs.umich.edu PANIC 1454090Ssaidi@eecs.umich.eduEND(m5_anbegin) 1464090Ssaidi@eecs.umich.edu 1474090Ssaidi@eecs.umich.eduLEAF(m5_anwait) 1484090Ssaidi@eecs.umich.edu retl 1494090Ssaidi@eecs.umich.edu PANIC 1504090Ssaidi@eecs.umich.eduEND(m5_anwait) 1514090Ssaidi@eecs.umich.edu 1524090Ssaidi@eecs.umich.edu 153