| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /*
- * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
- *
- * SPDX-License-Identifier: Apache-2.0
- */
- #pragma once
- #include <stdlib.h>
- #include <stdint.h>
- #include "esp_err.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- /**
- * @brief Private header for cache drivers, where cache functionality requires other components
- *
- * @note Now only esp32, can be applied to other similar chips
- */
- typedef struct cache_driver_s cache_driver_t;
- /**
- * @brief Cache driver
- */
- struct cache_driver_s {
- /**
- * @brief Cache flush
- *
- * @param[in] cpu_no CPU id
- */
- void (*cache_flush)(int cpu_no);
- /**
- * @brief Cache writeback to psram
- */
- void (*cache_writeback_psram)(void);
- };
- /**
- * @brief Register cache writeback
- *
- * @param[in] func Cache driver
- */
- void cache_register_writeback(cache_driver_t *func);
- /**
- * @brief Cache sync
- *
- * @note This API only do cache sync, but doesn't guarantee concurrent access to cache
- * @note Do not use in your application
- */
- void cache_sync(void);
- #ifdef __cplusplus
- }
- #endif
|