powerpc/mm: Properly invalidate when setting process table base
authorSuraj Jitindar Singh <sjitindarsingh@gmail.com>
Thu, 3 Aug 2017 04:15:51 +0000 (14:15 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 10 Aug 2017 12:30:03 +0000 (22:30 +1000)
commit7cd2a8695ef9c31e8f51773f0de9e6007d6dc083
treebb70579452a61bd8e771b50e7e7be704a3032979
parentcffb717ceb8e2ca0316e89d908db54af454f1fbb
powerpc/mm: Properly invalidate when setting process table base

The host process table base is stored in the partition table by calling
the function native_register_process_table(). Currently this just sets
the entry in memory and is missing a subsequent cache invalidation
instruction. Any update to the partition table should be followed by a
cache invalidation instruction specifying invalidation of the caching of
any partition table entries (RIC = 2, PRS = 0).

We already have a function to update the partition table with the
required cache invalidation instructions - mmu_partition_table_set_entry().
Update the native_register_process_table() function to call
mmu_partition_table_set_entry(), this ensures all appropriate
invalidation will be performed.

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
[mpe: Use a local for patb0 to clean it up slightly]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/mm/pgtable-radix.c