diff options
author | Scott Wood <scottwood@freescale.com> | 2013-03-06 16:02:49 +0000 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2013-04-11 15:53:43 +0200 |
commit | 4d2be6f7c75e814ee28b007dbf0c26dfcbbe20a1 (patch) | |
tree | 59bbb188fed8951f6aa7e0ff4d326755aaaa8f1b /arch/arm/include/asm/pgtable-3level.h | |
parent | 66a5fecdccd4f32a22d2d110cf4f002755b520d8 (diff) | |
download | lwn-4d2be6f7c75e814ee28b007dbf0c26dfcbbe20a1.tar.gz lwn-4d2be6f7c75e814ee28b007dbf0c26dfcbbe20a1.zip |
kvm/ppc/e500: eliminate tlb_refs
Commit 523f0e5421c12610527c620b983b443f329e3a32 ("KVM: PPC: E500:
Explicitly mark shadow maps invalid") began using E500_TLB_VALID
for guest TLB1 entries, and skipping invalidations if it's not set.
However, when E500_TLB_VALID was set for such entries, it was on a
fake local ref, and so the invalidations never happen. gtlb_privs
is documented as being only for guest TLB0, though we already violate
that with E500_TLB_BITMAP.
Now that we have MMU notifiers, and thus don't need to actually
retain a reference to the mapped pages, get rid of tlb_refs, and
use gtlb_privs for E500_TLB_VALID in TLB1.
Since we can have more than one host TLB entry for a given tlbe_ref,
be careful not to clear existing flags that are relevant to other
host TLB entries when preparing a new host TLB entry.
Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/arm/include/asm/pgtable-3level.h')
0 files changed, 0 insertions, 0 deletions