Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

arm64: mm: Remove arch_apei_flush_tlb_one()

Nothing calls arch_apei_flush_tlb_one() anymore, instead relying on
__set_fixmap() to do the invalidation. Remove it.

Move the IPI-considered-harmful comment to __set_fixmap().

Signed-off-by: James Morse <james.morse@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Tested-by: Tyler Baicar <tbaicar@codeaurora.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: All applicable <stable@vger.kernel.org>

authored by

James Morse and committed by
Rafael J. Wysocki
18b4b276 520e18a5

+4 -12
-12
arch/arm64/include/asm/acpi.h
··· 126 126 */ 127 127 #define acpi_disable_cmcff 1 128 128 pgprot_t arch_apei_get_mem_attribute(phys_addr_t addr); 129 - 130 - /* 131 - * Despite its name, this function must still broadcast the TLB 132 - * invalidation in order to ensure other CPUs don't end up with junk 133 - * entries as a result of speculation. Unusually, its also called in 134 - * IRQ context (ghes_iounmap_irq) so if we ever need to use IPIs for 135 - * TLB broadcasting, then we're in trouble here. 136 - */ 137 - static inline void arch_apei_flush_tlb_one(unsigned long addr) 138 - { 139 - flush_tlb_kernel_range(addr, addr + PAGE_SIZE); 140 - } 141 129 #endif /* CONFIG_ACPI_APEI */ 142 130 143 131 #ifdef CONFIG_ACPI_NUMA
+4
arch/arm64/mm/mmu.c
··· 778 778 } 779 779 } 780 780 781 + /* 782 + * Unusually, this is also called in IRQ context (ghes_iounmap_irq) so if we 783 + * ever need to use IPIs for TLB broadcasting, then we're in trouble here. 784 + */ 781 785 void __set_fixmap(enum fixed_addresses idx, 782 786 phys_addr_t phys, pgprot_t flags) 783 787 {