1 /* 2 * Copyright (C) 2024 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef SRC_TRACE_PROCESSOR_IMPORTERS_ETM_OPENCSD_H_ 18 #define SRC_TRACE_PROCESSOR_IMPORTERS_ETM_OPENCSD_H_ 19 20 // This file should be used instead of the librarys <opencsd.h>. This limits the 21 // number of includes and in particular avoids <opencsd/ptm/ptm_decoder.h> that 22 // has some inline functions that throw exceptions. This messes up the build 23 // quite a bit on GCC and since the file is not needed we just not include it. 24 25 #include <opencsd/ocsd_if_types.h> // IWYU pragma: export 26 #include <opencsd/trc_gen_elem_types.h> // IWYU pragma: export 27 #include <opencsd/trc_pkt_types.h> // IWYU pragma: export 28 29 #include <interfaces/trc_data_raw_in_i.h> // IWYU pragma: export 30 #include <interfaces/trc_data_rawframe_in_i.h> // IWYU pragma: export 31 #include <interfaces/trc_error_log_i.h> // IWYU pragma: export 32 #include <interfaces/trc_gen_elem_in_i.h> // IWYU pragma: export 33 #include <interfaces/trc_instr_decode_i.h> // IWYU pragma: export 34 #include <interfaces/trc_pkt_in_i.h> // IWYU pragma: export 35 #include <interfaces/trc_pkt_raw_in_i.h> // IWYU pragma: export 36 #include <interfaces/trc_tgt_mem_access_i.h> // IWYU pragma: export 37 38 #include <common/ocsd_error.h> // IWYU pragma: export 39 #include <common/ocsd_version.h> // IWYU pragma: export 40 #include <common/trc_core_arch_map.h> // IWYU pragma: export 41 #include <common/trc_frame_deformatter.h> // IWYU pragma: export 42 #include <common/trc_gen_elem.h> // IWYU pragma: export 43 44 #include <opencsd/ete/ete_decoder.h> // IWYU pragma: export 45 #include <opencsd/etmv4/etmv4_decoder.h> // IWYU pragma: export 46 47 #include <common/ocsd_error_logger.h> // IWYU pragma: export 48 #include <common/ocsd_msg_logger.h> // IWYU pragma: export 49 #include <i_dec/trc_i_decode.h> // IWYU pragma: export 50 #include <mem_acc/trc_mem_acc.h> // IWYU pragma: export 51 52 #endif // SRC_TRACE_PROCESSOR_IMPORTERS_ETM_OPENCSD_H_ 53