cache_mem_test.h (2456B)
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 8 #ifndef _CACHE_MEM_TEST_H 9 #define _CACHE_MEM_TEST_H 10 11 #if defined(BCM_ESW_SUPPORT) || defined(BCM_PETRA_SUPPORT) || defined(BCM_DFE_SUPPORT) || defined(BCM_DNX_SUPPORT) || defined(BCM_DNXF_SUPPORT) 12 13 #include <appl/diag/shell.h> 14 15 int do_cache_mem_test(int , args_t *a, void *); 16 int do_cache_mem_test_init(int, args_t *, void **); 17 int do_cache_mem_test_done(int, void *); 18 19 20 21 typedef enum cache_mem_test_write_value_pattern_e { 22 cache_mem_test_write_value_pattern_all_ones = 0, 23 cache_mem_test_write_value_pattern_all_zeroes, 24 cache_mem_test_write_value_pattern_incremental, 25 cache_mem_test_write_value_pattern_smart 26 }cache_mem_test_write_value_pattern_t; 27 28 typedef enum cache_mem_test_type_e { 29 cache_mem_test_type_single = 0, 30 cache_mem_test_type_all_mems 31 }cache_mem_test_type_t; 32 33 typedef enum cache_mem_test_write_type_e { 34 cache_mem_test_write_type_dma = 0, 35 cache_mem_test_write_type_schan 36 }cache_mem_test_write_type_t; 37 38 typedef enum cache_mem_test_partial_e { 39 cache_mem_test_full = 0, 40 cache_mem_test_write_only, 41 cache_mem_test_read_only, 42 cache_mem_test_cache_only 43 }cache_mem_test_partial_t; 44 45 typedef struct tr_do_cache_mem_test_e 46 { 47 cache_mem_test_type_t test_type; 48 cache_mem_test_write_type_t write_type; 49 cache_mem_test_write_value_pattern_t write_value_pattern; 50 cache_mem_test_partial_t test_part; 51 int stat_mem_not_tested_cnt; 52 int stat_mem_succeed_cnt; 53 int stat_mem_fail_cnt; 54 int stat_mem_total_cnt; 55 soc_mem_t mem_id; 56 cmd_result_t result; 57 58 uint32 mem_test_result_flag[NUM_SOC_MEM]; 59 } tr_do_cache_mem_test_t; 60 61 #define CACHE_MEM_TEST_ALIAS_SKIP_FLAG (1 << 0) 62 #define CACHE_MEM_TEST_NON_CACHEABLE_SKIP_FLAG (1 << 1) 63 #define CACHE_MEM_TEST_NOT_SHADOWED_SKIP_FLAG (1 << 2) 64 #define CACHE_MEM_TEST_FORCE_SKIP_FLAG (1 << 3) 65 #define CACHE_MEM_TEST_READ_FAILUE_FLAG (1 << 4) 66 #define CACHE_MEM_TEST_WRITE_FAILUE_FLAG (1 << 5) 67 #define CACHE_MEM_TEST_COMPARE_FAILUE_FLAG (1 << 6) 68 69 #endif /*#(BCM_ESW_SUPPORT) || (BCM_PETRA_SUPPORT) || (BCM_DFE_SUPPORT) */ 70 #endif /*_CACHE_MEM_TEST_H*/ 71