Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Apr 2018 12:33:47 +0000 (UTC)
From:      Ruslan Bukin <br@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r332012 - in vendor/opencsd: . dist dist/decoder dist/decoder/build dist/decoder/build/linux dist/decoder/build/linux/rctdl_c_api_lib dist/decoder/build/linux/ref_trace_decode_lib dist/...
Message-ID:  <201804041233.w34CXleW015734@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: br
Date: Wed Apr  4 12:33:46 2018
New Revision: 332012
URL: https://svnweb.freebsd.org/changeset/base/332012

Log:
  Import OpenCSD -- an ARM CoreSight Trace Decode library.
  
  Git ID 900407e9d6400f6541138d6c2e483a9fc2d699a4
  
  Sponsored by:	DARPA, AFRL

Added:
  vendor/opencsd/
  vendor/opencsd/dist/
  vendor/opencsd/dist/.gitignore
  vendor/opencsd/dist/HOWTO.md
  vendor/opencsd/dist/LICENSE
  vendor/opencsd/dist/README.md
  vendor/opencsd/dist/TODO
  vendor/opencsd/dist/decoder/
  vendor/opencsd/dist/decoder/build/
  vendor/opencsd/dist/decoder/build/linux/
  vendor/opencsd/dist/decoder/build/linux/makefile   (contents, props changed)
  vendor/opencsd/dist/decoder/build/linux/rctdl_c_api_lib/
  vendor/opencsd/dist/decoder/build/linux/rctdl_c_api_lib/makefile   (contents, props changed)
  vendor/opencsd/dist/decoder/build/linux/ref_trace_decode_lib/
  vendor/opencsd/dist/decoder/build/linux/ref_trace_decode_lib/makefile   (contents, props changed)
  vendor/opencsd/dist/decoder/build/win-vs2015/
  vendor/opencsd/dist/decoder/build/win-vs2015/opencsd.props
  vendor/opencsd/dist/decoder/build/win-vs2015/rctdl_c_api_lib/
  vendor/opencsd/dist/decoder/build/win-vs2015/rctdl_c_api_lib/rctdl_c_api_lib.vcxproj
  vendor/opencsd/dist/decoder/build/win-vs2015/rctdl_c_api_lib/rctdl_c_api_lib.vcxproj.filters
  vendor/opencsd/dist/decoder/build/win-vs2015/ref_trace_decode_lib/
  vendor/opencsd/dist/decoder/build/win-vs2015/ref_trace_decode_lib/ref_trace_decode_lib.sln
  vendor/opencsd/dist/decoder/build/win-vs2015/ref_trace_decode_lib/ref_trace_decode_lib.vcxproj
  vendor/opencsd/dist/decoder/build/win-vs2015/ref_trace_decode_lib/ref_trace_decode_lib.vcxproj.filters
  vendor/opencsd/dist/decoder/docs/
  vendor/opencsd/dist/decoder/docs/build_libs.md
  vendor/opencsd/dist/decoder/docs/doxygen_config.dox
  vendor/opencsd/dist/decoder/docs/external_custom.md
  vendor/opencsd/dist/decoder/docs/specs/
  vendor/opencsd/dist/decoder/docs/specs/ARM Trace and Debug Snapshot file format 0v2.pdf   (contents, props changed)
  vendor/opencsd/dist/decoder/docs/test_progs.md
  vendor/opencsd/dist/decoder/include/
  vendor/opencsd/dist/decoder/include/common/
  vendor/opencsd/dist/decoder/include/common/comp_attach_notifier_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/comp_attach_pt_t.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/ocsd_code_follower.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/ocsd_dcd_mngr.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/ocsd_dcd_mngr_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/ocsd_dcd_tree.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/ocsd_dcd_tree_elem.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/ocsd_error.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/ocsd_error_logger.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/ocsd_gen_elem_list.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/ocsd_lib_dcd_register.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/ocsd_msg_logger.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/ocsd_pe_context.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/ocsd_version.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/trc_component.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/trc_core_arch_map.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/trc_cs_config.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/trc_frame_deformatter.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/trc_gen_elem.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/trc_pkt_decode_base.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/trc_pkt_elem_base.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/trc_pkt_proc_base.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/trc_printable_elem.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/common/trc_ret_stack.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/i_dec/
  vendor/opencsd/dist/decoder/include/i_dec/trc_i_decode.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/i_dec/trc_idec_arminst.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/interfaces/
  vendor/opencsd/dist/decoder/include/interfaces/trc_abs_typed_base_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/interfaces/trc_data_raw_in_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/interfaces/trc_data_rawframe_in_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/interfaces/trc_error_log_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/interfaces/trc_gen_elem_in_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/interfaces/trc_indexer_pkt_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/interfaces/trc_indexer_src_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/interfaces/trc_instr_decode_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/interfaces/trc_pkt_in_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/interfaces/trc_pkt_raw_in_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/interfaces/trc_tgt_mem_access_i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/mem_acc/
  vendor/opencsd/dist/decoder/include/mem_acc/trc_mem_acc.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/mem_acc/trc_mem_acc_base.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/mem_acc/trc_mem_acc_bufptr.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/mem_acc/trc_mem_acc_cb.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/mem_acc/trc_mem_acc_cb_if.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/mem_acc/trc_mem_acc_file.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/mem_acc/trc_mem_acc_mapper.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/ocsd_if_version.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/
  vendor/opencsd/dist/decoder/include/opencsd.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/c_api/
  vendor/opencsd/dist/decoder/include/opencsd/c_api/ocsd_c_api_cust_fact.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/c_api/ocsd_c_api_cust_impl.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/c_api/ocsd_c_api_custom.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/c_api/ocsd_c_api_types.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/c_api/opencsd_c_api.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv3/
  vendor/opencsd/dist/decoder/include/opencsd/etmv3/etmv3_decoder.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv3/trc_cmp_cfg_etmv3.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv3/trc_dcd_mngr_etmv3.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv3/trc_pkt_decode_etmv3.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv3/trc_pkt_elem_etmv3.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv3/trc_pkt_proc_etmv3.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv3/trc_pkt_types_etmv3.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv4/
  vendor/opencsd/dist/decoder/include/opencsd/etmv4/etmv4_decoder.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv4/trc_cmp_cfg_etmv4.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv4/trc_dcd_mngr_etmv4i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv4/trc_etmv4_stack_elem.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv4/trc_pkt_decode_etmv4i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv4/trc_pkt_elem_etmv4d.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv4/trc_pkt_elem_etmv4i.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv4/trc_pkt_proc_etmv4.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/etmv4/trc_pkt_types_etmv4.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/ocsd_if_types.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/ptm/
  vendor/opencsd/dist/decoder/include/opencsd/ptm/ptm_decoder.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/ptm/trc_cmp_cfg_ptm.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/ptm/trc_dcd_mngr_ptm.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/ptm/trc_pkt_decode_ptm.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/ptm/trc_pkt_elem_ptm.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/ptm/trc_pkt_proc_ptm.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/ptm/trc_pkt_types_ptm.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/stm/
  vendor/opencsd/dist/decoder/include/opencsd/stm/stm_decoder.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/stm/trc_cmp_cfg_stm.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/stm/trc_dcd_mngr_stm.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/stm/trc_pkt_decode_stm.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/stm/trc_pkt_elem_stm.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/stm/trc_pkt_proc_stm.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/stm/trc_pkt_types_stm.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/trc_gen_elem_types.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/opencsd/trc_pkt_types.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/pkt_printers/
  vendor/opencsd/dist/decoder/include/pkt_printers/gen_elem_printer.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/pkt_printers/item_printer.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/pkt_printers/pkt_printer_t.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/pkt_printers/raw_frame_printer.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/pkt_printers/trc_pkt_printers.h   (contents, props changed)
  vendor/opencsd/dist/decoder/include/pkt_printers/trc_print_fact.h   (contents, props changed)
  vendor/opencsd/dist/decoder/source/
  vendor/opencsd/dist/decoder/source/c_api/
  vendor/opencsd/dist/decoder/source/c_api/ocsd_c_api.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/c_api/ocsd_c_api_custom_obj.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/c_api/ocsd_c_api_custom_obj.h   (contents, props changed)
  vendor/opencsd/dist/decoder/source/c_api/ocsd_c_api_obj.h   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv3/
  vendor/opencsd/dist/decoder/source/etmv3/trc_cmp_cfg_etmv3.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv3/trc_pkt_decode_etmv3.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv3/trc_pkt_elem_etmv3.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv3/trc_pkt_proc_etmv3.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv3/trc_pkt_proc_etmv3_impl.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv3/trc_pkt_proc_etmv3_impl.h   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv4/
  vendor/opencsd/dist/decoder/source/etmv4/trc_cmp_cfg_etmv4.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv4/trc_etmv4_stack_elem.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv4/trc_pkt_decode_etmv4i.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv4/trc_pkt_elem_etmv4d.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv4/trc_pkt_elem_etmv4i.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv4/trc_pkt_proc_etmv4.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv4/trc_pkt_proc_etmv4d_impl.h   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv4/trc_pkt_proc_etmv4i_impl.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/etmv4/trc_pkt_proc_etmv4i_impl.h   (contents, props changed)
  vendor/opencsd/dist/decoder/source/i_dec/
  vendor/opencsd/dist/decoder/source/i_dec/trc_i_decode.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/i_dec/trc_idec_arminst.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/mem_acc/
  vendor/opencsd/dist/decoder/source/mem_acc/trc_mem_acc_base.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/mem_acc/trc_mem_acc_bufptr.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/mem_acc/trc_mem_acc_cb.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/mem_acc/trc_mem_acc_file.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/mem_acc/trc_mem_acc_mapper.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/ocsd_code_follower.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/ocsd_dcd_tree.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/ocsd_error.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/ocsd_error_logger.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/ocsd_gen_elem_list.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/ocsd_lib_dcd_register.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/ocsd_msg_logger.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/ocsd_version.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/pkt_printers/
  vendor/opencsd/dist/decoder/source/pkt_printers/raw_frame_printer.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/pkt_printers/trc_print_fact.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/ptm/
  vendor/opencsd/dist/decoder/source/ptm/trc_cmp_cfg_ptm.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/ptm/trc_pkt_decode_ptm.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/ptm/trc_pkt_elem_ptm.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/ptm/trc_pkt_proc_ptm.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/stm/
  vendor/opencsd/dist/decoder/source/stm/trc_pkt_decode_stm.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/stm/trc_pkt_elem_stm.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/stm/trc_pkt_proc_stm.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/trc_component.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/trc_core_arch_map.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/trc_frame_deformatter.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/trc_frame_deformatter_impl.h   (contents, props changed)
  vendor/opencsd/dist/decoder/source/trc_gen_elem.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/trc_printable_elem.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/source/trc_ret_stack.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/
  vendor/opencsd/dist/decoder/tests/build/
  vendor/opencsd/dist/decoder/tests/build/linux/
  vendor/opencsd/dist/decoder/tests/build/linux/c_api_pkt_print_test/
  vendor/opencsd/dist/decoder/tests/build/linux/c_api_pkt_print_test/makefile   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/build/linux/echo_test_dcd_lib/
  vendor/opencsd/dist/decoder/tests/build/linux/echo_test_dcd_lib/makefile   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/build/linux/snapshot_parser_lib/
  vendor/opencsd/dist/decoder/tests/build/linux/snapshot_parser_lib/makefile   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/build/linux/trc_pkt_lister/
  vendor/opencsd/dist/decoder/tests/build/linux/trc_pkt_lister/makefile   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/c_api_pkt_print_test/
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/c_api_pkt_print_test/c_api_pkt_print_test.vcxproj
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/c_api_pkt_print_test/c_api_pkt_print_test.vcxproj.filters
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/ext_dcd_echo_test/
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/ext_dcd_echo_test/ext_dcd_echo_test.vcxproj
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/ext_dcd_echo_test/ext_dcd_echo_test.vcxproj.filters
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/snapshot_parser_lib/
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/snapshot_parser_lib/snapshot_parser_lib.vcxproj
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/snapshot_parser_lib/snapshot_parser_lib.vcxproj.filters
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/trc_pkt_lister/
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/trc_pkt_lister/trc_pkt_lister.vcxproj
  vendor/opencsd/dist/decoder/tests/build/win-vs2015/trc_pkt_lister/trc_pkt_lister.vcxproj.filters
  vendor/opencsd/dist/decoder/tests/ext_dcd_test_eg/
  vendor/opencsd/dist/decoder/tests/ext_dcd_test_eg/c_api_echo_test/
  vendor/opencsd/dist/decoder/tests/ext_dcd_test_eg/c_api_echo_test/ext_dcd_echo_test.c   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/ext_dcd_test_eg/c_api_echo_test/ext_dcd_echo_test.h   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/ext_dcd_test_eg/c_api_echo_test/ext_dcd_echo_test_fact.c   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/ext_dcd_test_eg/c_api_echo_test/ext_dcd_echo_test_fact.h   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/perf-test-scripts/
  vendor/opencsd/dist/decoder/tests/perf-test-scripts/perf-setup-env.bash   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/perf-test-scripts/perf-test-report.bash   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/perf-test-scripts/perf-test-script.bash   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/include/
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/include/device_info.h   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/include/device_parser.h   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/include/ini_section_names.h   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/include/snapshot_info.h   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/include/snapshot_parser.h   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/include/snapshot_parser_util.h   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/include/snapshot_reader.h   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/include/ss_key_value_names.h   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/include/ss_to_dcdtree.h   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/include/trace_snapshots.h   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/source/
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/source/device_info.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/source/device_parser.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/source/snapshot_parser.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/source/snapshot_parser_util.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/source/snapshot_reader.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/snapshot_parser_lib/source/ss_to_dcdtree.cpp   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/source/
  vendor/opencsd/dist/decoder/tests/source/c_api_pkt_print_test.c   (contents, props changed)
  vendor/opencsd/dist/decoder/tests/source/trc_pkt_lister.cpp   (contents, props changed)

