/* * intel_pt_pkt_decoder.h: Intel Processor Trace support * Copyright (c) 2013-2014, Intel Corporation. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, * version 2, as published by the Free Software Foundation. * * This program is distributed in the hope 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. * */ #ifndef INCLUDE__INTEL_PT_PKT_DECODER_H__ #define INCLUDE__INTEL_PT_PKT_DECODER_H__ #include <stddef.h> #include <stdint.h> #define INTEL_PT_PKT_DESC_MAX 256 #define INTEL_PT_NEED_MORE_BYTES -1 #define INTEL_PT_BAD_PACKET -2 #define INTEL_PT_PSB_STR "\002\202\002\202\002\202\002\202" \ "\002\202\002\202\002\202\002\202" #define INTEL_PT_PSB_LEN 16 #define INTEL_PT_PKT_MAX_SZ 16 enum intel_pt_pkt_type { INTEL_PT_BAD, INTEL_PT_PAD, INTEL_PT_TNT, INTEL_PT_TIP_PGD, INTEL_PT_TIP_PGE, INTEL_PT_TSC, INTEL_PT_TMA, INTEL_PT_MODE_EXEC, INTEL_PT_MODE_TSX, INTEL_PT_MTC, INTEL_PT_TIP, INTEL_PT_FUP, INTEL_PT_CYC, INTEL_PT_VMCS, INTEL_PT_PSB, INTEL_PT_PSBEND, INTEL_PT_CBR, INTEL_PT_TRACESTOP, INTEL_PT_PIP, INTEL_PT_OVF, INTEL_PT_MNT, }; struct intel_pt_pkt { enum intel_pt_pkt_type type; int count; uint64_t payload; }; const char *intel_pt_pkt_name(enum intel_pt_pkt_type); int intel_pt_get_packet(const unsigned char *buf, size_t len, struct intel_pt_pkt *packet); int intel_pt_pkt_desc(const struct intel_pt_pkt *packet, char *buf, size_t len); #endif /crypto/public_key.h'>log</a><a href='/cgit.cgi/linux/net-next.git/tree/include/crypto/public_key.h?id=f225e4e69770a79663c62c8d6629fdf3fcbc360a'>tree</a><a href='/cgit.cgi/linux/net-next.git/commit/include/crypto/public_key.h?id=f225e4e69770a79663c62c8d6629fdf3fcbc360a'>commit</a><a href='/cgit.cgi/linux/net-next.git/diff/include/crypto/public_key.h?id=f225e4e69770a79663c62c8d6629fdf3fcbc360a'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/linux/net-next.git/log/include/crypto/public_key.h'> <input type='hidden' name='id' value='f225e4e69770a79663c62c8d6629fdf3fcbc360a'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/cgit.cgi/linux/net-next.git/log/?id=f225e4e69770a79663c62c8d6629fdf3fcbc360a'>root</a>/<a href='/cgit.cgi/linux/net-next.git/log/include?id=f225e4e69770a79663c62c8d6629fdf3fcbc360a'>include</a>/<a href='/cgit.cgi/linux/net-next.git/log/include/crypto?id=f225e4e69770a79663c62c8d6629fdf3fcbc360a'>crypto</a>/<a href='/cgit.cgi/linux/net-next.git/log/include/crypto/public_key.h?id=f225e4e69770a79663c62c8d6629fdf3fcbc360a'>public_key.h</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/cgit.cgi/linux/net-next.git/log/include/crypto/public_key.h?id=f225e4e69770a79663c62c8d6629fdf3fcbc360a&showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Files</th><th class='left'>Lines</th></tr>