diff options
author | James Morse <james.morse@arm.com> | 2017-11-06 13:44:26 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-11-07 06:13:33 -0500 |
commit | 18b4b276b490a8b9f86c512de8a6054c27bb87c2 (patch) | |
tree | 1566874e5505eedb8fe75fb4341233e312377182 | |
parent | 520e18a5080d2c444a03280d99c8a35cb667d321 (diff) |
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>
-rw-r--r-- | arch/arm64/include/asm/acpi.h | 12 | ||||
-rw-r--r-- | arch/arm64/mm/mmu.c | 4 |
2 files changed, 4 insertions, 12 deletions
diff --git a/arch/arm64/include/asm/acpi.h b/arch/arm64/include/asm/acpi.h index 59cca1d6ec54..32f465a80e4e 100644 --- a/arch/arm64/include/asm/acpi.h +++ b/arch/arm64/include/asm/acpi.h | |||
@@ -126,18 +126,6 @@ static inline const char *acpi_get_enable_method(int cpu) | |||
126 | */ | 126 | */ |
127 | #define acpi_disable_cmcff 1 | 127 | #define acpi_disable_cmcff 1 |
128 | pgprot_t arch_apei_get_mem_attribute(phys_addr_t addr); | 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 | #endif /* CONFIG_ACPI_APEI */ | 129 | #endif /* CONFIG_ACPI_APEI */ |
142 | 130 | ||
143 | #ifdef CONFIG_ACPI_NUMA | 131 | #ifdef CONFIG_ACPI_NUMA |
diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c index f1eb15e0e864..267d2b79d52d 100644 --- a/arch/arm64/mm/mmu.c +++ b/arch/arm64/mm/mmu.c | |||
@@ -778,6 +778,10 @@ void __init early_fixmap_init(void) | |||
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 | void __set_fixmap(enum fixed_addresses idx, | 785 | void __set_fixmap(enum fixed_addresses idx, |
782 | phys_addr_t phys, pgprot_t flags) | 786 | phys_addr_t phys, pgprot_t flags) |
783 | { | 787 | { |