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