]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
arm64: Invalidate the TLB when replacing pmd entries during boot
authorCatalin Marinas <catalin.marinas@arm.com>
Tue, 4 Feb 2014 16:01:31 +0000 (16:01 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Feb 2014 19:10:08 +0000 (11:10 -0800)
commit3c9ddefba1c252df894a0157f792b87d54e17190
treec8d9326433471ca374bc338527a6d6b1cab504cc
parent72be30330388abc41797007c590e8cbccdbecf19
arm64: Invalidate the TLB when replacing pmd entries during boot

commit a55f9929a9b257f84b6cc7b2397379cabd744a22 upstream.

With the 64K page size configuration, __create_page_tables in head.S
maps enough memory to get started but using 64K pages rather than 512M
sections with a single pgd/pud/pmd entry pointing to a pte table.
create_mapping() may override the pgd/pud/pmd table entry with a block
(section) one if the RAM size is more than 512MB and aligned correctly.
For the end of this block to be accessible, the old TLB entry must be
invalidated.

Reported-by: Mark Salter <msalter@redhat.com>
Tested-by: Mark Salter <msalter@redhat.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/mm/mmu.c