Changeset 657 for trunk/kernel/devices/dev_mmc.h
- Timestamp:
- Mar 18, 2020, 11:16:59 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/devices/dev_mmc.h
r565 r657 2 2 * dev_mmc.h - MMC (Generic L2 cache controller) device API definition. 3 3 * 4 * Authors Alain Greiner (2016,2017,2018 )4 * Authors Alain Greiner (2016,2017,2018,2019,2020) 5 5 * 6 6 * Copyright (c) UPMC Sorbonne Universites … … 34 34 * acting in all clusters containing a level 2 cache controller. 35 35 * 36 * It supports five command types: 36 * It supports three different services: 37 * 1) L2/L3 software cache-coherence operations. 38 * 2) error reporting for architecture specific addressing error. 39 * 3) architecture specific intrumentation registers access. 40 * 41 * It supports therefore five command types: 37 42 * - MMC_CC_INVAL : invalidate all cache lines covering a given buffer in L2 cache. 38 43 * - MMC_CC_SYNC : synchronize all cache lines covering a given buffer to L3 cache. 39 * - MMC_ GET_ERROR: return content of a given error signaling register.40 * - MMC_ SET_ERROR: set a given error signaling register.41 * - MMC_ GET_INSTRU: return content of a given instrumentation register.44 * - MMC_ERROR_GET : return content of a given error signaling register. 45 * - MMC_ERROR_SET : set a given error signaling register. 46 * - MMC_INSTR_GET : return content of a given instrumentation register. 42 47 * 43 48 * As all L2 caches can be accessed by any thread running in any cluster, a calling … … 73 78 MMC_CC_INVAL = 0, 74 79 MMC_CC_SYNC = 1, 75 MMC_ GET_ERROR= 2,76 MMC_ SET_ERROR= 3,77 MMC_ GET_INSTRU= 4,80 MMC_ERROR_GET = 2, 81 MMC_ERROR_SET = 3, 82 MMC_INSTR_GET = 4, 78 83 }; 79 84 … … 126 131 127 132 /***************************************************************************************** 128 * This function set a value in one error signaling MMCregister.133 * This function set a value in one (architecture specific) MMC_ERROR register. 129 134 * It can be executed by any thread in any cluster, because it uses remote accesses 130 135 * to access the L2 cache instrumentation interface in any cluster. … … 135 140 * @ return 0 if success / return EINVAL if failure 136 141 ****************************************************************************************/ 137 error_t dev_mmc_ set_error( cxy_t cxy,142 error_t dev_mmc_error_set( cxy_t cxy, 138 143 uint32_t index, 139 144 uint32_t wdata ); 140 145 141 146 /***************************************************************************************** 142 * This function returns the value contained in one error signaling MMC register.143 * It can be executed by any thread in any cluster, because it uses remote accesses144 * to access the L2 cache instrumentation interface in any cluster.147 * This function returns the value contained in one (architecture specific) MMC_ERROR 148 * register. It can be executed by any thread in any cluster, because it uses remote 149 * accesses to access the L2 cache instrumentation interface in any cluster. 145 150 ***************************************************************************************** 146 151 * @ cxy : MMC cluster identifier. … … 149 154 * @ return 0 if success / return EINVAL if failure 150 155 ****************************************************************************************/ 151 error_t dev_mmc_ get_error( cxy_t cxy,156 error_t dev_mmc_error_get( cxy_t cxy, 152 157 uint32_t index, 153 158 uint32_t * rdata ); 154 159 155 156 160 /***************************************************************************************** 157 * This function returns the value contained in one instrumentation MMC register.158 * It can be executed by any thread in any cluster, because it uses remote accesses159 * to access the L2 cache configuration interface in any cluster.161 * This function returns the value contained in one (architecture specific) MMC_INSTR 162 * register. It can be executed by any thread in any cluster, because it uses remote 163 * accesses to access the L2 cache instrumentation interface in any cluster. 160 164 ***************************************************************************************** 161 165 * @ cxy : MMC cluster identifier. 162 * @ index : instrumentationregister index in MMC peripheral.166 * @ index : error register index in MMC peripheral. 163 167 * @ rdata : local pointer on buffer for returned value. 164 168 * @ return 0 if success / return EINVAL if failure 165 169 ****************************************************************************************/ 166 error_t dev_mmc_ get_instrumentation( cxy_t cxy,167 uint32_t index,168 169 170 error_t dev_mmc_instr_get( cxy_t cxy, 171 uint32_t index, 172 uint32_t * rdata ); 173 170 174 #endif /* _DEV_MMC_H_ */
Note: See TracChangeset
for help on using the changeset viewer.