Added: vendor/opencsd/dist/.gitignore
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/opencsd/dist/.gitignore	Wed Apr  4 12:33:46 2018	(r332012)
@@ -0,0 +1,76 @@
+# Object files
+*.o
+*.ko
+*.obj
+*.elf
+
+# Precompiled Headers
+*.gch
+*.pch
+
+# Libraries
+*.lib
+*.a
+*.la
+*.lo
+
+# Shared objects (inc. Windows DLLs)
+*.dll
+*.so
+*.so.*
+*.dylib
+
+# Executables
+*.exe
+*.out
+*.app
+*.i*86
+*.x86_64
+*.hex
+
+# Debug files
+*.dSYM/
+
+# Vc++ build files
+*tlog
+Debug/
+ipch/
+*.opensdf
+*.sdf
+*.suo
+*.user
+*.idb
+*.pdb
+*.exp
+*.ilk
+
+# ignore emacs backup saves
+*~
+
+# ignore bin test directory
+bin/
+*.log
+ref_trace_decoder/build/win/rctdl_c_api_lib/Release/*
+ref_trace_decoder/build/win/rctdl_c_api_lib/x64/Release/*
+ref_trace_decoder/build/win/ref_trace_decode_lib/Release/*
+ref_trace_decoder/build/win/ref_trace_decode_lib/x64/Release/*
+ref_trace_decoder/tests/build/win/simple_pkt_print_c_api/Release/*
+ref_trace_decoder/tests/build/win/simple_pkt_print_c_api/x64/Release/*
+*.lastbuildstate
+*.manifest
+*.cache
+ref_trace_decoder/docs/html/*
+ref_trace_decoder/tests/build/win/simple_pkt_print_c_api/Debug-dll/*
+ref_trace_decoder/tests/build/win/simple_pkt_print_c_api/x64/Debug-dll/*
+ref_trace_decoder/tests/build/win/trc_pkt_lister/Debug-dll/*
+ref_trace_decoder/tests/build/win/trc_pkt_lister/Release-dll/*
+ref_trace_decoder/tests/build/win/trc_pkt_lister/x64/Debug-dll/*
+ref_trace_decoder/tests/build/win/trc_pkt_lister/x64/Release-dll/*
+*.bak
+*.orig
+decoder/docs/html/*
+*.orig
+*.VC.db
+*.VC.VC.opendb
+*.iobj
+*.ipdb

Added: vendor/opencsd/dist/HOWTO.md
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/opencsd/dist/HOWTO.md	Wed Apr  4 12:33:46 2018	(r332012)
@@ -0,0 +1,661 @@
+HOWTO - using the library with perf   {#howto_perf}
+===================================
+
+@brief Using command line perf and OpenCSD to collect and decode trace.
+
+This HOWTO explains how to use the perf cmd line tools and the openCSD
+library to collect and extract program flow traces generated by the 
+CoreSight IP blocks on a Linux system.  The examples have been generated using
+an aarch64 Juno-r0 platform.  All information is considered accurate and tested
+using the latest version of the library and the `master` branch on the
+[perf-opencsd github repository][1].
+
+
+On Target Trace Acquisition - Perf Record
+-----------------------------------------
+All the enhancement to the Perf tools that support the new `cs_etm` pmu have
+not been upstreamed yet.  To get the required functionality branch
+`perf-opencsd-master` needs to be downloaded to the target system where
+traces are to be collected.  This branch is a vanilla upstream kernel
+supplemented with modifications to the CoreSight framework and drivers to be
+usable by the Perf core.  The remaining out of tree patches are being
+upstreamed incrementally.
+
+From there compiling the perf tools with `make -C tools/perf` will yield a
+`perf` executable that will support CoreSight trace collection.  Note that if
+traces are to be decompressed *off* target, there is no need to download and
+compile the openCSD library (on the target).
+
+Before launching a trace run a sink that will collect trace data needs to be
+identified.  All CoreSight blocks identified by the framework are registed in
+sysFS:
+
+
+    linaro@linaro-nano:~$ ls /sys/bus/coresight/devices/
+    20010000.etf   20040000.main_funnel  22040000.etm 22140000.etm  
+    230c0000.A53_funnel  23240000.etm  replicator@20020000 20030000.tpiu
+    20070000.etr 220c0000.A57_funnel  23040000.etm  23140000.etm 23340000.etm
+
+
+CoreSight blocks are listed in the device tree for a specific system and
+discovered at boot time.  Since tracers can be linked to more than one sink,
+the sink that will recieve trace data needs to be identified and given as an
+option on the perf command line.  Once a sink has been identify trace collection
+can start.  An easy and yet interesting example is the `uname` command:
+
+    linaro@linaro-nano:~/kernel$ ./tools/perf/perf record -e cs_etm/@20070000.etr/ --per-thread uname
+
+This will generate a `perf.data` file where execution has been traced for both
+user and kernel space.  To narrow the field to either user or kernel space the
+`u` and `k` options can be specified.  For example the following will limit
+traces to user space:
+
+
+    linaro@linaro-nano:~/kernel$ ./tools/perf/perf record -vvv -e cs_etm/@20070000.etr/u --per-thread uname
+    Problems setting modules path maps, continuing anyway...
+    -----------------------------------------------------------
+    perf_event_attr:
+      type                             8
+      size                             112
+      { sample_period, sample_freq }   1
+      sample_type                      IP|TID|IDENTIFIER
+      read_format                      ID
+      disabled                         1
+      exclude_kernel                   1
+      exclude_hv                       1
+      enable_on_exec                   1
+      sample_id_all                    1
+    ------------------------------------------------------------
+    sys_perf_event_open: pid 11375  cpu -1  group_fd -1  flags 0x8
+    ------------------------------------------------------------
+    perf_event_attr:
+      type                             1
+      size                             112
+      config                           0x9
+      { sample_period, sample_freq }   1
+      sample_type                      IP|TID|IDENTIFIER
+      read_format                      ID
+      disabled                         1
+      exclude_kernel                   1
+      exclude_hv                       1
+      mmap                             1
+      comm                             1
+      enable_on_exec                   1
+      task                             1
+      sample_id_all                    1
+      mmap2                            1
+      comm_exec                        1
+    ------------------------------------------------------------
+    sys_perf_event_open: pid 11375  cpu -1  group_fd -1  flags 0x8
+    mmap size 266240B
+    AUX area mmap length 131072
+    perf event ring buffer mmapped per thread
+    Synthesizing auxtrace information
+    Linux
+    auxtrace idx 0 old 0 head 0x11ea0 diff 0x11ea0
+    [ perf record: Woken up 1 times to write data ]
+    overlapping maps:
+     7f99daf000-7f99db0000 0 [vdso]
+     7f99d84000-7f99db3000 0 /lib/aarch64-linux-gnu/ld-2.21.so
+     7f99d84000-7f99daf000 0 /lib/aarch64-linux-gnu/ld-2.21.so
+     7f99db0000-7f99db3000 0 /lib/aarch64-linux-gnu/ld-2.21.so
+    failed to write feature 8
+    failed to write feature 9
+    failed to write feature 14
+    [ perf record: Captured and wrote 0.072 MB perf.data ]
+
+    linaro@linaro-nano:~/kernel$ ls -l ~/.debug/ perf.data
+    _-rw------- 1 linaro linaro 77888 Mar  2 20:41 perf.data
+
+    /home/linaro/.debug/:
+    total 16
+    drwxr-xr-x 2 linaro linaro 4096 Mar  2 20:40 [kernel.kallsyms]
+    drwxr-xr-x 2 linaro linaro 4096 Mar  2 20:40 [vdso]
+    drwxr-xr-x 3 linaro linaro 4096 Mar  2 20:40 bin
+    drwxr-xr-x 3 linaro linaro 4096 Mar  2 20:40 lib
+
+Trace data filtering
+--------------------
+The amount of traces generated by CoreSight tracers is staggering, event for
+the most simple trace scenario.  Reducing trace generation to specific areas
+of interest is desirable to save trace buffer space and avoid getting lost in
+the trace data that isn't relevant.  Supplementing the 'k' and 'u' options
+described above is the notion of address filters.
+
+On CoreSight two types of address filter have been implemented - address range
+and start/stop filter:
+
+**Address range filters:**
+With address range filters traces are generated if the instruction pointer
+falls within the specified range.  Any work done by the CPU outside of that
+range will not be traced.  Address range filters can be specified for both
+user and kernel space session:
+
+    perf record -e cs_etm/@20070000.etr/k --filter 'filter 0xffffff8008562d0c/0x48' --per-thread uname
+
+    perf record -e cs_etm/@20070000.etr/u --filter 'filter 0x72c/0x40@/opt/lib/libcstest.so.1.0' --per-thread ./main
+
+When dealing with kernel space trace addresses are typically taken in the
+'System.map' file.  In user space addresses are relocatable and can be
+extracted from an objdump output:
+
+    $ aarch64-linux-gnu-objdump  -d libcstest.so.1.0
+    ...
+    ...
+    000000000000072c <coresight_test1>:		<------------ Beginning of traces
+     72c:	d10083ff 	sub	sp, sp, #0x20
+     730:	b9000fe0 	str	w0, [sp,#12]
+     734:	b9001fff 	str	wzr, [sp,#28]
+     738:	14000007 	b	754 <coresight_test1+0x28>
+     73c:	b9400fe0 	ldr	w0, [sp,#12]
+     740:	11000800 	add	w0, w0, #0x2
+     744:	b9000fe0 	str	w0, [sp,#12]
+     748:	b9401fe0 	ldr	w0, [sp,#28]
+     74c:	11000400 	add	w0, w0, #0x1
+     750:	b9001fe0 	str	w0, [sp,#28]
+     754:	b9401fe0 	ldr	w0, [sp,#28]
+     758:	7100101f 	cmp	w0, #0x4
+     75c:	54ffff0d 	b.le	73c <coresight_test1+0x10>
+     760:	b9400fe0 	ldr	w0, [sp,#12]
+     764:	910083ff 	add	sp, sp, #0x20
+     768:	d65f03c0 	ret
+    ...
+    ...
+
+Following the address the amount of byte is specified and if tracing in user
+space, the full path to the binary (or library) being traced.
+
+**Start/Stop filters:**
+With start/stop filters traces are generated when the instruction pointer is
+equal to the start address.  Incidentally traces stop being generated when the
+insruction pointer is equal to the stop address.  Anything that happens between
+there to events is traced:
+
+    perf record -e cs_etm/@20070000.etr/k --filter 'start 0xffffff800856bc50,stop 0xffffff800856bcb0' --per-thread uname
+
+    perf record -vvv -e cs_etm/@20070000.etr/u --filter 'start 0x72c@/opt/lib/libcstest.so.1.0,    \
+                                                         stop 0x40082c@/home/linaro/main'          \
+                                                         --per-thread ./main
+
+**Limitation on address filters:**
+The only limitation on address filters is the amount of address comparator
+found on an implementation and the mutual exclusion between range and
+start stop filters.  As such the following example would _not_ work:
+
+    perf record -e cs_etm/@20070000.etr/k --filter 'start 0xffffff800856bc50,stop 0xffffff800856bcb0, \  // start/stop
+                                                    filter 0x72c/0x40@/opt/lib/libcstest.so.1.0'      \  // address range
+                                                    --per-thread uname
+
+Additional Trace Options
+------------------------
+Additional options can be used during trace collection that add information to the captured trace.
+
+- Timestamps: These packets are added to the trace streams to allow correlation of different sources where tools support this.
+- Cycle Counts: These packets are added to get a count of cycles for blocks of executed instructions. Adding cycle counts will considerably increase the amount of generated trace.
+The relationship between cycle counts and executed instructions differs according to the trace protocol.
+For example, the ETMv4 protocol will emit counts for groups of instructions according to a minimum count threshold.
+Presently this threshold is fixed at 256 cycles for `perf record`.
+
+Command line options in `perf record` to use these features are part of the options for the `cs_etm` event:
+
+    perf record -e cs_etm/timestamp,cycacc,@20070000.etr/ --per-thread uname
+
+At current version,  `perf record` and `perf script` do not use this additional information.
+
+On Target Trace Collection
+--------------------------
+The entire program flow will have been recorded in the `perf.data` file.
+Information about libraries and executable is stored under `$HOME/.debug`:
+
+    linaro@linaro-nano:~/kernel$ tree ~/.debug
+    .debug
+    ├── [kernel.kallsyms]
+    │   └── 0542921808098d591a7acba5a1163e8991897669
+    │       └── kallsyms
+    ├── [vdso]
+    │   └── 551fbbe29579eb63be3178a04c16830b8d449769
+    │       └── vdso
+    ├── bin
+    │   └── uname
+    │       └── ed95e81f97c4471fb2ccc21e356b780eb0c92676
+    │           └── elf
+    └── lib
+        └── aarch64-linux-gnu
+            ├── ld-2.21.so
+            │   └── 94912dc5a1dc8c7ef2c4e4649d4b1639b6ebc8b7
+            │       └── elf
+            └── libc-2.21.so
+                └── 169a143e9c40cfd9d09695333e45fd67743cd2d6
+                    └── elf
+
+    13 directories, 5 files
+    linaro@linaro-nano:~/kernel$
+
+
+All this information needs to be collected in order to successfully decode
+traces off target:
+
+    linaro@linaro-nano:~/kernel$ tar czf uname.trace.tgz perf.data ~/.debug
+
+
+Note that file `vmlinux` should also be added to the bundle if kernel traces
+have also been collected.
+
+
+Off Target OpenCSD Compilation
+------------------------------
+The openCSD library is not part of the perf tools.  It is available on
+[github][1] and needs to be compiled before the perf tools. Checkout the
+required branch/tag version into a local directory.
+
+    linaro@t430:~/linaro/coresight$ git clone -b v0.8 https://github.com/Linaro/OpenCSD.git my-opencsd
+    Cloning into 'OpenCSD'...
+    remote: Counting objects: 2063, done.
+    remote: Total 2063 (delta 0), reused 0 (delta 0), pack-reused 2063
+    Receiving objects: 100% (2063/2063), 2.51 MiB | 1.24 MiB/s, done.
+    Resolving deltas: 100% (1399/1399), done.
+    Checking connectivity... done.
+    linaro@t430:~/linaro/coresight$ ls my-opencsd
+    decoder LICENSE  README.md HOWTO.md TODO
+
+Once the source code has been acquired compilation of the openCSD library can
+take place.  For Linux two options are available, LINUX and LINUX64, based on
+the host's (which has nothing to do with the target) architecture:
+
+    linaro@t430:~/linaro/coresight/$ cd my-opencsd/decoder/build/linux/
+    linaro@t430:~/linaro/coresight/my-opencsd/decoder/build/linux$ ls
+    makefile  rctdl_c_api_lib  ref_trace_decode_lib
+
+    linaro@t430:~/linaro/coresight/my-opencsd/decoder/build/linux$ make LINUX64=1 DEBUG=1
+    ...
+    ...
+
+    linaro@t430:~/linaro/coresight/my-opencsd/decoder/build/linux$ ls ../../lib/linux64/dbg/
+    libopencsd.a  libopencsd_c_api.a  libopencsd_c_api.so  libopencsd.so
+
+From there the header file and libraries need to be installed on the system,
+something that requires root privileges.  The default installation path is
+/usr/include/opencsd for the header files and /usr/lib/ for the libraries:
+
+    linaro@t430:~/linaro/coresight/my-opencsd/decoder/build/linux$ sudo make install
+    linaro@t430:~/linaro/coresight/my-opencsd/decoder/build/linux$ ls -l /usr/include/opencsd
+    total 60
+    drwxr-xr-x 2 root root  4096 Dec 12 10:19 c_api
+    drwxr-xr-x 2 root root  4096 Dec 12 10:19 etmv3
+    drwxr-xr-x 2 root root  4096 Dec 12 10:19 etmv4
+    -rw-r--r-- 1 root root 28049 Dec 12 10:19 ocsd_if_types.h
+    drwxr-xr-x 2 root root  4096 Dec 12 10:19 ptm
+    drwxr-xr-x 2 root root  4096 Dec 12 10:19 stm
+    -rw-r--r-- 1 root root  7264 Dec 12 10:19 trc_gen_elem_types.h
+    -rw-r--r-- 1 root root  3972 Dec 12 10:19 trc_pkt_types.h
+
+    linaro@t430:~/linaro/coresight/my-opencsd/decoder/build/linux$ ls -l /usr/lib/libopencsd*
+    -rw-r--r-- 1 root root  598720 Dec 12 10:19 /usr/lib/libopencsd_c_api.so
+    -rw-r--r-- 1 root root 4692200 Dec 12 10:19 /usr/lib/libopencsd.so
+
+A "clean_install" target is also available so that openCSD installed files can
+be removed from a system.  Going forward the goal is to have the openCSD library
+packaged as a Debian or RPM archive so that it can be installed from a
+distribution without having to be compiled.
+
+
+Off Target Perf Tools Compilation
+---------------------------------
+As mentionned above the openCSD library is not part of the perf tools' code base
+and needs to be installed on a system prior to compilation.  Information about
+the status of the openCSD library on a system is given at compile time by the
+perf tools build script:
+
+    linaro@t430:~/linaro/linux-kernel$ make VF=1 -C tools/perf
+    Auto-detecting system features:
+    ...                         dwarf: [ on  ]
+    ...            dwarf_getlocations: [ on  ]
+    ...                         glibc: [ on  ]
+    ...                          gtk2: [ on  ]
+    ...                      libaudit: [ on  ]
+    ...                        libbfd: [ OFF ]
+    ...                        libelf: [ on  ]
+    ...                       libnuma: [ OFF ]
+    ...        numa_num_possible_cpus: [ OFF ]
+    ...                       libperl: [ on  ]
+    ...                     libpython: [ on  ]
+    ...                      libslang: [ on  ]
+    ...                     libcrypto: [ on  ]
+    ...                     libunwind: [ OFF ]
+    ...            libdw-dwarf-unwind: [ on  ]
+    ...                          zlib: [ on  ]
+    ...                          lzma: [ OFF ]
+    ...                     get_cpuid: [ on  ]
+    ...                           bpf: [ on  ]
+    ...                    libopencsd: [ on  ]  <-------
+
+
+At the end of the compilation a new perf binary is available in `tools/perf/`:
+
+    linaro@t430:~/linaro/linux-kernel$ ldd tools/perf/perf
+	linux-vdso.so.1 =>  (0x00007fff135db000)
+	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f15f9176000)
+	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f15f8f6e000)
+	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f15f8c64000)
+	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f15f8a60000)
+	libopencsd_c_api.so => /usr/lib/libopencsd_c_api.so (0x00007f15f884e000)   <-------
+	libelf.so.1 => /usr/lib/x86_64-linux-gnu/libelf.so.1 (0x00007f15f8635000)
+	libdw.so.1 => /usr/lib/x86_64-linux-gnu/libdw.so.1 (0x00007f15f83ec000)
+	libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007f15f81c5000)
+	libslang.so.2 => /lib/x86_64-linux-gnu/libslang.so.2 (0x00007f15f7e38000)
+	libperl.so.5.22 => /usr/lib/x86_64-linux-gnu/libperl.so.5.22 (0x00007f15f7a5d000)
+	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f15f7693000)
+	libpython2.7.so.1.0 => /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 (0x00007f15f7104000)
+	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f15f6eea000)
+	/lib64/ld-linux-x86-64.so.2 (0x0000559b88038000)
+	libopencsd.so => /usr/lib/libopencsd.so (0x00007f15f6c62000)    <-------
+	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f15f68df000)
+	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f15f66c9000)
+	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f15f64a6000)
+	libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f15f6296000)
+	libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f15f605e000)
+	libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f15f5e5a000)
+
+
+Additional debug output from the decoder can be compiled in by setting the
+`CSTRACE_RAW` environment variable. Setting this to `packed` gets trace frame
+output as follows:-
+
+    Frame Data; Index    576;    RAW_PACKED; d6 d6 d6 d6 d6 d6 d6 d6 fc fb d6 d6 d6 d6 e0 7f 
+    Frame Data; Index    576;   ID_DATA[0x14]; d7 d6 d7 d6 d7 d6 d7 d6 fd fb d7 d6 d7 d6 e0
+    
+Set to any other value will remove the RAW_PACKED lines.
+
+Working with a debug version of the openCSD library
+---------------------------------------------------
+When compiling the perf tools it is possible to reference another version of
+the openCSD library than the one installed on the system.  This is useful when
+working with multiple development trees or having the desire to keep system
+libraries intact.  Two environment variable are available to tell the perf tools
+build script where to get the header file and libraries, namely CSINCLUDES and
+CSLIBS:
+
+    linaro@t430:~/linaro/linux-kernel$ export CSINCLUDES=~/linaro/coresight/my-opencsd/decoder/include/
+    linaro@t430:~/linaro/linux-kernel$ export CSLIBS=~/linaro/coresight/my-opencsd/decoder/lib/linux64-rel/
+    linaro@t430:~/linaro/linux-kernel$ make VF=1 -C tools/perf
+
+This will have the effect of compiling and linking against the provided library.
+Since the system's openCSD library is in the loader's search patch the
+LD_LIBRARY_PATH environment variable needs to be set.
+
+    linaro@t430:~/linaro/linux-kernel$ export LD_LIBRARY_PATH=$CSLIBS
+
+
+Trace Decoding with Perf Report
+-------------------------------
+Before working with custom traces it is suggested to use a trace bundle that
+is known to be working properly.  A sample bundle has been made available
+here [2].  Trace bundles can be extracted anywhere and have no dependencies on
+where the perf tools and openCSD library have been compiled. 
+
+    linaro@t430:~/linaro/coresight$ mkdir sept20
+    linaro@t430:~/linaro/coresight$ cd sept20
+    linaro@t430:~/linaro/coresight/sept20$ wget http://people.linaro.org/~mathieu.poirier/openCSD/uname.v4.user.sept20.tgz
+    linaro@t430:~/linaro/coresight/sept20$ md5sum uname.v4.user.sept20.tgz
+    f53f11d687ce72bdbe9de2e67e960ec6  uname.v4.user.sept20.tgz
+    linaro@t430:~/linaro/coresight/sept20$ tar xf uname.v4.user.sept20.tgz
+    linaro@t430:~/linaro/coresight/sept20$ ls -la
+    total 1312
+    drwxrwxr-x 3 linaro linaro    4096 Mar  3 10:26 .
+    drwxrwxr-x 5 linaro linaro    4096 Mar  3 10:13 ..
+    drwxr-xr-x 7 linaro linaro    4096 Feb 24 12:21 .debug
+    -rw------- 1 linaro linaro   78016 Feb 24 12:21 perf.data
+    -rw-rw-r-- 1 linaro linaro 1245881 Feb 24 12:25 uname.v4.user.sept20.tgz
+
+Perf is expecting files related to the trace capture (`perf.data`) to be located
+under `~/.debug` [3].  This example will remove the current `~/.debug` directory
+to be sure everything is clean.  
+
+    linaro@t430:~/linaro/coresight/sept20$ rm -rf ~/.debug
+    linaro@t430:~/linaro/coresight/sept20$ cp -dpR .debug ~/
+    linaro@t430:~/linaro/coresight/sept20$ ../perf-opencsd-master/tools/perf/perf report --stdio
+
+    # To display the perf.data header info, please use --header/--header-only options.
+    #
+    #
+    # Total Lost Samples: 0
+    #
+    # Samples: 0  of event 'cs_etm//u'
+    # Event count (approx.): 0
+    #
+    # Children      Self  Command  Shared Object  Symbol
+    # ........  ........  .......  .............  ......
+    #
+
+
+    # Samples: 0  of event 'dummy:u'
+    # Event count (approx.): 0
+    #
+    # Children      Self  Command  Shared Object  Symbol
+    # ........  ........  .......  .............  ......
+    #
+
+
+    # Samples: 115K of event 'instructions:u'
+    # Event count (approx.): 522009
+    #
+    # Children      Self  Command  Shared Object     Symbol                
+    # ........  ........  .......  ................  ......................
+    #
+         4.13%     4.13%  uname    libc-2.21.so      [.] 0x0000000000078758
+         3.81%     3.81%  uname    libc-2.21.so      [.] 0x0000000000078e50
+         2.06%     2.06%  uname    libc-2.21.so      [.] 0x00000000000fcaf4
+         1.65%     1.65%  uname    libc-2.21.so      [.] 0x00000000000fcae4
+         1.59%     1.59%  uname    ld-2.21.so        [.] 0x000000000000a7f4
+         1.50%     1.50%  uname    libc-2.21.so      [.] 0x0000000000078e40
+         1.43%     1.43%  uname    libc-2.21.so      [.] 0x00000000000fcac4
+         1.31%     1.31%  uname    libc-2.21.so      [.] 0x000000000002f0c0
+         1.26%     1.26%  uname    ld-2.21.so        [.] 0x0000000000016888
+         1.24%     1.24%  uname    libc-2.21.so      [.] 0x0000000000078e7c 
+         1.24%     1.24%  uname    libc-2.21.so      [.] 0x00000000000fcab8
+    ...
+
+Additional data can be obtained, which contains a dump of the trace packets received using the command 
+
+    mjl@ubuntu-vbox:./perf-opencsd-master/coresight/tools/perf/perf report --stdio --dump
+
+resulting a large amount of data, trace looking like:-
+
+    0x618 [0x30]: PERF_RECORD_AUXTRACE size: 0x11ef0  offset: 0  ref: 0x4d881c1f13216016  idx: 0  tid: 15244  cpu: -1
+
+    . ... CoreSight ETM Trace data: size 73456 bytes
+
+      0: I_ASYNC : Alignment Synchronisation.
+      12: I_TRACE_INFO : Trace Info.
+      17: I_TRACE_ON : Trace On.
+      18: I_ADDR_CTXT_L_64IS0 : Address & Context, Long, 64 bit, IS0.; Addr=0x0000007F89F24D80; Ctxt: AArch64,EL0, NS; 
+      28: I_ATOM_F6 : Atom format 6.; EEEEEEEEEEEEEEEEEEEEEEEE
+      29: I_ATOM_F6 : Atom format 6.; EEEEEEEEEEEEEEEEEEEEEEEE
+      30: I_ATOM_F6 : Atom format 6.; EEEEEEEEEEEEEEEEEEEEEEEE
+      32: I_ATOM_F6 : Atom format 6.; EEEEN
+      33: I_ATOM_F1 : Atom format 1.; E
+      34: I_EXCEPT : Exception.;  Data Fault; Ret Addr Follows;
+      36: I_ADDR_L_64IS0 : Address, Long, 64 bit, IS0.; Addr=0x0000007F89F2832C; 
+      45: I_ADDR_CTXT_L_64IS0 : Address & Context, Long, 64 bit, IS0.; Addr=0xFFFFFFC000083400; Ctxt: AArch64,EL1, NS; 
+      56: I_TRACE_ON : Trace On.
+      57: I_ADDR_CTXT_L_64IS0 : Address & Context, Long, 64 bit, IS0.; Addr=0x0000007F89F2832C; Ctxt: AArch64,EL0, NS; 
+      68: I_ATOM_F3 : Atom format 3.; NEE
+      69: I_ATOM_F3 : Atom format 3.; NEN
+      70: I_ATOM_F3 : Atom format 3.; NNE
+      71: I_ATOM_F5 : Atom format 5.; ENENE
+      72: I_ATOM_F5 : Atom format 5.; NENEN
+      73: I_ATOM_F5 : Atom format 5.; ENENE
+      74: I_ATOM_F5 : Atom format 5.; NENEN
+      75: I_ATOM_F5 : Atom format 5.; ENENE
+      76: I_ATOM_F3 : Atom format 3.; NNE
+      77: I_ATOM_F3 : Atom format 3.; NNE
+      78: I_ATOM_F3 : Atom format 3.; NNE
+      80: I_ATOM_F3 : Atom format 3.; NNE
+      81: I_ATOM_F3 : Atom format 3.; ENN
+      82: I_EXCEPT : Exception.;  Data Fault; Ret Addr Follows;
+      84: I_ADDR_L_64IS0 : Address, Long, 64 bit, IS0.; Addr=0x0000007F89F283F0; 
+      93: I_ADDR_CTXT_L_64IS0 : Address & Context, Long, 64 bit, IS0.; Addr=0xFFFFFFC000083400; Ctxt: AArch64,EL1, NS; 
+      104: I_TRACE_ON : Trace On.
+      105: I_ADDR_CTXT_L_64IS0 : Address & Context, Long, 64 bit, IS0.; Addr=0x0000007F89F283F0; Ctxt: AArch64,EL0, NS; 
+      116: I_ATOM_F5 : Atom format 5.; NNNNN
+      117: I_ATOM_F5 : Atom format 5.; NNNNN
+
+
+Trace Decoding with Perf Script 
+-------------------------------
+Working with perf scripts needs more command line options but yields
+interesting results.
+
+    linaro@t430:~/linaro/coresight/sept20$ export EXEC_PATH=/home/linaro/coresight/perf-opencsd-master/tools/perf/
+    linaro@t430:~/linaro/coresight/sept20$ export SCRIPT_PATH=$EXEC_PATH/scripts/python/
+    linaro@t430:~/linaro/coresight/sept20$ export XTOOL_PATH=/your/aarch64/toolchain/path/bin/
+    linaro@t430:~/linaro/coresight/sept20$ ../perf-opencsd-master/tools/perf/perf --exec-path=${EXEC_PATH} script --script=python:${SCRIPT_PATH}/cs-trace-disasm.py -- -d ${XTOOL_PATH}/aarch64-linux-gnu-objdump
+
+              7f89f24d80:   910003e0        mov     x0, sp
+              7f89f24d84:   94000d53        bl      7f89f282d0 <free@plt+0x3790>
+              7f89f282d0:   d11203ff        sub     sp, sp, #0x480
+              7f89f282d4:   a9ba7bfd        stp     x29, x30, [sp,#-96]!
+              7f89f282d8:   910003fd        mov     x29, sp
+              7f89f282dc:   a90363f7        stp     x23, x24, [sp,#48]
+              7f89f282e0:   9101e3b7        add     x23, x29, #0x78
+              7f89f282e4:   a90573fb        stp     x27, x28, [sp,#80]
+              7f89f282e8:   a90153f3        stp     x19, x20, [sp,#16]
+              7f89f282ec:   aa0003fb        mov     x27, x0
+              7f89f282f0:   910a82e1        add     x1, x23, #0x2a0
+              7f89f282f4:   a9025bf5        stp     x21, x22, [sp,#32]
+              7f89f282f8:   a9046bf9        stp     x25, x26, [sp,#64]
+              7f89f282fc:   910102e0        add     x0, x23, #0x40
+              7f89f28300:   f800841f        str     xzr, [x0],#8
+              7f89f28304:   eb01001f        cmp     x0, x1
+              7f89f28308:   54ffffc1        b.ne    7f89f28300 <free@plt+0x37c0>
+              7f89f28300:   f800841f        str     xzr, [x0],#8
+              7f89f28304:   eb01001f        cmp     x0, x1
+              7f89f28308:   54ffffc1        b.ne    7f89f28300 <free@plt+0x37c0>
+              7f89f28300:   f800841f        str     xzr, [x0],#8
+              7f89f28304:   eb01001f        cmp     x0, x1
+              7f89f28308:   54ffffc1        b.ne    7f89f28300 <free@plt+0x37c0>
+
+Kernel Trace Decoding
+---------------------
+
+When dealing with kernel space traces the vmlinux file has to be communicated
+explicitely to perf using the "--vmlinux" command line option:
+
+    linaro@t430:~/linaro/coresight/sept20$ ../perf-opencsd-master/tools/perf/perf report --stdio --vmlinux=./vmlinux
+    ...
+    ...
+    linaro@t430:~/linaro/coresight/sept20$ ../perf-opencsd-master/tools/perf/perf script --vmlinux=./vmlinux
+
+When using scripts things get a little more convoluted.  Using the same example
+an above but for traces but for kernel traces, the command line becomes:
+
+    linaro@t430:~/linaro/coresight/sept20$ export EXEC_PATH=/home/linaro/coresight/perf-opencsd-master/tools/perf/
+    linaro@t430:~/linaro/coresight/sept20$ export SCRIPT_PATH=$EXEC_PATH/scripts/python/
+    linaro@t430:~/linaro/coresight/sept20$ export XTOOL_PATH=/your/aarch64/toolchain/path/bin/
+    linaro@t430:~/linaro/coresight/sept20$ ../perf-opencsd-master/tools/perf/perf --exec-path=${EXEC_PATH} script	\
+							--vmlinux=./vmlinux					\
+							--script=python:${SCRIPT_PATH}/cs-trace-disasm.py --	\
+							-d ${XTOOLS_PATH}/aarch64-linux-gnu-objdump		\
+							-k ./vmlinux
+    ...
+    ...
+
+The option "--vmlinux=./vmlinux" is interpreted by the "perf script" command
+the same way it if for "perf report".  The option "-k ./vmlinux" is dependant
+on the script being executed and has no related to the "--vmlinux", though it
+is highly advised to keep them synchronized.
+
+
+Perf Test Environment Scripts
+-----------------------------
+
+The decoder library comes with a number of `bash` scripts that ease the setting up of the
+offline build and test environment for perf, and executing tests. 
+
+These scripts can be found in
+
+    decoder/tests/perf-test-scripts
+
+There are three scripts provided:
+
+- `perf-setup-env.bash`    : this sets up all the environment variables mentioned above.
+- `perf-test-report.bash`  : this runs `perf report` - using the environment setup by `perf-setup-env.bash`
+- `perf-test-script.bash`  : this runs `perf script` - using the environment setup by `perf-setup-env.bash`
+
+Use as follows:-
+
+1. Prior to building perf, edit `perf-setup-env.bash` to conform to your environment. There are four lines at the top of the file that will require editing.
+
+2. Execute the script using the command
+
+        source perf-setup-env.bash
+
+   This will set up all the environment variables mentioned in the sections on building and running
+   perf above, and these are used by the `perf-test...` scripts to run the tests.
+
+3. Build perf as described above.
+4. Follow the instructions for downloading the test capture, or create a capture from your target.
+5. Copy the `perf-test...` scripts into the capture data directory -> the one that contains `perf.data`.
+
+6. The scripts can now be run. No options are required for the default operation, but any command line options will be added to the perf report / perf script command line.
+
+e.g.
+
+        ./perf-test-report.bash --dump 
+
+will add the --dump option to the end of the command line and run
+
+        ${PERF_EXEC_PATH}/perf report --stdio --dump
+
+
+Generating coverage files for Feedback Directed Optimization: AutoFDO
+---------------------------------------------------------------------
+
+Below is an example of using ARM ETM for autoFDO. The updates to the perf
+support for this is experimental and available on the 'autoFDO' branch of
+the [perf-opencsd github repository][1].
+
+It also requires autofdo (https://github.com/google/autofdo) and gcc version 5.  The bubble
+sort example is from the AutoFDO tutorial (https://gcc.gnu.org/wiki/AutoFDO/Tutorial).
+
+        $ gcc-5 -O3 sort.c -o sort_optimized
+        $ taskset -c 2 ./sort_optimized
+        Bubble sorting array of 30000 elements
+        5910 ms
+
+        $ perf record -e cs_etm/@20070000.etr/u --per-thread taskset -c 2 ./sort
+        Bubble sorting array of 30000 elements
+        12543 ms
+        [ perf record: Woken up 35 times to write data ]
+        [ perf record: Captured and wrote 69.640 MB perf.data ]
+
+        $ perf inject -i perf.data -o inj.data --itrace=il64 --strip
+        $ create_gcov --binary=./sort --profile=inj.data --gcov=sort.gcov -gcov_version=1
+        $ gcc-5 -O3 -fauto-profile=sort.gcov sort.c -o sort_autofdo
+        $ taskset -c 2 ./sort_autofdo
+        Bubble sorting array of 30000 elements
+        5806 ms
+
+
+The Linaro CoreSight Team
+-------------------------
+- Mike Leach
+- Tor Jeremiassen
+- Chunyan Zang
+- Mathieu Poirier
+
+
+One Last Thing
+--------------
+We welcome help on this project.  If you would like to add features or help
+improve the way things work, we want to hear from you.
+
+Best regards,
+*The Linaro CoreSight Team*
+
+--------------------------------------
+[1]: https://github.com/Linaro/perf-opencsd "perf-opencsd Github"
+
+[2]: http://people.linaro.org/~mathieu.poirier/openCSD/uname.v4.user.sept20.tgz
+ 
+[3]: Get in touch with us if you know a way to change this.

Added: vendor/opencsd/dist/LICENSE
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/opencsd/dist/LICENSE	Wed Apr  4 12:33:46 2018	(r332012)
@@ -0,0 +1,30 @@
+                        BSD 3Clause License
+            http://directory.fsf.org/wiki/License:BSD_3Clause
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    (1) Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer. 
+
+    (2) Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.  
+    
+    (3)The name of the author may not be used to
+    endorse or promote products derived from this software without
+    specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.

Added: vendor/opencsd/dist/README.md
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/opencsd/dist/README.md	Wed Apr  4 12:33:46 2018	(r332012)
@@ -0,0 +1,132 @@
+OpenCSD - An open source CoreSight(tm) Trace Decode library        {#mainpage}
+===========================================================
+
+This library provides an API suitable for the decode of ARM(r) CoreSight(tm) trace streams.
+
+The library will decode formatted trace in three stages:
+
+1. *Frame Deformatting* : Removal CoreSight frame formatting from individual trace streams.
+2. *Packet Processing*  : Separate individual trace streams into discrete packets.
+3. *Packet Decode*      : Convert the packets into fully decoded trace describing the program flow on a core.
+
+The library is implemented in C++ with an optional "C" API.
+
+Library Versioning
+------------------
+
+From version 0.4, library versioning will use a semantic versioning format
+(per http://semver.org) of the form _Major.minor.patch_ (M.m.p).
+
+Internal library version calls, documentation and git repository will use this format moving forwards.
+Where a patch version is not quoted, or quoted as .x then comments will apply to the entire release.
+
+Releases will be at M.m.0, with patch version incremented for bugfixes or documentation updates.
+
+Releases will appear on the master branch in the git repository with an appropriate version tag.
+
+CoreSight Trace Component Support.
+----------------------------------
+
+_Current Version 0.8.2_
+
+### Current support:
+
+- ETMv4 (v4.1) instruction trace - packet processing and packet decode.
+- PTM   (v1.1) instruction trace - packet processing and packet decode.
+- ETMv3 (v3.5) instruction trace - packet processing and packet decode.
+- ETMv3 (v3.5) data trace - packet processing.
+- STM   (v1.1) software trace - packet processing and packet decode.
+
+- External Decoders - support for addition of external / custom decoders into the library.
+
+### Support to be added:
+
+- ITM software trace - packet processing and decode.
+- ETMv3 data trace - packet decode.
+- ETMv4 data trace - packet processing and decode.
+
+Note: for ITM and STM, packet decode is combining Master+Channel+Marker+Payload packets into a single generic
+output packet.
+
+
+Note on the Git Repository.
+---------------------------
+
+This git repository for OpenCSD contains only source for the OpenCSD decoder library.
+From version 0.4, releases appear as versioned tags on the master branch.
+
+From version 0.7.4, the required updates to CoreSight drivers and perf, that are not
+currently upstream in the linux kernel tree, are now contained in a separate
+repository to be found at:
+
+https://github.com/Linaro/perf-opencsd
+
+
+Documentation
+-------------
+
+API Documentation is provided inline in the source header files, which use the __doxygen__ standard mark-up.
+Run `doxygen` on the `./doxygen_config.dox` file located in the `./docs` directory..
+
+    doxygen ./doxygen_config.dox
+
+This will produce the documentation in the `./docs/html` directory. The doxygen configuration also includes
+the `*.md` files as part of the documentation.
+
+
+Building the Library
+--------------------
+
+See [build_libs.md](@ref build_lib) in the `./docs` directory for build details.
+
+
+How the Library is used in Linux `perf`
+---------------------------------------
+The library and additional infrastructure for programming CoreSight components has been integrated 
+with the standard linux perfomance analysis tool `perf`.
+
+
+See [HOWTO.md](@ref howto_perf) for details.
+
+
+Version and Modification Information
+====================================
+
+- _Version 0.001_:  Library development - tested with `perf` tools integration - BKK16, 8th March 2016
+- _Version 0.002_:  Library development - added in PTM decoder support. Restructure header dir, replaced ARM rctdl prefix with opencsd/ocsd.
+- _Version 0.003_:  Library development - added in ETMv3 instruction decoder support.
+- _Version 0.4_  :  Library development - updated decode tree and C-API for generic decoder handling. Switch to semantic versioning.
+- _Version 0.4.1_:  Minor Update & Bugfixes - fix to PTM decoder, ID checking on test program, adds NULL_TS support in STM packet processor.
+- _Version 0.4.2_:  Minor Update - Update to documentation for perf usage in 4.8 kernel branch.
+- _Version 0.5.0_:  Library Development - external decoder support. STM full decode.
+- _Version 0.5.1_:  Minor Update & Bugfixes - Update HOWTO for kernel 4.9. Build fixes for parallel builds
+- _Version 0.5.2_:  Minor Update & Bugfixes - Update trace info packet string o/p + Cycle count packet bugfixes.
+- _Version 0.5.3_:  Doc update for using AutoFDO with ETM and additional timestamp and cycle count options.
+- _Version 0.5.4_:  Updates: X-compile for arm/arm64.  Remove deprecated VS2010 builds. Bugfix: GCC inline semantics in debug build. 
+- _Version 0.6.0_:  Packet printers moved from tests into the main library. C++ and C APIs updated to allow clients to use them. 
+                    Update to allow perf to insert barrier packets (4xFSYNC) which the decoder can be made to use to reset the decode state.
+- _Version 0.6.1_:  Bugfix: instruction follower bug on A32 branch to T32.
+- _Version 0.7.0_:  Add handling for trace return stack feature to ETMv4 and PTM trace.
+- _Version 0.7.1_:  Bugfix: ETMv3 packet processor.
+- _Version 0.7.2_:  Bugfix: ETMv4 decoder - fix exact match packet address follower.
+- _Version 0.7.3_:  Bugfix: PTM decoder - issues with initialisation and ASYNC detection.
+- _Version 0.7.4_:  Notification of change of repository for perf extensions. gcc 6.x build fixes.
+- _Version 0.7.5_:  Bugfix: ETMv4 decoder memory leak. Linux build update - header dependencies force rebuild.
+- _Version 0.8.0_:  Header restructure and build update to enable linux version to install library and C-API headers in standard locations.
+                    Library output naming changed from 'cstraced' to 'opencsd'.
+- _Version 0.8.1_:  Minor updates: Use install tool to copy headers. Changes to HOWTO for perf usage.                    
+- _Version 0.8.2_:  Bugfix: C++ init errors fixed for CLANG build process.
+
+Licence Information
+===================
+
+This library is licensed under the [BSD three clause licence.](http://directory.fsf.org/wiki/License:BSD_3Clause)
+
+A copy of this license is in the `LICENCE` file included with the source code.
+
+Contact
+=======
+
+Using the github site: https://github.com/Linaro/OpenCSD
+
+Mailing list: coresight@lists.linaro.org

Added: vendor/opencsd/dist/TODO
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/opencsd/dist/TODO	Wed Apr  4 12:33:46 2018	(r332012)
@@ -0,0 +1,19 @@
+* ETMv4/PTM - decoder updates to handle advanced configuration.
+-> Certain (currently unused by perf /  current hardware) configuration settings
+   can alter the format of the trace output. One example is Return Stack -
+   settable in the control registers for PTM/ETMv4, and removes some inline
+   addresses. Decoder must use a follower to correctly trace when this is set.
+
+* ITM packet processing and decode.
+-> ITM is primarily an M class SW trace module. I wouldn't expect to see it on
+   systems with STM, unless a companion M class was present.
+
+*Data trace - ETMv4 / ETMv3
+-> Differing solutions to data trace in v4/v3 - v4 is separate trace stream
+   completely, output at trace ID <instruction_trace_ID>+1. ETMv3 is inline with
+   the instruction trace.
+
+Cortex-A cores do not support this architecturally. On R and M profile cores it
+is an option. There are scenarios in future that could see linux on R cores, plus
+on something like Juno it is possible to switch on trace for the SCP
+(M class processor). So at some point data trace may be required.

Added: vendor/opencsd/dist/decoder/build/linux/makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/opencsd/dist/decoder/build/linux/makefile	Wed Apr  4 12:33:46 2018	(r332012)
@@ -0,0 +1,196 @@
+########################################################
+# Copyright 2015 ARM Limited. All rights reserved.
+# 
+# Redistribution and use in source and binary forms, with or without modification, 
+# are permitted provided that the following conditions are met:
+# 
+# 1. Redistributions of source code must retain the above copyright notice, 
+# this list of conditions and the following disclaimer.
+# 
+# 2. Redistributions in binary form must reproduce the above copyright notice, 
+# this list of conditions and the following disclaimer in the documentation 
+# and/or other materials provided with the distribution. 
+# 
+# 3. Neither the name of the copyright holder nor the names of its contributors 
+# may be used to endorse or promote products derived from this software without 
+# specific prior written permission. 
+# 
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND 
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
+# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+# 
+#################################################################################
+# OpenCSD - master makefile for libraries and tests
+#
+# command line options
+# DEBUG=1 	    create a debug build
+#
+
+# Set project root - relative to build directory
+ifeq ($(OCSD_ROOT),)
+OCSD_ROOT := $(shell pwd | sed 's,/build/linux.*,,')
+export OCSD_ROOT
+endif
+
+# library names
+LIB_BASE_NAME=opencsd
+export LIB_BASE_NAME
+LIB_CAPI_NAME=$(LIB_BASE_NAME)_c_api
+export LIB_CAPI_NAME
+
+# determine base architecture, heavily borrowed from the Linux kernel v4.4's
+# tools/perf/config/Makefile.arch
+# For example, to compile for arm64 on a X86 PC, you can issue the command:
+# "export ARCH=arm64"
+ifndef ARCH
+ARCH := $(shell uname -m 2>/dev/null || echo not)
+endif
+
+# source root directories
+export OCSD_LIB_ROOT=$(OCSD_ROOT)/lib
+
+export OCSD_INCLUDE=$(OCSD_ROOT)/include
+export OCSD_SOURCE=$(OCSD_ROOT)/source
+
+export OCSD_TESTS=$(OCSD_ROOT)/tests
+
+export LIB_UAPI_INC_DIR=opencsd

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804041233.w34CXleW015734>