packet.proto revision 10309:ccb1801742a1
12155SN/A// Copyright (c) 2012-2013 ARM Limited 22155SN/A// All rights reserved 32155SN/A// 42155SN/A// The license below extends only to copyright in the software and shall 52155SN/A// not be construed as granting a license to any other intellectual 62155SN/A// property including but not limited to intellectual property relating 72155SN/A// to a hardware implementation of the functionality of the software 82155SN/A// licensed hereunder. You may use the software subject to the license 92155SN/A// terms below provided that you ensure that this notice is replicated 102155SN/A// unmodified and in its entirety in all distributions of the software, 112155SN/A// modified or unmodified, in source code or in binary form. 122155SN/A// 132155SN/A// Redistribution and use in source and binary forms, with or without 142155SN/A// modification, are permitted provided that the following conditions are 152155SN/A// met: redistributions of source code must retain the above copyright 162155SN/A// notice, this list of conditions and the following disclaimer; 172155SN/A// redistributions in binary form must reproduce the above copyright 182155SN/A// notice, this list of conditions and the following disclaimer in the 192155SN/A// documentation and/or other materials provided with the distribution; 202155SN/A// neither the name of the copyright holders nor the names of its 212155SN/A// contributors may be used to endorse or promote products derived from 222155SN/A// this software without specific prior written permission. 232155SN/A// 242155SN/A// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 252155SN/A// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 262155SN/A// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 272155SN/A// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 282665Ssaidi@eecs.umich.edu// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 292665Ssaidi@eecs.umich.edu// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 302155SN/A// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 314202Sbinkertn@umich.edu// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 322155SN/A// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 339850Sandreas.hansson@arm.com// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 349850Sandreas.hansson@arm.com// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 359850Sandreas.hansson@arm.com// 367768SAli.Saidi@ARM.com// Authors: Andreas Hansson 377768SAli.Saidi@ARM.com 388887Sgeoffrey.blake@arm.com// Put all the generated messages in a namespace 392766Sktlim@umich.edupackage ProtoMessage; 404486Sbinkertn@umich.edu 414486Sbinkertn@umich.edu// Packet header with the identifier describing what object captured 424776Sgblack@eecs.umich.edu// the trace, the version of this file format, and the tick frequency 434776Sgblack@eecs.umich.edu// for all the packet time stamps. 448739Sgblack@eecs.umich.edumessage PacketHeader { 456365Sgblack@eecs.umich.edu required string obj_id = 1; 4610259SAndrew.Bardsley@arm.com optional uint32 ver = 2 [default = 0]; 474486Sbinkertn@umich.edu required uint64 tick_freq = 3; 484202Sbinkertn@umich.edu} 494202Sbinkertn@umich.edu 504202Sbinkertn@umich.edu// Each packet in the trace contains a tick (which can be translated 514202Sbinkertn@umich.edu// to absolute time using the frequency in the header), the command, 5210319SAndreas.Sandberg@ARM.com// the address, and the size in bytes. The optional flags are used to 534202Sbinkertn@umich.edu// capture the request flags that convey information about 544776Sgblack@eecs.umich.edu// cacheability, if the packet is an instruction fetch or prefetch or 558739Sgblack@eecs.umich.edu// not, etc. An optional id field is added for generic use to identify 566365Sgblack@eecs.umich.edu// the packet or the "owner" of the packet. An example of the latter 574202Sbinkertn@umich.edu// is the sequential id of an instruction, or the master id etc. 588777Sgblack@eecs.umich.edumessage Packet { 594202Sbinkertn@umich.edu required uint64 tick = 1; 609913Ssteve.reinhardt@amd.com required uint32 cmd = 2; 614202Sbinkertn@umich.edu required uint64 addr = 3; 624202Sbinkertn@umich.edu required uint32 size = 4; 635217Ssaidi@eecs.umich.edu optional uint32 flags = 5; 644202Sbinkertn@umich.edu optional uint64 pkt_id = 6; 6510259SAndrew.Bardsley@arm.com} 662155SN/A