openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

uc_dbg.h (2514B)


      1 /*
      2  * 
      3  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      4  * 
      5  * Copyright 2007-2019 Broadcom Inc. All rights reserved.
      6  *
      7  * File:    ukernel_debug.h
      8  * Purpose:  
      9  */
     10 
     11 #ifndef _UC_DBG_H
     12 #define _UC_DBG_H
     13 
     14 #include <bcm/types.h>
     15 #include <bcm/error.h>
     16 #include <soc/shared/mos_msg_common.h>
     17 
     18 #if defined(SOC_UKERNEL_DEBUG)
     19 #if defined(BCM_CMICM_SUPPORT) || defined(BCM_IPROC_SUPPORT)
     20 
     21 #define CMIC_UC_DBG_PTP_CORE_COMM_SUCCESS       (1<<0)
     22 #define CMIC_UC_DBG_PTP_STACK_INIT_SUCCESS      (1<<1)
     23 
     24 #define CMIC_UCDEBUG_OUTPUT_DISP_TIMEOUT        (1000)
     25 
     26 typedef struct _soc_cmic_ucdbg_stats_s {
     27     uint32                  flags;
     28     uint32                  sw_intr_count_uc0;
     29     uint32                  sw_intr_count_uc1;
     30     uint32                  hostlog_indx_wr;
     31     uint32                  hostlog_indx_rd;
     32     uint32                  uclog_indx_rd;
     33     mos_msg_cmic_ucdbg_t    ucdbg_cache; /* memory cache of SRAM data struct */
     34     mos_msg_ucdbg_entry_t   hostlog[MOS_UCDBG_MAX_LOG_ENTRIES_HOST]; /* host log buff pointer */
     35     mos_msg_ucdbg_entry_t   *puclog[MOS_UCDBG_MAX_LOG_ENTRIES_UC]; /* uc log buffer pointer */
     36 }_soc_cmic_ucdbg_stats_t;
     37 
     38 extern int 
     39 soc_cmic_ucdebug_init(int unit, int uC);
     40 
     41 extern int 
     42 soc_cmic_ucdebug_sw_intr_count_inc(int unit, uint32 rupt_num);
     43 
     44 
     45 extern int 
     46 soc_cmic_ucdebug_core_communication_status(int unit, uint32 flag);
     47 
     48 extern int 
     49 soc_cmic_ucdebug_dump_start(int unit);
     50 
     51 extern int 
     52 soc_cmic_ucdebug_dump_stop(int unit);
     53 
     54 extern int 
     55 soc_cmic_ucdebug_status(int unit);
     56 
     57 extern int
     58 soc_cmic_ucdebug_log_add(int unit, mos_msg_ucdbg_logtype_t logtype,
     59                      const char *format, ...);
     60 
     61 #define SOC_CMIC_UCDBG_LOG_ADD(stuff_) \
     62     soc_cmic_ucdebug_log_add stuff_;
     63 
     64 #else
     65 
     66 #define soc_cmic_ucdebug_init(unit, uC)
     67 #define soc_cmic_ucdebug_sw_intr_count_inc(unit, rupt_num)
     68 #define soc_cmic_ucdebug_core_communication_status(unit, flag)
     69 #define soc_cmic_ucdebug_dump_start(unit)
     70 #define soc_cmic_ucdebug_dump_stop(unit)
     71 #define soc_cmic_ucdebug_status(unit)
     72 
     73 #define SOC_CMIC_UCDBG_LOG_ADD(stuff_)
     74 
     75 #endif
     76 
     77 #else
     78 
     79 #define soc_cmic_ucdebug_init(unit, uC)
     80 #define soc_cmic_ucdebug_sw_intr_count_inc(unit, rupt_num)
     81 #define soc_cmic_ucdebug_core_communication_status(unit, flag)
     82 #define soc_cmic_ucdebug_dump_start(unit)
     83 #define soc_cmic_ucdebug_dump_stop(unit)
     84 #define soc_cmic_ucdebug_status(unit)
     85 
     86 #define SOC_CMIC_UCDBG_LOG_ADD(stuff_)
     87 
     88 #endif
     89 
     90 #endif /*_UKERNEL_DEBUG_H_*/