15a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng/** 25a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng * @file daemon/opd_ibs_trans.h 35a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng * AMD Family10h Instruction Based Sampling (IBS) translation. 45a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng * 55a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng * @remark Copyright 2008 OProfile authors 65a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng * @remark Read the file COPYING 75a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng * 85a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng * @author Jason Yeh <jason.yeh@amd.com> 95a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng * @author Paul Drongowski <paul.drongowski@amd.com> 105a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng * @author Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> 115a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng * Copyright (c) 2008 Advanced Micro Devices, Inc. 125a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng */ 135a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng 145a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng#ifndef OPD_IBS_TRANS_H 155a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng#define OPD_IBS_TRANS_H 165a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng 175a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Chengstruct ibs_fetch_sample; 185a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Chengstruct ibs_op_sample; 195a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Chengstruct transient; 205a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng 215a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Chengstruct ibs_translation_table { 225a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng unsigned int event; 235a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng void (*translator)(struct transient *); 245a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng}; 255a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng 265a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng 277a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownextern void trans_ibs_fetch (struct transient * trans, unsigned int selected_flag); 287a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownextern void trans_ibs_op (struct transient * trans, unsigned int selected_flag); 297a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownextern void trans_ibs_op_ls (struct transient * trans, unsigned int selected_flag); 307a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownextern void trans_ibs_op_nb (struct transient * trans, unsigned int selected_flag); 317a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownextern int trans_ibs_op_rip_invalid (struct transient * trans); 327a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownextern void trans_ibs_op_mask_reserved (unsigned int family, struct transient * trans); 337a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownextern void trans_ibs_op_ls_memaccess(struct transient * trans); 347a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownextern void trans_ibs_op_bta (struct transient * trans); 355a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng#endif // OPD_IBS_TRANS_H 36