mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
fix(esp_rom): avoid critical issue in writeback v5.4
This commit is contained in:
@@ -106,3 +106,7 @@ config ESP_ROM_HAS_OUTPUT_PUTC_FUNC
|
||||
config ESP_ROM_CACHE_WB_INVLD_LOW_RANGE
|
||||
bool
|
||||
default y
|
||||
|
||||
config ESP_ROM_CACHE_WRITEBACK_NEEDS_SYNC_TWICE_NO_MAP
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -32,3 +32,4 @@
|
||||
#define ESP_ROM_USB_OTG_NUM (-1) // No USB_OTG CDC in the ROM, set -1 for Kconfig usage.
|
||||
#define ESP_ROM_HAS_OUTPUT_PUTC_FUNC (1) // ROM has esp_rom_output_putc (or ets_write_char_uart)
|
||||
#define ESP_ROM_CACHE_WB_INVLD_LOW_RANGE (1) // ROM `Cache_WriteBack_Addr` and `Cache_Invalidate_Addr` can only access low vaddr parts
|
||||
#define ESP_ROM_CACHE_WRITEBACK_NEEDS_SYNC_TWICE_NO_MAP (1) // ROM cache writeback related needs patch to avoid sync loss, no map parameter
|
||||
|
||||
@@ -49,6 +49,8 @@ typedef enum {
|
||||
CACHE_SYNC_WRITEBACK_INVALIDATE = BIT(3),
|
||||
} cache_sync_t;
|
||||
|
||||
#define CACHE_MAP_FLASH_CACHE BIT(4)
|
||||
|
||||
typedef enum {
|
||||
CACHE_SIZE_HALF = 0, /*!< 8KB for icache and dcache */
|
||||
CACHE_SIZE_FULL = 1, /*!< 16KB for icache and dcache */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2024-2026 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -195,11 +195,11 @@ Cache_Op_Addr = 0x40000630;
|
||||
/*Cache_Invalidate_Addr = 0x40000634; rom version API has issue that unable to access higher vaddr range, use IDF patch */
|
||||
Cache_Clean_Addr = 0x40000638;
|
||||
/*Cache_WriteBack_Addr = 0x4000063c; rom version API has issue that unable to access higher vaddr range, use IDF patch */
|
||||
Cache_WriteBack_Invalidate_Addr = 0x40000640;
|
||||
PROVIDE( Cache_WriteBack_Invalidate_Addr = 0x40000640 );
|
||||
Cache_Invalidate_All = 0x40000644;
|
||||
Cache_Clean_All = 0x40000648;
|
||||
Cache_WriteBack_All = 0x4000064c;
|
||||
Cache_WriteBack_Invalidate_All = 0x40000650;
|
||||
PROVIDE( Cache_WriteBack_All = 0x4000064c );
|
||||
PROVIDE( Cache_WriteBack_Invalidate_All = 0x40000650 );
|
||||
Cache_Mask_All = 0x40000654;
|
||||
Cache_UnMask_Dram0 = 0x40000658;
|
||||
Cache_Suspend_Autoload = 0x4000065c;
|
||||
|
||||
Reference in New Issue
Block a user