// ========== Copyright Header Begin ========================================== // // OpenSPARC T2 Processor File: asmEvent.vrh // Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved // 4150 Network Circle, Santa Clara, California 95054, U.S.A. // // * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; version 2 of the License. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // For the avoidance of doubt, and except that if any non-GPL license // choice is available it will apply instead, Sun elects to use only // the General Public License version 2 (GPLv2) at this time for any // software where a choice of GPL license versions is made // available with the language indicating that GPLv2 or any later version // may be used, or where a choice of which version of the GPL is applied is // otherwise unspecified. // // Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, // CA 95054 USA or visit www.sun.com if you need additional information or // have any questions. // // ========== Copyright Header End ============================================ #ifndef INC__TMP_ASMEVENT_VRH #define INC__TMP_ASMEVENT_VRH extern class EventClass { reg [63:0] tid; reg [63:0] tidMask; reg [63:0] thisTid; integer wait; integer src; reg multiShot; reg [63:0] intType; string routine; reg [63:0] misc64A; reg [63:0] misc64B; reg [63:0] misc64C; reg [63:0] misc64D; reg [63:0] misc64E; reg misc01A; reg misc01B; reg misc01C; reg misc01D; integer miscIntA; integer miscIntB; integer miscIntC; integer miscIntD; integer miscIntE; string miscStrA = ""; string miscStrB = ""; string miscStrC = ""; reg [127:0] misc128A; reg [63:0] pc; protected reg done; protected EventClass next; protected EventClass head; protected EventClass tail; protected integer remain; task new (reg noCount = 0); task push (EventClass newEvent ); // function EventClass pop (var integer remaining, reg notDone = 0, var integer eventCount // ); function EventClass getHeadEvent(); function EventClass getNextEvent(var integer remaining, reg notDone = 0, var integer evCount); task delete ( ); function integer remaining(); task printList ( ); task printSelf ( ); function integer getEventCount(); task setDone(reg done); } #endif