From a4367eb5145fd7c0dc7380c6dfad5c483e0600c1 Mon Sep 17 00:00:00 2001 From: Daniel Leung Date: Wed, 26 Mar 2025 14:04:03 -0700 Subject: [PATCH] xtensa: remove CONFIG_XTENSA_INVALIDATE_MEM_DOMAIN_TLB_ON_SWAP Remove CONFIG_XTENSA_INVALIDATE_MEM_DOMAIN_TLB_ON_SWAP as it is remnant from early MMU enabling work which is not needed as the page table code is different from early version where the PTEVADDR would be the same for all memory domains. Signed-off-by: Daniel Leung --- arch/xtensa/Kconfig | 6 ------ arch/xtensa/core/ptables.c | 13 ------------- soc/cdns/dc233c/Kconfig | 1 - 3 files changed, 20 deletions(-) diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index b69d8bcf02b..6db6f7ea232 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig @@ -223,12 +223,6 @@ config XTENSA_MMU_DOUBLE_MAP This option specifies that the memory is mapped in two distinct region, cached and uncached. - config XTENSA_INVALIDATE_MEM_DOMAIN_TLB_ON_SWAP - bool - help - This invalidates all TLBs referred by the incoming thread's - memory domain when swapping page tables. - config PRIVILEGED_STACK_SIZE # Must be multiple of CONFIG_MMU_PAGE_SIZE default 4096 diff --git a/arch/xtensa/core/ptables.c b/arch/xtensa/core/ptables.c index 0cf4e74b7af..0af30867581 100644 --- a/arch/xtensa/core/ptables.c +++ b/arch/xtensa/core/ptables.c @@ -1126,19 +1126,6 @@ void xtensa_swap_update_page_tables(struct k_thread *incoming) &(incoming->mem_domain_info.mem_domain->arch); xtensa_set_paging(domain->asid, ptables); - -#ifdef CONFIG_XTENSA_INVALIDATE_MEM_DOMAIN_TLB_ON_SWAP - struct k_mem_domain *mem_domain = incoming->mem_domain_info.mem_domain; - - for (int idx = 0; idx < mem_domain->num_partitions; idx++) { - struct k_mem_partition *part = &mem_domain->partitions[idx]; - uintptr_t end = part->start + part->size; - - for (uintptr_t addr = part->start; addr < end; addr += CONFIG_MMU_PAGE_SIZE) { - xtensa_dtlb_vaddr_invalidate((void *)addr); - } - } -#endif } #endif /* CONFIG_USERSPACE */ diff --git a/soc/cdns/dc233c/Kconfig b/soc/cdns/dc233c/Kconfig index c0becdd0ba4..df5f3ab2e64 100644 --- a/soc/cdns/dc233c/Kconfig +++ b/soc/cdns/dc233c/Kconfig @@ -13,4 +13,3 @@ config SOC_XTENSA_DC233C select ARCH_HAS_USERSPACE if XTENSA_MMU select ARCH_SUPPORTS_COREDUMP select ARCH_SUPPORTS_COREDUMP_PRIV_STACKS - select XTENSA_INVALIDATE_MEM_DOMAIN_TLB_ON_SWAP if XTENSA_MMU