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