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

[ARM] 5389/1: Make sure the pmd entries are visible by the secondary CPU

The __cpu_up() function in arch/arm/kernel/smp.c sets the pmd entries
without flushing or cleaning them.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

authored by

Catalin Marinas and committed by
Russell King
e9fc7823 7279dc3e

+2
+2
arch/arm/kernel/smp.c
··· 93 93 pmd = pmd_offset(pgd + pgd_index(PHYS_OFFSET), PHYS_OFFSET); 94 94 *pmd = __pmd((PHYS_OFFSET & PGDIR_MASK) | 95 95 PMD_TYPE_SECT | PMD_SECT_AP_WRITE); 96 + flush_pmd_entry(pmd); 96 97 97 98 /* 98 99 * We need to tell the secondary core where to find ··· 131 130 secondary_data.pgdir = 0; 132 131 133 132 *pmd = __pmd(0); 133 + clean_pmd_entry(pmd); 134 134 pgd_free(&init_mm, pgd); 135 135 136 136 if (ret) {