KVM: PPC: Add generic hpte management functions
authorAlexander Graf <agraf@suse.de>
Wed, 30 Jun 2010 13:18:45 +0000 (15:18 +0200)
committerAvi Kivity <avi@redhat.com>
Sun, 1 Aug 2010 07:47:27 +0000 (10:47 +0300)
commit7741909bf19d9437a6aa3559c0470a640f637dce
tree023e6930fb85730c3f39b6186e19e88412ed037e
parent84754cd8fca66ed476585eabad68cacf42834199
KVM: PPC: Add generic hpte management functions

Currently the shadow paging code keeps an array of entries it knows about.
Whenever the guest invalidates an entry, we loop through that entry,
trying to invalidate matching parts.

While this is a really simple implementation, it is probably the most
ineffective one possible. So instead, let's keep an array of lists around
that are indexed by a hash. This way each PTE can be added by 4 list_add,
removed by 4 list_del invocations and the search only needs to loop through
entries that share the same hash.

This patch implements said lookup and exports generic functions that both
the 32-bit and 64-bit backend can use.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/powerpc/kvm/book3s_mmu_hpte.c [new file with mode: 0644]