| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- /*
- *********************************************************************************************************
- * uC/CPU
- * CPU CONFIGURATION & PORT LAYER
- *
- * Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com
- *
- * SPDX-License-Identifier: APACHE-2.0
- *
- * This software is subject to an open source license and is distributed by
- * Silicon Laboratories Inc. pursuant to the terms of the Apache License,
- * Version 2.0 available at www.apache.org/licenses/LICENSE-2.0.
- *
- *********************************************************************************************************
- */
- /*
- *********************************************************************************************************
- *
- * CACHE CPU MODULE
- *
- * Filename : cpu_cache.h
- * Version : V1.32.01
- *********************************************************************************************************
- */
- /*
- *********************************************************************************************************
- * MODULE
- *
- * Note(s) : (1) This cache CPU header file is protected from multiple pre-processor inclusion through use of
- * the cache CPU module present pre-processor macro definition.
- *********************************************************************************************************
- */
- #ifndef CPU_CACHE_MODULE_PRESENT /* See Note #1. */
- #define CPU_CACHE_MODULE_PRESENT
- /*
- *********************************************************************************************************
- * EXTERNS
- *********************************************************************************************************
- */
- #ifdef CPU_CACHE_MODULE
- #define CPU_CACHE_EXT
- #else
- #define CPU_CACHE_EXT extern
- #endif
- /*
- *********************************************************************************************************
- * INCLUDE FILES
- *********************************************************************************************************
- */
- #include <cpu.h>
- #include <lib_def.h>
- #include <cpu_cfg.h>
- /*
- *********************************************************************************************************
- * CACHE CONFIGURATION
- *********************************************************************************************************
- */
- #ifndef CPU_CFG_CACHE_MGMT_EN
- #define CPU_CFG_CACHE_MGMT_EN DEF_DISABLED
- #endif
- /*
- *********************************************************************************************************
- * CACHE OPERATIONS DEFINES
- *********************************************************************************************************
- */
- #if (CPU_CFG_CACHE_MGMT_EN == DEF_ENABLED)
- #ifndef CPU_DCACHE_RANGE_FLUSH
- #define CPU_DCACHE_RANGE_FLUSH(addr_start, len) CPU_DCache_RangeFlush(addr_start, len)
- #endif /* CPU_DCACHE_RANGE_FLUSH */
- #else
- #define CPU_DCACHE_RANGE_FLUSH(addr_start, len)
- #endif /* CPU_CFG_CACHE_MGMT_EN) */
- #if (CPU_CFG_CACHE_MGMT_EN == DEF_ENABLED)
- #ifndef CPU_DCACHE_RANGE_INV
- #define CPU_DCACHE_RANGE_INV(addr_start, len) CPU_DCache_RangeInv(addr_start, len)
- #endif /* CPU_DCACHE_RANGE_INV */
- #else
- #define CPU_DCACHE_RANGE_INV(addr_start, len)
- #endif /* CPU_CFG_CACHE_MGMT_EN) */
- /*
- *********************************************************************************************************
- * FUNCTION PROTOTYPES
- *********************************************************************************************************
- */
- #if (CPU_CFG_CACHE_MGMT_EN == DEF_ENABLED)
- #ifdef __cplusplus
- extern "C" {
- #endif
- void CPU_Cache_Init (void);
- void CPU_DCache_RangeFlush(void *addr_start,
- CPU_ADDR len);
- void CPU_DCache_RangeInv (void *addr_start,
- CPU_ADDR len);
- #ifdef __cplusplus
- }
- #endif
- #endif /* CPU_CFG_CACHE_MGMT_EN */
- /*
- *********************************************************************************************************
- * MODULE END
- *
- * Note(s) : (1) See 'cpu_core.h MODULE'.
- *********************************************************************************************************
- */
- #endif /* End of CPU core module include. */
|