]> Git Repo - linux.git/commit
powerpc/8xx: Inconditionally use task PGDIR in DTLB misses
authorChristophe Leroy <[email protected]>
Tue, 20 Aug 2024 17:23:53 +0000 (19:23 +0200)
committerMichael Ellerman <[email protected]>
Fri, 30 Aug 2024 11:29:53 +0000 (21:29 +1000)
commitac9f97ff8b324905d457f2694490c63b9deccbc6
tree78d5609b420fe204977a69bc4cc20ba9e5dd700f
parent33c527522f394f63cc589a6f7af990b2232444c8
powerpc/8xx: Inconditionally use task PGDIR in DTLB misses

At the time being, DATA TLB miss handlers use task PGDIR for user
addresses and swapper_pg_dir for kernel addresses.

Now that kernel part of swapper_pg_dir is copied into task PGDIR
at PGD allocation, it is possible to avoid the above logic and
always use task PGDIR.

But new kernel PGD entries can still be created after init, in
which case those PGD entries may miss in task PGDIR. This can be
handled in DATA TLB error handler.

However, it needs to be done in real mode because the missing
entry might be related to the stack.

So implement copy of missing PGD entry in the prolog of DATA TLB
ERROR handler just after the fixup of DAR.

Note that this is feasible because 8xx doesn't implement vmap or
ioremap with 8Mbytes pages but only 512kbytes pages which are at
PTE level.

Signed-off-by: Christophe Leroy <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
Link: https://msgid.link/7a76a923d2a111f1d843d8b20b4df0c65d2f4a7b.1724173828.git.christophe.leroy@csgroup.eu
arch/powerpc/kernel/head_8xx.S
This page took 0.043983 seconds and 4 git commands to generate.